SHARE
TWEET

calc!putnum

Souhail_Hammou Dec 22nd, 2013 496 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. calc!putnum+0x102:
  2. 00000000`ff9a279d 8b0dc5080700    mov     ecx,dword ptr [calc!g_nRadix (00000000`ffa13068)]
  3. 00000000`ff9a27a3 8bd1            mov     edx,ecx
  4. 00000000`ff9a27a5 e81e290000      call    calc!longtonum (00000000`ff9a50c8)
  5. 00000000`ff9a27aa 488b1597090700  mov     rdx,qword ptr [calc!num_two (00000000`ffa13148)]
  6. 00000000`ff9a27b1 837a0401        cmp     dword ptr [rdx+4],1
  7. 00000000`ff9a27b5 488be8          mov     rbp,rax
  8. 00000000`ff9a27b8 4889442438      mov     qword ptr [rsp+38h],rax
  9. 00000000`ff9a27bd 7f0a            jg      calc!putnum+0x13c (00000000`ff9a27c9)
  10.  
  11. calc!putnum+0x124:
  12. 00000000`ff9a27bf 837a0c01        cmp     dword ptr [rdx+0Ch],1
  13. 00000000`ff9a27c3 0f84b48c0300    je      calc!putnum+0x12a (00000000`ff9db47d)
  14.  
  15. calc!putnum+0x13c:
  16. 00000000`ff9a27c9 448b0598080700  mov     r8d,dword ptr [calc!g_nRadix (00000000`ffa13068)]
  17. 00000000`ff9a27d0 488d4c2438      lea     rcx,[rsp+38h]
  18. 00000000`ff9a27d5 e8e64b0000      call    calc!_divnum (00000000`ff9a73c0)
  19. 00000000`ff9a27da 488b6c2438      mov     rbp,qword ptr [rsp+38h]
  20. 00000000`ff9a27df 4533d2          xor     r10d,r10d
  21.  
  22. calc!putnum+0x155:
  23. 00000000`ff9a27e2 488b442428      mov     rax,qword ptr [rsp+28h]
  24. 00000000`ff9a27e7 448b059e080700  mov     r8d,dword ptr [calc!g_maxout (00000000`ffa1308c)]
  25. 00000000`ff9a27ee 8b4808          mov     ecx,dword ptr [rax+8]
  26. 00000000`ff9a27f1 2b4d04          sub     ecx,dword ptr [rbp+4]
  27. 00000000`ff9a27f4 034804          add     ecx,dword ptr [rax+4]
  28. 00000000`ff9a27f7 412bc8          sub     ecx,r8d
  29. 00000000`ff9a27fa 894d08          mov     dword ptr [rbp+8],ecx
  30. 00000000`ff9a27fd 488b442428      mov     rax,qword ptr [rsp+28h]
  31. 00000000`ff9a2802 8b08            mov     ecx,dword ptr [rax]
  32. 00000000`ff9a2804 894d00          mov     dword ptr [rbp],ecx
  33.  
  34. calc!putnum+0x17a:
  35. 00000000`ff9a2807 8b8c2488000000  mov     ecx,dword ptr [rsp+88h]
  36. 00000000`ff9a280e e92a310000      jmp     calc!putnum+0x181 (00000000`ff9a593d)
  37.  
  38. calc!putnum+0x354:
  39. 00000000`ff9a28ef 66890b          mov     word ptr [rbx],cx
  40. 00000000`ff9a28f2 4883c302        add     rbx,2
  41. 00000000`ff9a28f6 2bf7            sub     esi,edi
  42. 00000000`ff9a28f8 0f851b310000    jne     calc!putnum+0x36d (00000000`ff9a5a19)
  43.  
  44. calc!putnum+0x35f:
  45. 00000000`ff9a28fe 0fb705cb1e0700  movzx   eax,word ptr [calc!gszDec (00000000`ffa147d0)]
  46. 00000000`ff9a2905 668903          mov     word ptr [rbx],ax
  47. 00000000`ff9a2908 4883c302        add     rbx,2
  48. 00000000`ff9a290c e908310000      jmp     calc!putnum+0x36d (00000000`ff9a5a19)
  49.  
  50. calc!putnum:
  51. 00000000`ff9a5860 488bc4          mov     rax,rsp
  52. 00000000`ff9a5863 44894018        mov     dword ptr [rax+18h],r8d
  53. 00000000`ff9a5867 48895010        mov     qword ptr [rax+10h],rdx
  54. 00000000`ff9a586b 48894808        mov     qword ptr [rax+8],rcx
  55. 00000000`ff9a586f 53              push    rbx
  56. 00000000`ff9a5870 55              push    rbp
  57. 00000000`ff9a5871 56              push    rsi
  58. 00000000`ff9a5872 57              push    rdi
  59. 00000000`ff9a5873 4883ec48        sub     rsp,48h
  60. 00000000`ff9a5877 488b0a          mov     rcx,qword ptr [rdx]
  61. 00000000`ff9a587a 8b150cd80600    mov     edx,dword ptr [calc!g_maxout (00000000`ffa1308c)]
  62. 00000000`ff9a5880 33db            xor     ebx,ebx
  63. 00000000`ff9a5882 83c202          add     edx,2
  64. 00000000`ff9a5885 418bf8          mov     edi,r8d
  65. 00000000`ff9a5888 488beb          mov     rbp,rbx
  66. 00000000`ff9a588b 4489442420      mov     dword ptr [rsp+20h],r8d
  67. 00000000`ff9a5890 488948c0        mov     qword ptr [rax-40h],rcx
  68. 00000000`ff9a5894 e827020000      call    calc!stripzeroesnum (00000000`ff9a5ac0)
  69. 00000000`ff9a5899 488b442428      mov     rax,qword ptr [rsp+28h]
  70. 00000000`ff9a589e 8d5301          lea     edx,[rbx+1]
  71. 00000000`ff9a58a1 8b4804          mov     ecx,dword ptr [rax+4]
  72. 00000000`ff9a58a4 8b4008          mov     eax,dword ptr [rax+8]
  73. 00000000`ff9a58a7 8d3401          lea     esi,[rcx+rax]
  74. 00000000`ff9a58aa 8b05dcd70600    mov     eax,dword ptr [calc!g_maxout (00000000`ffa1308c)]
  75. 00000000`ff9a58b0 3bf0            cmp     esi,eax
  76. 00000000`ff9a58b2 0f8fb2460000    jg      calc!putnum+0x54 (00000000`ff9a9f6a)
  77.  
  78. calc!putnum+0x60:
  79. 00000000`ff9a58b8 3bc8            cmp     ecx,eax
  80. 00000000`ff9a58ba 8d5810          lea     ebx,[rax+10h]
  81. 00000000`ff9a58bd 0f4fc8          cmovg   ecx,eax
  82. 00000000`ff9a58c0 4863d3          movsxd  rdx,ebx
  83. 00000000`ff9a58c3 898c2488000000  mov     dword ptr [rsp+88h],ecx
  84. 00000000`ff9a58ca 8d4eff          lea     ecx,[rsi-1]
  85. 00000000`ff9a58cd 4803d2          add     rdx,rdx
  86. 00000000`ff9a58d0 894c2424        mov     dword ptr [rsp+24h],ecx
  87. 00000000`ff9a58d4 b940000000      mov     ecx,40h
  88. 00000000`ff9a58d9 ff1589cb0500    call    qword ptr [calc!_imp_LocalAlloc (00000000`ffa02468)]
  89. 00000000`ff9a58df 4533d2          xor     r10d,r10d
  90. 00000000`ff9a58e2 488bc8          mov     rcx,rax
  91. 00000000`ff9a58e5 4889442430      mov     qword ptr [rsp+30h],rax
  92. 00000000`ff9a58ea 488b442470      mov     rax,qword ptr [rsp+70h]
  93. 00000000`ff9a58ef 493bc2          cmp     rax,r10
  94. 00000000`ff9a58f2 7402            je      calc!putnum+0x9e (00000000`ff9a58f6)
  95.  
  96. calc!putnum+0x9c:
  97. 00000000`ff9a58f4 8918            mov     dword ptr [rax],ebx
  98.  
  99. calc!putnum+0x9e:
  100. 00000000`ff9a58f6 488bd9          mov     rbx,rcx
  101. 00000000`ff9a58f9 493bca          cmp     rcx,r10
  102. 00000000`ff9a58fc 0f84485b0300    je      calc!putnum+0xa6 (00000000`ff9db44a)
  103.  
  104. calc!putnum+0xc6:
  105. 00000000`ff9a5902 4c8b4c2428      mov     r9,qword ptr [rsp+28h]
  106. 00000000`ff9a5907 498bc9          mov     rcx,r9
  107. 00000000`ff9a590a e821f8ffff      call    calc!zernum (00000000`ff9a5130)
  108. 00000000`ff9a590f 448b0576d70600  mov     r8d,dword ptr [calc!g_maxout (00000000`ffa1308c)]
  109. 00000000`ff9a5916 413bc2          cmp     eax,r10d
  110. 00000000`ff9a5919 0f85e8ceffff    jne     calc!putnum+0x17a (00000000`ff9a2807)
  111.  
  112. calc!putnum+0xe3:
  113. 00000000`ff9a591f 45394104        cmp     dword ptr [r9+4],r8d
  114. 00000000`ff9a5923 0f8d74ceffff    jge     calc!putnum+0x102 (00000000`ff9a279d)
  115.  
  116. calc!putnum+0xe9:
  117. 00000000`ff9a5929 8b8c2488000000  mov     ecx,dword ptr [rsp+88h]
  118. 00000000`ff9a5930 8bc1            mov     eax,ecx
  119. 00000000`ff9a5932 2bc6            sub     eax,esi
  120. 00000000`ff9a5934 413bc0          cmp     eax,r8d
  121. 00000000`ff9a5937 0f8f325b0300    jg      calc!putnum+0xfd (00000000`ff9db46f)
  122.  
  123. calc!putnum+0x181:
  124. 00000000`ff9a593d 413bfa          cmp     edi,r10d
  125. 00000000`ff9a5940 0f8500010000    jne     calc!putnum+0x1d3 (00000000`ff9a5a46)
  126.  
  127. calc!putnum+0x186:
  128. 00000000`ff9a5946 8bc1            mov     eax,ecx
  129. 00000000`ff9a5948 2bc6            sub     eax,esi
  130. 00000000`ff9a594a 413bc0          cmp     eax,r8d
  131. 00000000`ff9a594d 0f8fdf000000    jg      calc!putnum+0x1b3 (00000000`ff9a5a32)
  132.  
  133. calc!putnum+0x18f:
  134. 00000000`ff9a5953 418d4003        lea     eax,[r8+3]
  135. 00000000`ff9a5957 3bf0            cmp     esi,eax
  136. 00000000`ff9a5959 0f8fd3000000    jg      calc!putnum+0x1b3 (00000000`ff9a5a32)
  137.  
  138. calc!putnum+0x197:
  139. 00000000`ff9a595f 8bc6            mov     eax,esi
  140. 00000000`ff9a5961 99              cdq
  141. 00000000`ff9a5962 33c2            xor     eax,edx
  142. 00000000`ff9a5964 2bc2            sub     eax,edx
  143. 00000000`ff9a5966 03c1            add     eax,ecx
  144. 00000000`ff9a5968 413bc0          cmp     eax,r8d
  145. 00000000`ff9a596b 0f8dd5000000    jge     calc!putnum+0x1d3 (00000000`ff9a5a46)
  146.  
  147. calc!putnum+0x1a5:
  148. 00000000`ff9a5971 493bea          cmp     rbp,r10
  149. 00000000`ff9a5974 0f851c5b0300    jne     calc!putnum+0x1ae (00000000`ff9db496)
  150.  
  151. calc!putnum+0x232:
  152. 00000000`ff9a597a 488b4c2428      mov     rcx,qword ptr [rsp+28h]
  153. 00000000`ff9a597f 418bd0          mov     edx,r8d
  154. 00000000`ff9a5982 e839010000      call    calc!stripzeroesnum (00000000`ff9a5ac0)
  155. 00000000`ff9a5987 33d2            xor     edx,edx
  156.  
  157. calc!putnum+0x241:
  158. 00000000`ff9a5989 488b4c2428      mov     rcx,qword ptr [rsp+28h]
  159. 00000000`ff9a598e bf01000000      mov     edi,1
  160. 00000000`ff9a5993 48634104        movsxd  rax,dword ptr [rcx+4]
  161. 00000000`ff9a5997 4c8d5c8108      lea     r11,[rcx+rax*4+8]
  162. 00000000`ff9a599c 8b842480000000  mov     eax,dword ptr [rsp+80h]
  163. 00000000`ff9a59a3 3bc7            cmp     eax,edi
  164. 00000000`ff9a59a5 0f84984d0000    je      calc!putnum+0x26c (00000000`ff9aa743)
  165.  
  166. calc!putnum+0x25f:
  167. 00000000`ff9a59ab 83f802          cmp     eax,2
  168. 00000000`ff9a59ae 0f848f4d0000    je      calc!putnum+0x26c (00000000`ff9aa743)
  169.  
  170. calc!putnum+0x264:
  171. 00000000`ff9a59b4 448bca          mov     r9d,edx
  172. 00000000`ff9a59b7 448bd2          mov     r10d,edx
  173. 00000000`ff9a59ba eb00            jmp     calc!putnum+0x2a9 (00000000`ff9a59bc)
  174.  
  175. calc!putnum+0x2a9:
  176. 00000000`ff9a59bc 8339ff          cmp     dword ptr [rcx],0FFFFFFFFh
  177. 00000000`ff9a59bf 448b842488000000 mov     r8d,dword ptr [rsp+88h]
  178. 00000000`ff9a59c7 b82d000000      mov     eax,2Dh
  179. 00000000`ff9a59cc 488beb          mov     rbp,rbx
  180. 00000000`ff9a59cf 0f84085b0300    je      calc!putnum+0x2be (00000000`ff9db4dd)
  181.  
  182. calc!putnum+0x2ca:
  183. 00000000`ff9a59d5 3bf2            cmp     esi,edx
  184. 00000000`ff9a59d7 b930000000      mov     ecx,30h
  185. 00000000`ff9a59dc 0f8ed7410000    jle     calc!putnum+0x2d3 (00000000`ff9a9bb9)
  186.  
  187. calc!putnum+0x30c:
  188. 00000000`ff9a59e2 443bc2          cmp     r8d,edx
  189. 00000000`ff9a59e5 7e32            jle     calc!putnum+0x36d (00000000`ff9a5a19)
  190.  
  191. calc!putnum+0x311:
  192. 00000000`ff9a59e7 488d0d92f10600  lea     rcx,[calc!digits (00000000`ffa14b80)]
  193.  
  194. calc!putnum+0x318:
  195. 00000000`ff9a59ee 418b03          mov     eax,dword ptr [r11]
  196. 00000000`ff9a59f1 2bf7            sub     esi,edi
  197. 00000000`ff9a59f3 442bc7          sub     r8d,edi
  198. 00000000`ff9a59f6 0fb70441        movzx   eax,word ptr [rcx+rax*2]
  199. 00000000`ff9a59fa 4983eb04        sub     r11,4
  200. 00000000`ff9a59fe 668903          mov     word ptr [rbx],ax
  201. 00000000`ff9a5a01 4883c302        add     rbx,2
  202. 00000000`ff9a5a05 3bf2            cmp     esi,edx
  203. 00000000`ff9a5a07 0f840c060000    je      calc!putnum+0x333 (00000000`ff9a6019)
  204.  
  205. calc!putnum+0x341:
  206. 00000000`ff9a5a0d 443bc2          cmp     r8d,edx
  207. 00000000`ff9a5a10 7fdc            jg      calc!putnum+0x318 (00000000`ff9a59ee)
  208.  
  209. calc!putnum+0x346:
  210. 00000000`ff9a5a12 b930000000      mov     ecx,30h
  211. 00000000`ff9a5a17 eb00            jmp     calc!putnum+0x36d (00000000`ff9a5a19)
  212.  
  213. calc!putnum+0x36d:
  214. 00000000`ff9a5a19 3bf2            cmp     esi,edx
  215. 00000000`ff9a5a1b 0f8fceceffff    jg      calc!putnum+0x354 (00000000`ff9a28ef)
  216.  
  217. calc!putnum+0x371:
  218. 00000000`ff9a5a21 443bca          cmp     r9d,edx
  219. 00000000`ff9a5a24 0f853a4d0000    jne     calc!putnum+0x37a (00000000`ff9aa764)
  220.  
  221. calc!putnum+0x3fd:
  222. 00000000`ff9a5a2a 668913          mov     word ptr [rbx],dx
  223. 00000000`ff9a5a2d 488bc5          mov     rax,rbp
  224. 00000000`ff9a5a30 eb78            jmp     calc!putnum+0x403 (00000000`ff9a5aaa)
  225.  
  226. calc!putnum+0x1b3:
  227. 00000000`ff9a5a32 83fefe          cmp     esi,0FFFFFFFEh
  228. 00000000`ff9a5a35 0f8d635a0300    jge     calc!putnum+0x1b8 (00000000`ff9db49e)
  229.  
  230. calc!putnum+0x1c8:
  231. 00000000`ff9a5a3b c784248000000001000000 mov dword ptr [rsp+80h],1
  232.  
  233. calc!putnum+0x1d3:
  234. 00000000`ff9a5a46 493bea          cmp     rbp,r10
  235. 00000000`ff9a5a49 0f842bffffff    je      calc!putnum+0x232 (00000000`ff9a597a)
  236.  
  237. calc!putnum+0x1d8:
  238. 00000000`ff9a5a4f 488b7c2478      mov     rdi,qword ptr [rsp+78h]
  239. 00000000`ff9a5a54 448b050dd60600  mov     r8d,dword ptr [calc!g_nRadix (00000000`ffa13068)]
  240. 00000000`ff9a5a5b 488bd5          mov     rdx,rbp
  241. 00000000`ff9a5a5e 488bcf          mov     rcx,rdi
  242. 00000000`ff9a5a61 e8ba010000      call    calc!addnum (00000000`ff9a5c20)
  243. 00000000`ff9a5a66 488b0f          mov     rcx,qword ptr [rdi]
  244. 00000000`ff9a5a69 48894c2428      mov     qword ptr [rsp+28h],rcx
  245. 00000000`ff9a5a6e 8b5108          mov     edx,dword ptr [rcx+8]
  246. 00000000`ff9a5a71 2b5508          sub     edx,dword ptr [rbp+8]
  247. 00000000`ff9a5a74 2b5504          sub     edx,dword ptr [rbp+4]
  248. 00000000`ff9a5a77 035104          add     edx,dword ptr [rcx+4]
  249. 00000000`ff9a5a7a e841000000      call    calc!stripzeroesnum (00000000`ff9a5ac0)
  250. 00000000`ff9a5a7f 488bcd          mov     rcx,rbp
  251. 00000000`ff9a5a82 8bf8            mov     edi,eax
  252. 00000000`ff9a5a84 ff15d6c90500    call    qword ptr [calc!_imp_LocalFree (00000000`ffa02460)]
  253. 00000000`ff9a5a8a 33d2            xor     edx,edx
  254. 00000000`ff9a5a8c 3bfa            cmp     edi,edx
  255. 00000000`ff9a5a8e 0f84f5feffff    je      calc!putnum+0x241 (00000000`ff9a5989)
  256.  
  257. calc!putnum+0x219:
  258. 00000000`ff9a5a94 448b442420      mov     r8d,dword ptr [rsp+20h]
  259. 00000000`ff9a5a99 488b4c2470      mov     rcx,qword ptr [rsp+70h]
  260. 00000000`ff9a5a9e 488d542428      lea     rdx,[rsp+28h]
  261. 00000000`ff9a5aa3 e8b8fdffff      call    calc!putnum (00000000`ff9a5860)
  262. 00000000`ff9a5aa8 eb00            jmp     calc!putnum+0x403 (00000000`ff9a5aaa)
  263.  
  264. calc!putnum+0x403:
  265. 00000000`ff9a5aaa 4883c448        add     rsp,48h
  266. 00000000`ff9a5aae 5f              pop     rdi
  267. 00000000`ff9a5aaf 5e              pop     rsi
  268. 00000000`ff9a5ab0 5d              pop     rbp
  269. 00000000`ff9a5ab1 5b              pop     rbx
  270. 00000000`ff9a5ab2 c3              ret
  271.  
  272. calc!putnum+0x333:
  273. 00000000`ff9a6019 0fb705b0e70600  movzx   eax,word ptr [calc!gszDec (00000000`ffa147d0)]
  274. 00000000`ff9a6020 668903          mov     word ptr [rbx],ax
  275. 00000000`ff9a6023 4883c302        add     rbx,2
  276. 00000000`ff9a6027 e9e1f9ffff      jmp     calc!putnum+0x341 (00000000`ff9a5a0d)
  277.  
  278. calc!putnum+0x2d3:
  279. 00000000`ff9a9bb9 443bca          cmp     r9d,edx
  280. 00000000`ff9a9bbc 7512            jne     calc!putnum+0x2ea (00000000`ff9a9bd0)
  281.  
  282. calc!putnum+0x2d8:
  283. 00000000`ff9a9bbe 66890b          mov     word ptr [rbx],cx
  284. 00000000`ff9a9bc1 0fb70508ac0600  movzx   eax,word ptr [calc!gszDec (00000000`ffa147d0)]
  285. 00000000`ff9a9bc8 4883c304        add     rbx,4
  286. 00000000`ff9a9bcc 668943fe        mov     word ptr [rbx-2],ax
  287.  
  288. calc!putnum+0x2ea:
  289. 00000000`ff9a9bd0 3bf2            cmp     esi,edx
  290. 00000000`ff9a9bd2 0f8d0abeffff    jge     calc!putnum+0x30c (00000000`ff9a59e2)
  291.  
  292. calc!putnum+0x2ee:
  293. 00000000`ff9a9bd8 8bd6            mov     edx,esi
  294. 00000000`ff9a9bda 0fb7c1          movzx   eax,cx
  295. 00000000`ff9a9bdd 488bfb          mov     rdi,rbx
  296. 00000000`ff9a9be0 f7da            neg     edx
  297. 00000000`ff9a9be2 488bca          mov     rcx,rdx
  298. 00000000`ff9a9be5 03f2            add     esi,edx
  299. 00000000`ff9a9be7 66f3ab          rep stos word ptr [rdi]
  300. 00000000`ff9a9bea 488d1c53        lea     rbx,[rbx+rdx*2]
  301. 00000000`ff9a9bee 33d2            xor     edx,edx
  302. 00000000`ff9a9bf0 8d7a01          lea     edi,[rdx+1]
  303. 00000000`ff9a9bf3 8d4a30          lea     ecx,[rdx+30h]
  304. 00000000`ff9a9bf6 e9e7bdffff      jmp     calc!putnum+0x30c (00000000`ff9a59e2)
  305.  
  306. calc!putnum+0x54:
  307. 00000000`ff9a9f6a 3bfb            cmp     edi,ebx
  308. 00000000`ff9a9f6c 0f44fa          cmove   edi,edx
  309. 00000000`ff9a9f6f 89bc2480000000  mov     dword ptr [rsp+80h],edi
  310. 00000000`ff9a9f76 e93db9ffff      jmp     calc!putnum+0x60 (00000000`ff9a58b8)
  311.  
  312. calc!putnum+0x26c:
  313. 00000000`ff9aa743 448b542424      mov     r10d,dword ptr [rsp+24h]
  314. 00000000`ff9aa748 448bcf          mov     r9d,edi
  315. 00000000`ff9aa74b 443bd2          cmp     r10d,edx
  316. 00000000`ff9aa74e 0f8468b2ffff    je      calc!putnum+0x2a9 (00000000`ff9a59bc)
  317.  
  318. calc!putnum+0x279:
  319. 00000000`ff9aa754 83f802          cmp     eax,2
  320. 00000000`ff9aa757 0f84540d0300    je      calc!putnum+0x282 (00000000`ff9db4b1)
  321.  
  322. calc!putnum+0x34d:
  323. 00000000`ff9aa75d 8bf7            mov     esi,edi
  324. 00000000`ff9aa75f e958b2ffff      jmp     calc!putnum+0x2a9 (00000000`ff9a59bc)
  325.  
  326. calc!putnum+0x37a:
  327. 00000000`ff9aa764 448b05fd880600  mov     r8d,dword ptr [calc!g_nRadix (00000000`ffa13068)]
  328. 00000000`ff9aa76b b865000000      mov     eax,65h
  329. 00000000`ff9aa770 4183f80a        cmp     r8d,0Ah
  330. 00000000`ff9aa774 0f85780d0300    jne     calc!putnum+0x38c (00000000`ff9db4f2)
  331.  
  332. calc!putnum+0x391:
  333. 00000000`ff9aa77a 668903          mov     word ptr [rbx],ax
  334. 00000000`ff9aa77d 4883c302        add     rbx,2
  335. 00000000`ff9aa781 b92b000000      mov     ecx,2Bh
  336. 00000000`ff9aa786 8d4102          lea     eax,[rcx+2]
  337. 00000000`ff9aa789 443bd2          cmp     r10d,edx
  338. 00000000`ff9aa78c 488d2deda30600  lea     rbp,[calc!digits (00000000`ffa14b80)]
  339. 00000000`ff9aa793 660f4cc8        cmovl   cx,ax
  340. 00000000`ff9aa797 418bc2          mov     eax,r10d
  341. 00000000`ff9aa79a 99              cdq
  342. 00000000`ff9aa79b 66890b          mov     word ptr [rbx],cx
  343. 00000000`ff9aa79e 4883c302        add     rbx,2
  344. 00000000`ff9aa7a2 8bf8            mov     edi,eax
  345. 00000000`ff9aa7a4 33fa            xor     edi,edx
  346. 00000000`ff9aa7a6 2bfa            sub     edi,edx
  347. 00000000`ff9aa7a8 4533c9          xor     r9d,r9d
  348. 00000000`ff9aa7ab 418bc9          mov     ecx,r9d
  349.  
  350. calc!putnum+0x3c5:
  351. 00000000`ff9aa7ae 8bc7            mov     eax,edi
  352. 00000000`ff9aa7b0 ffc1            inc     ecx
  353. 00000000`ff9aa7b2 99              cdq
  354. 00000000`ff9aa7b3 41f7f8          idiv    eax,r8d
  355. 00000000`ff9aa7b6 8bf8            mov     edi,eax
  356. 00000000`ff9aa7b8 4863c2          movsxd  rax,edx
  357. 00000000`ff9aa7bb 0fb7444500      movzx   eax,word ptr [rbp+rax*2]
  358. 00000000`ff9aa7c0 668903          mov     word ptr [rbx],ax
  359. 00000000`ff9aa7c3 4883c302        add     rbx,2
  360. 00000000`ff9aa7c7 413bf9          cmp     edi,r9d
  361. 00000000`ff9aa7ca 7fe2            jg      calc!putnum+0x3c5 (00000000`ff9aa7ae)
  362.  
  363. calc!putnum+0x3e3:
  364. 00000000`ff9aa7cc f7d9            neg     ecx
  365. 00000000`ff9aa7ce 6644890b        mov     word ptr [rbx],r9w
  366. 00000000`ff9aa7d2 4863c1          movsxd  rax,ecx
  367. 00000000`ff9aa7d5 488d0c43        lea     rcx,[rbx+rax*2]
  368. 00000000`ff9aa7d9 ff1551840500    call    qword ptr [calc!_imp__wcsrev (00000000`ffa02c30)]
  369. 00000000`ff9aa7df 488b6c2430      mov     rbp,qword ptr [rsp+30h]
  370. 00000000`ff9aa7e4 33d2            xor     edx,edx
  371. 00000000`ff9aa7e6 e93fb2ffff      jmp     calc!putnum+0x3fd (00000000`ff9a5a2a)
  372.  
  373. calc!putnum+0xa6:
  374. 00000000`ff9db44a 488d15b7ad0200  lea     rdx,[calc!TI1K (00000000`ffa06208)]
  375. 00000000`ff9db451 488d8c2480000000 lea     rcx,[rsp+80h]
  376. 00000000`ff9db459 c784248000000007000080 mov dword ptr [rsp+80h],80000007h
  377. 00000000`ff9db464 e8a31e0200      call    calc!CxxThrowException (00000000`ff9fd30c)
  378. 00000000`ff9db469 cc              int     3
  379. 00000000`ff9db46a e993a4fcff      jmp     calc!putnum+0xc6 (00000000`ff9a5902)
  380.  
  381. calc!putnum+0xfd:
  382. 00000000`ff9db46f 83fefe          cmp     esi,0FFFFFFFEh
  383. 00000000`ff9db472 0f8d2573fcff    jge     calc!putnum+0x102 (00000000`ff9a279d)
  384.  
  385. calc!putnum+0x106:
  386. 00000000`ff9db478 e9c0a4fcff      jmp     calc!putnum+0x181 (00000000`ff9a593d)
  387.  
  388. calc!putnum+0x12a:
  389. 00000000`ff9db47d 4533d2          xor     r10d,r10d
  390. 00000000`ff9db480 44395208        cmp     dword ptr [rdx+8],r10d
  391. 00000000`ff9db484 0f853f73fcff    jne     calc!putnum+0x13c (00000000`ff9a27c9)
  392.  
  393. calc!putnum+0x133:
  394. 00000000`ff9db48a 8b08            mov     ecx,dword ptr [rax]
  395. 00000000`ff9db48c 0faf0a          imul    ecx,dword ptr [rdx]
  396. 00000000`ff9db48f 8908            mov     dword ptr [rax],ecx
  397. 00000000`ff9db491 e94c73fcff      jmp     calc!putnum+0x155 (00000000`ff9a27e2)
  398.  
  399. calc!putnum+0x1ae:
  400. 00000000`ff9db496 297508          sub     dword ptr [rbp+8],esi
  401. 00000000`ff9db499 e9a8a5fcff      jmp     calc!putnum+0x1d3 (00000000`ff9a5a46)
  402.  
  403. calc!putnum+0x1b8:
  404. 00000000`ff9db49e 297508          sub     dword ptr [rbp+8],esi
  405. 00000000`ff9db4a1 418d0430        lea     eax,[r8+rsi]
  406. 00000000`ff9db4a5 89842488000000  mov     dword ptr [rsp+88h],eax
  407. 00000000`ff9db4ac e995a5fcff      jmp     calc!putnum+0x1d3 (00000000`ff9a5a46)
  408.  
  409. calc!putnum+0x282:
  410. 00000000`ff9db4b1 418bf2          mov     esi,r10d
  411. 00000000`ff9db4b4 b856555555      mov     eax,55555556h
  412. 00000000`ff9db4b9 41f7ea          imul    r10d
  413. 00000000`ff9db4bc 8bc2            mov     eax,edx
  414. 00000000`ff9db4be c1e81f          shr     eax,1Fh
  415. 00000000`ff9db4c1 03d0            add     edx,eax
  416. 00000000`ff9db4c3 8d0452          lea     eax,[rdx+rdx*2]
  417. 00000000`ff9db4c6 2bf0            sub     esi,eax
  418. 00000000`ff9db4c8 442bd6          sub     r10d,esi
  419. 00000000`ff9db4cb 03f7            add     esi,edi
  420. 00000000`ff9db4cd 7907            jns     calc!putnum+0x2a7 (00000000`ff9db4d6)
  421.  
  422. calc!putnum+0x2a0:
  423. 00000000`ff9db4cf 83c603          add     esi,3
  424. 00000000`ff9db4d2 4183ea03        sub     r10d,3
  425.  
  426. calc!putnum+0x2a7:
  427. 00000000`ff9db4d6 33d2            xor     edx,edx
  428. 00000000`ff9db4d8 e9dfa4fcff      jmp     calc!putnum+0x2a9 (00000000`ff9a59bc)
  429.  
  430. calc!putnum+0x2be:
  431. 00000000`ff9db4dd 443bc2          cmp     r8d,edx
  432. 00000000`ff9db4e0 0f8eefa4fcff    jle     calc!putnum+0x2ca (00000000`ff9a59d5)
  433.  
  434. calc!putnum+0x2c3:
  435. 00000000`ff9db4e6 668903          mov     word ptr [rbx],ax
  436. 00000000`ff9db4e9 488d5b02        lea     rbx,[rbx+2]
  437. 00000000`ff9db4ed e9e3a4fcff      jmp     calc!putnum+0x2ca (00000000`ff9a59d5)
  438.  
  439. calc!putnum+0x38c:
  440. 00000000`ff9db4f2 b85e000000      mov     eax,5Eh
  441. 00000000`ff9db4f7 e97ef2fcff      jmp     calc!putnum+0x391 (00000000`ff9aa77a)
RAW Paste Data
Top