Advertisement
Guest User

O2_coroutine-win32-disassembly

a guest
Sep 19th, 2013
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.22 KB | None | 0 0
  1. O2_coroutine-win32.o: file format pe-i386
  2.  
  3.  
  4. Disassembly of section .text:
  5.  
  6. 00000000 <_coroutine_trampoline@4>:
  7. 0: 56 push %esi
  8. 1: 53 push %ebx
  9. 2: 83 ec 24 sub $0x24,%esp
  10. 5: 8b 5c 24 30 mov 0x30(%esp),%ebx
  11. 9: a1 00 00 00 00 mov 0x0,%eax
  12. a: dir32 ___stack_chk_guard
  13. e: 89 44 24 1c mov %eax,0x1c(%esp)
  14. 12: 31 c0 xor %eax,%eax
  15. 14: c7 04 24 00 00 00 00 movl $0x0,(%esp)
  16. 17: dir32 .data
  17. 1b: e8 00 00 00 00 call 20 <_coroutine_trampoline@4+0x20>
  18. 1c: DISP32 ___emutls_get_address
  19. 20: 89 c6 mov %eax,%esi
  20. 22: 8d b4 26 00 00 00 00 lea 0x0(%esi,%eiz,1),%esi
  21. 29: 8d bc 27 00 00 00 00 lea 0x0(%edi,%eiz,1),%edi
  22. 30: 8b 53 04 mov 0x4(%ebx),%edx
  23. 33: 89 14 24 mov %edx,(%esp)
  24. 36: ff 13 call *(%ebx)
  25. 38: 8b 53 08 mov 0x8(%ebx),%edx
  26. 3b: 89 16 mov %edx,(%esi)
  27. 3d: c7 42 1c 02 00 00 00 movl $0x2,0x1c(%edx)
  28. 44: 8b 52 18 mov 0x18(%edx),%edx
  29. 47: 89 14 24 mov %edx,(%esp)
  30. 4a: e8 00 00 00 00 call 4f <_coroutine_trampoline@4+0x4f>
  31. 4b: DISP32 _SwitchToFiber@4
  32. 4f: 50 push %eax
  33. 50: eb de jmp 30 <_coroutine_trampoline@4+0x30>
  34. 52: 8d b4 26 00 00 00 00 lea 0x0(%esi,%eiz,1),%esi
  35. 59: 8d bc 27 00 00 00 00 lea 0x0(%edi,%eiz,1),%edi
  36.  
  37. 00000060 <_qemu_coroutine_switch>:
  38. 60: 57 push %edi
  39. 61: 56 push %esi
  40. 62: 53 push %ebx
  41. 63: 83 ec 20 sub $0x20,%esp
  42. 66: 8b 74 24 30 mov 0x30(%esp),%esi
  43. 6a: 8b 5c 24 34 mov 0x34(%esp),%ebx
  44. 6e: 8b 7c 24 38 mov 0x38(%esp),%edi
  45. 72: a1 00 00 00 00 mov 0x0,%eax
  46. 73: dir32 ___stack_chk_guard
  47. 77: 89 44 24 1c mov %eax,0x1c(%esp)
  48. 7b: 31 c0 xor %eax,%eax
  49. 7d: c7 04 24 00 00 00 00 movl $0x0,(%esp)
  50. 80: dir32 .data
  51. 84: e8 00 00 00 00 call 89 <_qemu_coroutine_switch+0x29>
  52. 85: DISP32 ___emutls_get_address
  53. 89: 89 18 mov %ebx,(%eax)
  54. 8b: 89 7b 1c mov %edi,0x1c(%ebx)
  55. 8e: 8b 43 18 mov 0x18(%ebx),%eax
  56. 91: 89 04 24 mov %eax,(%esp)
  57. 94: e8 00 00 00 00 call 99 <_qemu_coroutine_switch+0x39>
  58. 95: DISP32 _SwitchToFiber@4
  59. 99: 52 push %edx
  60. 9a: 8b 46 1c mov 0x1c(%esi),%eax
  61. 9d: 8b 54 24 1c mov 0x1c(%esp),%edx
  62. a1: 33 15 00 00 00 00 xor 0x0,%edx
  63. a3: dir32 ___stack_chk_guard
  64. a7: 75 07 jne b0 <_qemu_coroutine_switch+0x50>
  65. a9: 83 c4 20 add $0x20,%esp
  66. ac: 5b pop %ebx
  67. ad: 5e pop %esi
  68. ae: 5f pop %edi
  69. af: c3 ret
  70. b0: e8 00 00 00 00 call b5 <_qemu_coroutine_switch+0x55>
  71. b1: DISP32 ___stack_chk_fail
  72. b5: 8d 74 26 00 lea 0x0(%esi,%eiz,1),%esi
  73. b9: 8d bc 27 00 00 00 00 lea 0x0(%edi,%eiz,1),%edi
  74.  
  75. 000000c0 <_qemu_coroutine_new>:
  76. c0: 53 push %ebx
  77. c1: 83 ec 28 sub $0x28,%esp
  78. c4: a1 00 00 00 00 mov 0x0,%eax
  79. c5: dir32 ___stack_chk_guard
  80. c9: 89 44 24 1c mov %eax,0x1c(%esp)
  81. cd: 31 c0 xor %eax,%eax
  82. cf: c7 04 24 20 00 00 00 movl $0x20,(%esp)
  83. d6: e8 00 00 00 00 call db <_qemu_coroutine_new+0x1b>
  84. d7: DISP32 _g_malloc0
  85. db: 89 c3 mov %eax,%ebx
  86. dd: 89 44 24 08 mov %eax,0x8(%esp)
  87. e1: c7 44 24 04 00 00 00 movl $0x0,0x4(%esp)
  88. e8: 00
  89. e5: dir32 .text
  90. e9: c7 04 24 00 00 10 00 movl $0x100000,(%esp)
  91. f0: e8 00 00 00 00 call f5 <_qemu_coroutine_new+0x35>
  92. f1: DISP32 _CreateFiber@12
  93. f5: 83 ec 0c sub $0xc,%esp
  94. f8: 89 43 18 mov %eax,0x18(%ebx)
  95. fb: 89 d8 mov %ebx,%eax
  96. fd: 8b 54 24 1c mov 0x1c(%esp),%edx
  97. 101: 33 15 00 00 00 00 xor 0x0,%edx
  98. 103: dir32 ___stack_chk_guard
  99. 107: 75 05 jne 10e <_qemu_coroutine_new+0x4e>
  100. 109: 83 c4 28 add $0x28,%esp
  101. 10c: 5b pop %ebx
  102. 10d: c3 ret
  103. 10e: e8 00 00 00 00 call 113 <_qemu_coroutine_new+0x53>
  104. 10f: DISP32 ___stack_chk_fail
  105. 113: 8d b6 00 00 00 00 lea 0x0(%esi),%esi
  106. 119: 8d bc 27 00 00 00 00 lea 0x0(%edi,%eiz,1),%edi
  107.  
  108. 00000120 <_qemu_coroutine_delete>:
  109. 120: 53 push %ebx
  110. 121: 83 ec 28 sub $0x28,%esp
  111. 124: 8b 5c 24 30 mov 0x30(%esp),%ebx
  112. 128: a1 00 00 00 00 mov 0x0,%eax
  113. 129: dir32 ___stack_chk_guard
  114. 12d: 89 44 24 1c mov %eax,0x1c(%esp)
  115. 131: 31 c0 xor %eax,%eax
  116. 133: 8b 43 18 mov 0x18(%ebx),%eax
  117. 136: 89 04 24 mov %eax,(%esp)
  118. 139: e8 00 00 00 00 call 13e <_qemu_coroutine_delete+0x1e>
  119. 13a: DISP32 _DeleteFiber@4
  120. 13e: 51 push %ecx
  121. 13f: 8b 44 24 1c mov 0x1c(%esp),%eax
  122. 143: 33 05 00 00 00 00 xor 0x0,%eax
  123. 145: dir32 ___stack_chk_guard
  124. 149: 75 0d jne 158 <_qemu_coroutine_delete+0x38>
  125. 14b: 89 5c 24 30 mov %ebx,0x30(%esp)
  126. 14f: 83 c4 28 add $0x28,%esp
  127. 152: 5b pop %ebx
  128. 153: e9 00 00 00 00 jmp 158 <_qemu_coroutine_delete+0x38>
  129. 154: DISP32 _g_free
  130. 158: e8 00 00 00 00 call 15d <_qemu_coroutine_delete+0x3d>
  131. 159: DISP32 ___stack_chk_fail
  132. 15d: 8d 76 00 lea 0x0(%esi),%esi
  133.  
  134. 00000160 <_qemu_coroutine_self>:
  135. 160: 56 push %esi
  136. 161: 53 push %ebx
  137. 162: 83 ec 24 sub $0x24,%esp
  138. 165: a1 00 00 00 00 mov 0x0,%eax
  139. 166: dir32 ___stack_chk_guard
  140. 16a: 89 44 24 1c mov %eax,0x1c(%esp)
  141. 16e: 31 c0 xor %eax,%eax
  142. 170: c7 04 24 00 00 00 00 movl $0x0,(%esp)
  143. 173: dir32 .data
  144. 177: e8 00 00 00 00 call 17c <_qemu_coroutine_self+0x1c>
  145. 178: DISP32 ___emutls_get_address
  146. 17c: 89 c3 mov %eax,%ebx
  147. 17e: 8b 00 mov (%eax),%eax
  148. 180: 85 c0 test %eax,%eax
  149. 182: 74 1c je 1a0 <_qemu_coroutine_self+0x40>
  150. 184: 8b 54 24 1c mov 0x1c(%esp),%edx
  151. 188: 33 15 00 00 00 00 xor 0x0,%edx
  152. 18a: dir32 ___stack_chk_guard
  153. 18e: 75 34 jne 1c4 <_qemu_coroutine_self+0x64>
  154. 190: 83 c4 24 add $0x24,%esp
  155. 193: 5b pop %ebx
  156. 194: 5e pop %esi
  157. 195: c3 ret
  158. 196: 8d 76 00 lea 0x0(%esi),%esi
  159. 199: 8d bc 27 00 00 00 00 lea 0x0(%edi,%eiz,1),%edi
  160. 1a0: c7 04 24 10 00 00 00 movl $0x10,(%esp)
  161. 1a3: dir32 .data
  162. 1a7: e8 00 00 00 00 call 1ac <_qemu_coroutine_self+0x4c>
  163. 1a8: DISP32 ___emutls_get_address
  164. 1ac: 89 c6 mov %eax,%esi
  165. 1ae: 89 03 mov %eax,(%ebx)
  166. 1b0: c7 04 24 00 00 00 00 movl $0x0,(%esp)
  167. 1b7: e8 00 00 00 00 call 1bc <_qemu_coroutine_self+0x5c>
  168. 1b8: DISP32 _ConvertThreadToFiber@4
  169. 1bc: 52 push %edx
  170. 1bd: 89 46 18 mov %eax,0x18(%esi)
  171. 1c0: 8b 03 mov (%ebx),%eax
  172. 1c2: eb c0 jmp 184 <_qemu_coroutine_self+0x24>
  173. 1c4: e8 00 00 00 00 call 1c9 <_qemu_coroutine_self+0x69>
  174. 1c5: DISP32 ___stack_chk_fail
  175. 1c9: 8d b4 26 00 00 00 00 lea 0x0(%esi,%eiz,1),%esi
  176.  
  177. 000001d0 <_qemu_in_coroutine>:
  178. 1d0: 83 ec 2c sub $0x2c,%esp
  179. 1d3: a1 00 00 00 00 mov 0x0,%eax
  180. 1d4: dir32 ___stack_chk_guard
  181. 1d8: 89 44 24 1c mov %eax,0x1c(%esp)
  182. 1dc: 31 c0 xor %eax,%eax
  183. 1de: c7 04 24 00 00 00 00 movl $0x0,(%esp)
  184. 1e1: dir32 .data
  185. 1e5: e8 00 00 00 00 call 1ea <_qemu_in_coroutine+0x1a>
  186. 1e6: DISP32 ___emutls_get_address
  187. 1ea: 8b 00 mov (%eax),%eax
  188. 1ec: 85 c0 test %eax,%eax
  189. 1ee: 74 20 je 210 <_qemu_in_coroutine+0x40>
  190. 1f0: 8b 48 08 mov 0x8(%eax),%ecx
  191. 1f3: 85 c9 test %ecx,%ecx
  192. 1f5: 0f 95 c0 setne %al
  193. 1f8: 8b 54 24 1c mov 0x1c(%esp),%edx
  194. 1fc: 33 15 00 00 00 00 xor 0x0,%edx
  195. 1fe: dir32 ___stack_chk_guard
  196. 202: 75 10 jne 214 <_qemu_in_coroutine+0x44>
  197. 204: 83 c4 2c add $0x2c,%esp
  198. 207: c3 ret
  199. 208: 90 nop
  200. 209: 8d b4 26 00 00 00 00 lea 0x0(%esi,%eiz,1),%esi
  201. 210: 31 c0 xor %eax,%eax
  202. 212: eb e4 jmp 1f8 <_qemu_in_coroutine+0x28>
  203. 214: e8 00 00 00 00 call 219 <_qemu_in_coroutine+0x49>
  204. 215: DISP32 ___stack_chk_fail
  205. 219: 90 nop
  206. 21a: 90 nop
  207. 21b: 90 nop
  208. 21c: 90 nop
  209. 21d: 90 nop
  210. 21e: 90 nop
  211. 21f: 90 nop
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement