Advertisement
Guest User

O1_coroutine-win32-dissassembly

a guest
Sep 19th, 2013
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.83 KB | None | 0 0
  1. O1_coroutine-win32.o: file format pe-i386
  2.  
  3.  
  4. Disassembly of section .text:
  5.  
  6. 00000000 <_qemu_coroutine_switch>:
  7. 0: 57 push %edi
  8. 1: 56 push %esi
  9. 2: 53 push %ebx
  10. 3: 83 ec 20 sub $0x20,%esp
  11. 6: 8b 7c 24 30 mov 0x30(%esp),%edi
  12. a: 8b 5c 24 34 mov 0x34(%esp),%ebx
  13. e: 8b 74 24 38 mov 0x38(%esp),%esi
  14. 12: a1 00 00 00 00 mov 0x0,%eax
  15. 13: dir32 ___stack_chk_guard
  16. 17: 89 44 24 1c mov %eax,0x1c(%esp)
  17. 1b: 31 c0 xor %eax,%eax
  18. 1d: c7 04 24 00 00 00 00 movl $0x0,(%esp)
  19. 20: dir32 .data
  20. 24: e8 00 00 00 00 call 29 <_qemu_coroutine_switch+0x29>
  21. 25: DISP32 ___emutls_get_address
  22. 29: 89 18 mov %ebx,(%eax)
  23. 2b: 89 73 1c mov %esi,0x1c(%ebx)
  24. 2e: 8b 43 18 mov 0x18(%ebx),%eax
  25. 31: 89 04 24 mov %eax,(%esp)
  26. 34: e8 00 00 00 00 call 39 <_qemu_coroutine_switch+0x39>
  27. 35: DISP32 _SwitchToFiber@4
  28. 39: 83 ec 04 sub $0x4,%esp
  29. 3c: 8b 47 1c mov 0x1c(%edi),%eax
  30. 3f: 8b 54 24 1c mov 0x1c(%esp),%edx
  31. 43: 33 15 00 00 00 00 xor 0x0,%edx
  32. 45: dir32 ___stack_chk_guard
  33. 49: 74 05 je 50 <_qemu_coroutine_switch+0x50>
  34. 4b: e8 00 00 00 00 call 50 <_qemu_coroutine_switch+0x50>
  35. 4c: DISP32 ___stack_chk_fail
  36. 50: 83 c4 20 add $0x20,%esp
  37. 53: 5b pop %ebx
  38. 54: 5e pop %esi
  39. 55: 5f pop %edi
  40. 56: c3 ret
  41.  
  42. 00000057 <_coroutine_trampoline@4>:
  43. 57: 53 push %ebx
  44. 58: 83 ec 28 sub $0x28,%esp
  45. 5b: 8b 5c 24 30 mov 0x30(%esp),%ebx
  46. 5f: a1 00 00 00 00 mov 0x0,%eax
  47. 60: dir32 ___stack_chk_guard
  48. 64: 89 44 24 1c mov %eax,0x1c(%esp)
  49. 68: 31 c0 xor %eax,%eax
  50. 6a: 8b 43 04 mov 0x4(%ebx),%eax
  51. 6d: 89 04 24 mov %eax,(%esp)
  52. 70: ff 13 call *(%ebx)
  53. 72: c7 44 24 08 02 00 00 movl $0x2,0x8(%esp)
  54. 79: 00
  55. 7a: 8b 43 08 mov 0x8(%ebx),%eax
  56. 7d: 89 44 24 04 mov %eax,0x4(%esp)
  57. 81: 89 1c 24 mov %ebx,(%esp)
  58. 84: e8 77 ff ff ff call 0 <_qemu_coroutine_switch>
  59. 89: eb df jmp 6a <_coroutine_trampoline@4+0x13>
  60.  
  61. 0000008b <_qemu_coroutine_new>:
  62. 8b: 53 push %ebx
  63. 8c: 83 ec 28 sub $0x28,%esp
  64. 8f: a1 00 00 00 00 mov 0x0,%eax
  65. 90: dir32 ___stack_chk_guard
  66. 94: 89 44 24 1c mov %eax,0x1c(%esp)
  67. 98: 31 c0 xor %eax,%eax
  68. 9a: c7 04 24 20 00 00 00 movl $0x20,(%esp)
  69. a1: e8 00 00 00 00 call a6 <_qemu_coroutine_new+0x1b>
  70. a2: DISP32 _g_malloc0
  71. a6: 89 c3 mov %eax,%ebx
  72. a8: 89 44 24 08 mov %eax,0x8(%esp)
  73. ac: c7 44 24 04 57 00 00 movl $0x57,0x4(%esp)
  74. b3: 00
  75. b0: dir32 .text
  76. b4: c7 04 24 00 00 10 00 movl $0x100000,(%esp)
  77. bb: e8 00 00 00 00 call c0 <_qemu_coroutine_new+0x35>
  78. bc: DISP32 _CreateFiber@12
  79. c0: 83 ec 0c sub $0xc,%esp
  80. c3: 89 43 18 mov %eax,0x18(%ebx)
  81. c6: 89 d8 mov %ebx,%eax
  82. c8: 8b 54 24 1c mov 0x1c(%esp),%edx
  83. cc: 33 15 00 00 00 00 xor 0x0,%edx
  84. ce: dir32 ___stack_chk_guard
  85. d2: 74 05 je d9 <_qemu_coroutine_new+0x4e>
  86. d4: e8 00 00 00 00 call d9 <_qemu_coroutine_new+0x4e>
  87. d5: DISP32 ___stack_chk_fail
  88. d9: 83 c4 28 add $0x28,%esp
  89. dc: 5b pop %ebx
  90. dd: c3 ret
  91.  
  92. 000000de <_qemu_coroutine_delete>:
  93. de: 53 push %ebx
  94. df: 83 ec 28 sub $0x28,%esp
  95. e2: 8b 5c 24 30 mov 0x30(%esp),%ebx
  96. e6: a1 00 00 00 00 mov 0x0,%eax
  97. e7: dir32 ___stack_chk_guard
  98. eb: 89 44 24 1c mov %eax,0x1c(%esp)
  99. ef: 31 c0 xor %eax,%eax
  100. f1: 8b 43 18 mov 0x18(%ebx),%eax
  101. f4: 89 04 24 mov %eax,(%esp)
  102. f7: e8 00 00 00 00 call fc <_qemu_coroutine_delete+0x1e>
  103. f8: DISP32 _DeleteFiber@4
  104. fc: 83 ec 04 sub $0x4,%esp
  105. ff: 89 1c 24 mov %ebx,(%esp)
  106. 102: e8 00 00 00 00 call 107 <_qemu_coroutine_delete+0x29>
  107. 103: DISP32 _g_free
  108. 107: 8b 44 24 1c mov 0x1c(%esp),%eax
  109. 10b: 33 05 00 00 00 00 xor 0x0,%eax
  110. 10d: dir32 ___stack_chk_guard
  111. 111: 74 05 je 118 <_qemu_coroutine_delete+0x3a>
  112. 113: e8 00 00 00 00 call 118 <_qemu_coroutine_delete+0x3a>
  113. 114: DISP32 ___stack_chk_fail
  114. 118: 83 c4 28 add $0x28,%esp
  115. 11b: 5b pop %ebx
  116. 11c: c3 ret
  117.  
  118. 0000011d <_qemu_coroutine_self>:
  119. 11d: 56 push %esi
  120. 11e: 53 push %ebx
  121. 11f: 83 ec 24 sub $0x24,%esp
  122. 122: a1 00 00 00 00 mov 0x0,%eax
  123. 123: dir32 ___stack_chk_guard
  124. 127: 89 44 24 1c mov %eax,0x1c(%esp)
  125. 12b: 31 c0 xor %eax,%eax
  126. 12d: c7 04 24 00 00 00 00 movl $0x0,(%esp)
  127. 130: dir32 .data
  128. 134: e8 00 00 00 00 call 139 <_qemu_coroutine_self+0x1c>
  129. 135: DISP32 ___emutls_get_address
  130. 139: 89 c3 mov %eax,%ebx
  131. 13b: 83 38 00 cmpl $0x0,(%eax)
  132. 13e: 75 22 jne 162 <_qemu_coroutine_self+0x45>
  133. 140: c7 04 24 10 00 00 00 movl $0x10,(%esp)
  134. 143: dir32 .data
  135. 147: e8 00 00 00 00 call 14c <_qemu_coroutine_self+0x2f>
  136. 148: DISP32 ___emutls_get_address
  137. 14c: 89 c6 mov %eax,%esi
  138. 14e: 89 03 mov %eax,(%ebx)
  139. 150: c7 04 24 00 00 00 00 movl $0x0,(%esp)
  140. 157: e8 00 00 00 00 call 15c <_qemu_coroutine_self+0x3f>
  141. 158: DISP32 _ConvertThreadToFiber@4
  142. 15c: 83 ec 04 sub $0x4,%esp
  143. 15f: 89 46 18 mov %eax,0x18(%esi)
  144. 162: 8b 03 mov (%ebx),%eax
  145. 164: 8b 54 24 1c mov 0x1c(%esp),%edx
  146. 168: 33 15 00 00 00 00 xor 0x0,%edx
  147. 16a: dir32 ___stack_chk_guard
  148. 16e: 74 05 je 175 <_qemu_coroutine_self+0x58>
  149. 170: e8 00 00 00 00 call 175 <_qemu_coroutine_self+0x58>
  150. 171: DISP32 ___stack_chk_fail
  151. 175: 83 c4 24 add $0x24,%esp
  152. 178: 5b pop %ebx
  153. 179: 5e pop %esi
  154. 17a: c3 ret
  155.  
  156. 0000017b <_qemu_in_coroutine>:
  157. 17b: 83 ec 2c sub $0x2c,%esp
  158. 17e: a1 00 00 00 00 mov 0x0,%eax
  159. 17f: dir32 ___stack_chk_guard
  160. 183: 89 44 24 1c mov %eax,0x1c(%esp)
  161. 187: 31 c0 xor %eax,%eax
  162. 189: c7 04 24 00 00 00 00 movl $0x0,(%esp)
  163. 18c: dir32 .data
  164. 190: e8 00 00 00 00 call 195 <_qemu_in_coroutine+0x1a>
  165. 191: DISP32 ___emutls_get_address
  166. 195: 8b 00 mov (%eax),%eax
  167. 197: 85 c0 test %eax,%eax
  168. 199: 74 0e je 1a9 <_qemu_in_coroutine+0x2e>
  169. 19b: 83 78 08 00 cmpl $0x0,0x8(%eax)
  170. 19f: 0f 95 c0 setne %al
  171. 1a2: 25 ff 00 00 00 and $0xff,%eax
  172. 1a7: eb 05 jmp 1ae <_qemu_in_coroutine+0x33>
  173. 1a9: b8 00 00 00 00 mov $0x0,%eax
  174. 1ae: 8b 54 24 1c mov 0x1c(%esp),%edx
  175. 1b2: 33 15 00 00 00 00 xor 0x0,%edx
  176. 1b4: dir32 ___stack_chk_guard
  177. 1b8: 74 05 je 1bf <_qemu_in_coroutine+0x44>
  178. 1ba: e8 00 00 00 00 call 1bf <_qemu_in_coroutine+0x44>
  179. 1bb: DISP32 ___stack_chk_fail
  180. 1bf: 83 c4 2c add $0x2c,%esp
  181. 1c2: c3 ret
  182. 1c3: 90 nop
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement