; ; __acrt_fltout from 0x18013e1cc to 0x18013f40a (4670 bytes) ; ; 4 xrefs: ; > sub_180137954 @ 0x180137995 ; > sub_180137D7C @ 0x180137dc0 ; > sub_180137FE0 @ 0x180138200 ; > @ 0x180203b54 ; ; This function is hookable on this platform! ; ; Using BromaIDA 8.0.0 @ https:;github.com/Stazzical/BromaIDA ; Using bindings at commit ba9f177b at Thu Jul 16 22:52:06 2026 from https:;github.com/geode-sdk/bindings ; push rbp ; +0x0, 0x18013e1cc push rbx ; +0x2, 0x18013e1ce push rsi ; +0x3, 0x18013e1cf push rdi ; +0x4, 0x18013e1d0 push r12 ; +0x5, 0x18013e1d1 push r14 ; +0x7, 0x18013e1d3 push r15 ; +0x9, 0x18013e1d5 lea rbp, [rsp-6E0h] ; +0xb, 0x18013e1d7 sub rsp, 7E0h ; +0x13, 0x18013e1df mov rax, cs:__security_cookie ; +0x1a, 0x18013e1e6 xor rax, rsp ; +0x21, 0x18013e1ed mov [rbp+710h+var_40], rax ; +0x24, 0x18013e1f0 mov r14, [rbp+710h+arg_20] ; +0x2b, 0x18013e1f7 mov r12, r9 ; +0x32, 0x18013e1fe mov [rsp+810h+X], rcx ; +0x35, 0x18013e201 mov esi, edx ; +0x3a, 0x18013e206 lea rcx, [rsp+810h+Env]; Env ; +0x3c, 0x18013e208 mov [rsp+810h+var_798], r14 ; +0x41, 0x18013e20d mov [rbp+710h+var_788], r9 ; +0x46, 0x18013e212 mov [rsp+810h+var_79C], r8d ; +0x4a, 0x18013e216 call fegetenv ; +0x4f, 0x18013e21b mov eax, [rsp+810h+Env._Fe_ctl] ; +0x54, 0x18013e220 mov r15d, 1 ; +0x58, 0x18013e224 and eax, 1Fh ; +0x5e, 0x18013e22a cmp al, 1Fh ; +0x61, 0x18013e22d jnz short loc_18013E238 ; +0x63, 0x18013e22f mov [rsp+810h+var_7A8], 0 ; +0x65, 0x18013e231 jmp short loc_18013E247 ; +0x6a, 0x18013e236 lea rcx, [rsp+810h+Env]; Env ; +0x6c, 0x18013e238 call feholdexcept ; +0x71, 0x18013e23d mov [rsp+810h+var_7A8], r15b ; +0x76, 0x18013e242 mov rbx, [rsp+810h+X] ; +0x7b, 0x18013e247 mov edi, 20h ; ' ' ; +0x80, 0x18013e24c mov eax, edi ; +0x85, 0x18013e251 mov [r12+8], r14 ; +0x87, 0x18013e253 test rbx, rbx ; +0x8c, 0x18013e258 lea ecx, [rdi+0Dh] ; +0x8f, 0x18013e25b cmovs eax, ecx ; +0x92, 0x18013e25e xor r8d, r8d; Mask ; +0x95, 0x18013e261 xor edx, edx; NewValue ; +0x98, 0x18013e264 mov [r12], eax ; +0x9a, 0x18013e266 lea rcx, [rsp+810h+CurrentState]; CurrentState ; +0x9e, 0x18013e26a call _controlfp_s ; +0xa3, 0x18013e26f mov rax, rbx ; +0xa8, 0x18013e274 mov r10d, 7FFh ; +0xab, 0x18013e277 shr rax, 34h ; +0xb1, 0x18013e27d mov r9, 0FFFFFFFFFFFFFh ; +0xb5, 0x18013e281 and rax, r10 ; +0xbf, 0x18013e28b jnz short loc_18013E2C8 ; +0xc2, 0x18013e28e test r9, rbx ; +0xc4, 0x18013e290 jz short loc_18013E29F ; +0xc7, 0x18013e293 test [rsp+810h+CurrentState], 1000000h ; +0xc9, 0x18013e295 jz short loc_18013E2C8 ; +0xd1, 0x18013e29d and dword ptr [r12+4], 0 ; +0xd3, 0x18013e29f lea r8, a0 ; +0xd9, 0x18013e2a5 mov rdx, [rbp+710h+SizeInBytes]; SizeInBytes ; +0xe0, 0x18013e2ac mov rcx, r14; Destination ; +0xe7, 0x18013e2b3 call strcpy_s ; +0xea, 0x18013e2b6 test eax, eax ; +0xef, 0x18013e2bb jnz loc_18013F3F4 ; +0xf1, 0x18013e2bd jmp loc_18013F3BF ; +0xf7, 0x18013e2c3 cmp rax, r10 ; +0xfc, 0x18013e2c8 jz short loc_18013E2D1 ; +0xff, 0x18013e2cb xor eax, eax ; +0x101, 0x18013e2cd jmp short loc_18013E30D ; +0x103, 0x18013e2cf mov rax, rbx ; +0x105, 0x18013e2d1 and rax, r9 ; +0x108, 0x18013e2d4 jnz short loc_18013E2DE ; +0x10b, 0x18013e2d7 mov eax, r15d ; +0x10d, 0x18013e2d9 jmp short loc_18013E308 ; +0x110, 0x18013e2dc test rbx, rbx ; +0x112, 0x18013e2de jns short loc_18013E2F9 ; +0x115, 0x18013e2e1 mov rcx, 8000000000000h ; +0x117, 0x18013e2e3 cmp rax, rcx ; +0x121, 0x18013e2ed jnz short loc_18013E2F9 ; +0x124, 0x18013e2f0 mov eax, 4 ; +0x126, 0x18013e2f2 jmp short loc_18013E308 ; +0x12b, 0x18013e2f7 mov rax, rbx ; +0x12d, 0x18013e2f9 shr rax, 33h ; +0x130, 0x18013e2fc not eax ; +0x134, 0x18013e300 and eax, r15d ; +0x136, 0x18013e302 or eax, 2 ; +0x139, 0x18013e305 mov [r12+4], r15d ; +0x13c, 0x18013e308 sub eax, r15d ; +0x141, 0x18013e30d jz loc_18013F3A2 ; +0x144, 0x18013e310 sub eax, r15d ; +0x14a, 0x18013e316 jz loc_18013F396 ; +0x14d, 0x18013e319 sub eax, r15d ; +0x153, 0x18013e31f jz loc_18013F38A ; +0x156, 0x18013e322 cmp eax, r15d ; +0x15c, 0x18013e328 jz loc_18013F37E ; +0x15f, 0x18013e32b mov rax, 7FFFFFFFFFFFFFFFh ; +0x165, 0x18013e331 and rbx, rax ; +0x16f, 0x18013e33b inc esi ; +0x172, 0x18013e33e mov [rsp+810h+X], rbx ; +0x174, 0x18013e340 movsd xmm0, [rsp+810h+X]; X ; +0x179, 0x18013e345 movsd [rsp+810h+var_7C0], xmm0 ; +0x17f, 0x18013e34b mov rdx, [rsp+810h+var_7C0] ; +0x185, 0x18013e351 mov r8, rdx ; +0x18a, 0x18013e356 mov [rsp+810h+var_7B8], esi ; +0x18d, 0x18013e359 shr r8, 34h ; +0x191, 0x18013e35d mov esi, 2 ; +0x195, 0x18013e361 mov rcx, r8 ; +0x19a, 0x18013e366 and rcx, r10 ; +0x19d, 0x18013e369 mov rax, rcx ; +0x1a0, 0x18013e36c neg rax ; +0x1a3, 0x18013e36f mov rax, 10000000000000h ; +0x1a6, 0x18013e372 sbb rbx, rbx ; +0x1b0, 0x18013e37c and rdx, r9 ; +0x1b3, 0x18013e37f and rbx, rax ; +0x1b6, 0x18013e382 add rbx, rdx ; +0x1b9, 0x18013e385 neg rcx ; +0x1bc, 0x18013e388 sbb eax, eax ; +0x1bf, 0x18013e38b and r8d, r10d ; +0x1c1, 0x18013e38d lea r12d, [rsi+rax] ; +0x1c4, 0x18013e390 add r12d, r8d ; +0x1c8, 0x18013e394 call log10 ; +0x1cb, 0x18013e397 call ceil ; +0x1d0, 0x18013e39c cvttsd2si ecx, xmm0 ; +0x1d5, 0x18013e3a1 mov [rbp+710h+Destination], ebx ; +0x1d9, 0x18013e3a5 lea eax, [rcx-7FFFFFFFh] ; +0x1dc, 0x18013e3a8 and eax, 0FFFFFFFEh ; +0x1e2, 0x18013e3ae neg eax ; +0x1e5, 0x18013e3b1 sbb eax, eax ; +0x1e7, 0x18013e3b3 shr rbx, 20h ; +0x1e9, 0x18013e3b5 and eax, ecx ; +0x1ed, 0x18013e3b9 mov [rbp+710h+var_778], ebx ; +0x1ef, 0x18013e3bb mov [rsp+810h+var_7D8], eax ; +0x1f2, 0x18013e3be mov eax, ebx ; +0x1f6, 0x18013e3c2 neg eax ; +0x1f8, 0x18013e3c4 sbb edx, edx ; +0x1fa, 0x18013e3c6 neg edx ; +0x1fc, 0x18013e3c8 add edx, r15d ; +0x1fe, 0x18013e3ca mov [rbp+710h+var_780], edx ; +0x201, 0x18013e3cd cmp r12d, 434h ; +0x204, 0x18013e3d0 jb loc_18013E5F7 ; +0x20b, 0x18013e3d7 xor eax, eax ; +0x211, 0x18013e3dd mov [rbp+710h+var_3D8], 100000h ; +0x213, 0x18013e3df mov [rbp+710h+Source], eax ; +0x21d, 0x18013e3e9 mov [rbp+710h+var_3E0], esi ; +0x223, 0x18013e3ef test ebx, ebx ; +0x229, 0x18013e3f5 jz loc_18013E509 ; +0x22b, 0x18013e3f7 xor r8d, r8d ; +0x231, 0x18013e3fd mov eax, [rbp+r8*4+710h+Destination] ; +0x234, 0x18013e400 cmp [rbp+r8*4+710h+Source], eax ; +0x239, 0x18013e405 jnz loc_18013E509 ; +0x241, 0x18013e40d add r8d, r15d ; +0x247, 0x18013e413 cmp r8d, esi ; +0x24a, 0x18013e416 jnz short loc_18013E400 ; +0x24d, 0x18013e419 and dword ptr [rsp+810h+X], 0 ; +0x24f, 0x18013e41b lea r11d, [r12-432h] ; +0x254, 0x18013e420 mov r8d, r11d ; +0x25c, 0x18013e428 lea eax, [rdx-1] ; +0x25f, 0x18013e42b and r11d, 1Fh ; +0x262, 0x18013e42e shr r8d, 5 ; +0x266, 0x18013e432 mov esi, edi ; +0x26a, 0x18013e436 mov rbx, r15 ; +0x26c, 0x18013e438 sub esi, r11d ; +0x26f, 0x18013e43b mov ecx, esi ; +0x272, 0x18013e43e shl rbx, cl ; +0x274, 0x18013e440 sub ebx, r15d ; +0x277, 0x18013e443 bsr eax, [rbp+rax*4+710h+Destination] ; +0x27a, 0x18013e446 mov r12d, ebx ; +0x27f, 0x18013e44b not r12d ; +0x282, 0x18013e44e jz short loc_18013E457 ; +0x285, 0x18013e451 inc eax ; +0x287, 0x18013e453 jmp short loc_18013E459 ; +0x289, 0x18013e455 xor eax, eax ; +0x28b, 0x18013e457 sub edi, eax ; +0x28d, 0x18013e459 lea eax, [rdx+r8] ; +0x28f, 0x18013e45b cmp eax, 73h ; 's' ; +0x293, 0x18013e45f ja loc_18013E4E9 ; +0x296, 0x18013e462 xor r14d, r14d ; +0x29c, 0x18013e468 cmp r11d, edi ; +0x29f, 0x18013e46b setnbe r14b ; +0x2a2, 0x18013e46e add r14d, edx ; +0x2a6, 0x18013e472 add r14d, r8d ; +0x2a9, 0x18013e475 cmp r14d, 73h ; 's' ; +0x2ac, 0x18013e478 ja short loc_18013E4E9 ; +0x2b0, 0x18013e47c lea edi, [r8-1] ; +0x2b2, 0x18013e47e lea r10d, [r14-1] ; +0x2b6, 0x18013e482 cmp r10d, edi ; +0x2ba, 0x18013e486 jz short loc_18013E4D3 ; +0x2bd, 0x18013e489 mov eax, r10d ; +0x2bf, 0x18013e48b sub eax, r8d ; +0x2c2, 0x18013e48e lea ecx, [rax-1] ; +0x2c5, 0x18013e491 cmp eax, edx ; +0x2c8, 0x18013e494 jnb short loc_18013E49F ; +0x2ca, 0x18013e496 mov r9d, [rbp+rax*4+710h+Destination] ; +0x2cc, 0x18013e498 jmp short loc_18013E4A2 ; +0x2d1, 0x18013e49d xor r9d, r9d ; +0x2d3, 0x18013e49f cmp ecx, edx ; +0x2d6, 0x18013e4a2 jnb short loc_18013E4AC ; +0x2d8, 0x18013e4a4 mov edx, [rbp+rcx*4+710h+Destination] ; +0x2da, 0x18013e4a6 jmp short loc_18013E4AE ; +0x2de, 0x18013e4aa xor edx, edx ; +0x2e0, 0x18013e4ac and edx, r12d ; +0x2e2, 0x18013e4ae mov ecx, esi ; +0x2e5, 0x18013e4b1 shr edx, cl ; +0x2e7, 0x18013e4b3 and r9d, ebx ; +0x2e9, 0x18013e4b5 mov ecx, r11d ; +0x2ec, 0x18013e4b8 shl r9d, cl ; +0x2ef, 0x18013e4bb or edx, r9d ; +0x2f2, 0x18013e4be mov [rbp+r10*4+710h+Destination], edx ; +0x2f5, 0x18013e4c1 dec r10d ; +0x2fa, 0x18013e4c6 cmp r10d, edi ; +0x2fd, 0x18013e4c9 jz short loc_18013E4D3 ; +0x300, 0x18013e4cc mov edx, [rbp+710h+var_780] ; +0x302, 0x18013e4ce jmp short loc_18013E48B ; +0x305, 0x18013e4d1 xor ecx, ecx ; +0x307, 0x18013e4d3 test r8d, r8d ; +0x309, 0x18013e4d5 jz short loc_18013E4EC ; +0x30c, 0x18013e4d8 and [rbp+rcx*4+710h+Destination], 0 ; +0x30e, 0x18013e4da add ecx, r15d ; +0x313, 0x18013e4df cmp ecx, r8d ; +0x316, 0x18013e4e2 jnz short loc_18013E4DA ; +0x319, 0x18013e4e5 jmp short loc_18013E4EC ; +0x31b, 0x18013e4e7 xor r14d, r14d ; +0x31d, 0x18013e4e9 mov [rbp+710h+var_780], r14d ; +0x320, 0x18013e4ec mov r12d, r15d ; +0x324, 0x18013e4f0 mov [rbp+710h+var_5B0], r15d ; +0x327, 0x18013e4f3 mov [rbp+710h+var_5AC], 4 ; +0x32e, 0x18013e4fa jmp loc_18013E822 ; +0x338, 0x18013e504 and dword ptr [rsp+810h+X], 0 ; +0x33d, 0x18013e509 lea r11d, [r12-433h] ; +0x342, 0x18013e50e mov r8d, r11d ; +0x34a, 0x18013e516 lea eax, [rdx-1] ; +0x34d, 0x18013e519 and r11d, 1Fh ; +0x350, 0x18013e51c shr r8d, 5 ; +0x354, 0x18013e520 mov esi, edi ; +0x358, 0x18013e524 mov rbx, r15 ; +0x35a, 0x18013e526 sub esi, r11d ; +0x35d, 0x18013e529 mov ecx, esi ; +0x360, 0x18013e52c shl rbx, cl ; +0x362, 0x18013e52e sub ebx, r15d ; +0x365, 0x18013e531 bsr eax, [rbp+rax*4+710h+Destination] ; +0x368, 0x18013e534 mov r12d, ebx ; +0x36d, 0x18013e539 not r12d ; +0x370, 0x18013e53c jz short loc_18013E545 ; +0x373, 0x18013e53f inc eax ; +0x375, 0x18013e541 jmp short loc_18013E547 ; +0x377, 0x18013e543 xor eax, eax ; +0x379, 0x18013e545 sub edi, eax ; +0x37b, 0x18013e547 lea eax, [rdx+r8] ; +0x37d, 0x18013e549 cmp eax, 73h ; 's' ; +0x381, 0x18013e54d ja loc_18013E5D7 ; +0x384, 0x18013e550 xor r14d, r14d ; +0x38a, 0x18013e556 cmp r11d, edi ; +0x38d, 0x18013e559 setnbe r14b ; +0x390, 0x18013e55c add r14d, edx ; +0x394, 0x18013e560 add r14d, r8d ; +0x397, 0x18013e563 cmp r14d, 73h ; 's' ; +0x39a, 0x18013e566 ja short loc_18013E5D7 ; +0x39e, 0x18013e56a lea edi, [r8-1] ; +0x3a0, 0x18013e56c lea r10d, [r14-1] ; +0x3a4, 0x18013e570 cmp r10d, edi ; +0x3a8, 0x18013e574 jz short loc_18013E5C1 ; +0x3ab, 0x18013e577 mov eax, r10d ; +0x3ad, 0x18013e579 sub eax, r8d ; +0x3b0, 0x18013e57c lea ecx, [rax-1] ; +0x3b3, 0x18013e57f cmp eax, edx ; +0x3b6, 0x18013e582 jnb short loc_18013E58D ; +0x3b8, 0x18013e584 mov r9d, [rbp+rax*4+710h+Destination] ; +0x3ba, 0x18013e586 jmp short loc_18013E590 ; +0x3bf, 0x18013e58b xor r9d, r9d ; +0x3c1, 0x18013e58d cmp ecx, edx ; +0x3c4, 0x18013e590 jnb short loc_18013E59A ; +0x3c6, 0x18013e592 mov edx, [rbp+rcx*4+710h+Destination] ; +0x3c8, 0x18013e594 jmp short loc_18013E59C ; +0x3cc, 0x18013e598 xor edx, edx ; +0x3ce, 0x18013e59a and edx, r12d ; +0x3d0, 0x18013e59c mov ecx, esi ; +0x3d3, 0x18013e59f shr edx, cl ; +0x3d5, 0x18013e5a1 and r9d, ebx ; +0x3d7, 0x18013e5a3 mov ecx, r11d ; +0x3da, 0x18013e5a6 shl r9d, cl ; +0x3dd, 0x18013e5a9 or edx, r9d ; +0x3e0, 0x18013e5ac mov [rbp+r10*4+710h+Destination], edx ; +0x3e3, 0x18013e5af dec r10d ; +0x3e8, 0x18013e5b4 cmp r10d, edi ; +0x3eb, 0x18013e5b7 jz short loc_18013E5C1 ; +0x3ee, 0x18013e5ba mov edx, [rbp+710h+var_780] ; +0x3f0, 0x18013e5bc jmp short loc_18013E579 ; +0x3f3, 0x18013e5bf xor ecx, ecx ; +0x3f5, 0x18013e5c1 test r8d, r8d ; +0x3f7, 0x18013e5c3 jz short loc_18013E5DA ; +0x3fa, 0x18013e5c6 and [rbp+rcx*4+710h+Destination], 0 ; +0x3fc, 0x18013e5c8 add ecx, r15d ; +0x401, 0x18013e5cd cmp ecx, r8d ; +0x404, 0x18013e5d0 jnz short loc_18013E5C8 ; +0x407, 0x18013e5d3 jmp short loc_18013E5DA ; +0x409, 0x18013e5d5 xor r14d, r14d ; +0x40b, 0x18013e5d7 mov [rbp+710h+var_780], r14d ; +0x40e, 0x18013e5da mov r12d, r15d ; +0x412, 0x18013e5de mov [rbp+710h+var_5B0], r15d ; +0x415, 0x18013e5e1 mov [rbp+710h+var_5AC], 2 ; +0x41c, 0x18013e5e8 jmp loc_18013E822 ; +0x426, 0x18013e5f2 cmp r12d, 36h ; '6' ; +0x42b, 0x18013e5f7 jz loc_18013E741 ; +0x42f, 0x18013e5fb xor eax, eax ; +0x435, 0x18013e601 mov [rbp+710h+var_3D8], 100000h ; +0x437, 0x18013e603 mov [rbp+710h+Source], eax ; +0x441, 0x18013e60d mov [rbp+710h+var_3E0], esi ; +0x447, 0x18013e613 test ebx, ebx ; +0x44d, 0x18013e619 jz loc_18013E741 ; +0x44f, 0x18013e61b xor r8d, r8d ; +0x455, 0x18013e621 mov eax, [rbp+r8*4+710h+Destination] ; +0x458, 0x18013e624 cmp [rbp+r8*4+710h+Source], eax ; +0x45d, 0x18013e629 jnz loc_18013E741 ; +0x465, 0x18013e631 add r8d, r15d ; +0x46b, 0x18013e637 cmp r8d, esi ; +0x46e, 0x18013e63a jnz short loc_18013E624 ; +0x471, 0x18013e63d and dword ptr [rsp+810h+X], 0 ; +0x473, 0x18013e63f bsr eax, ebx ; +0x478, 0x18013e644 jz short loc_18013E64D ; +0x47b, 0x18013e647 inc eax ; +0x47d, 0x18013e649 jmp short loc_18013E64F ; +0x47f, 0x18013e64b xor eax, eax ; +0x481, 0x18013e64d xor r14d, r14d ; +0x483, 0x18013e64f sub edi, eax ; +0x486, 0x18013e652 cmp edi, esi ; +0x488, 0x18013e654 setb r14b ; +0x48a, 0x18013e656 or r11d, 0FFFFFFFFh ; +0x48e, 0x18013e65a add r14d, edx ; +0x492, 0x18013e65e cmp r14d, 73h ; 's' ; +0x495, 0x18013e661 jbe loc_18013E6F0 ; +0x499, 0x18013e665 xor r14d, r14d ; +0x49f, 0x18013e66b mov esi, 436h ; +0x4a2, 0x18013e66e mov [rbp+710h+var_780], r14d ; +0x4a7, 0x18013e673 sub esi, r12d ; +0x4ab, 0x18013e677 lea rcx, [rbp+710h+Source]; void * ; +0x4ae, 0x18013e67a mov edi, esi ; +0x4b5, 0x18013e681 xor edx, edx; Val ; +0x4b7, 0x18013e683 shr edi, 5 ; +0x4b9, 0x18013e685 mov ebx, edi ; +0x4bc, 0x18013e688 shl rbx, 2 ; +0x4be, 0x18013e68a mov r8, rbx; Size ; +0x4c2, 0x18013e68e call memset ; +0x4c5, 0x18013e691 and esi, 1Fh ; +0x4ca, 0x18013e696 mov eax, r15d ; +0x4cd, 0x18013e699 mov cl, sil ; +0x4d0, 0x18013e69c shl eax, cl ; +0x4d3, 0x18013e69f mov [rbp+rbx+710h+Source], eax ; +0x4d5, 0x18013e6a1 lea r12d, [rdi+1] ; +0x4dc, 0x18013e6a8 mov r8d, r12d ; +0x4e0, 0x18013e6ac shl r8, 2; Size ; +0x4e3, 0x18013e6af mov [rbp+710h+var_3E0], r12d ; +0x4e7, 0x18013e6b3 mov [rbp+710h+var_5B0], r12d ; +0x4ee, 0x18013e6ba test r8, r8 ; +0x4f5, 0x18013e6c1 jz loc_18013E822 ; +0x4f8, 0x18013e6c4 mov ebx, 1CCh ; +0x4fe, 0x18013e6ca lea rcx, [rbp+710h+var_5AC]; void * ; +0x503, 0x18013e6cf cmp r8, rbx ; +0x50a, 0x18013e6d6 ja loc_18013E801 ; +0x50d, 0x18013e6d9 lea rdx, [rbp+710h+Source]; Src ; +0x513, 0x18013e6df call memmove ; +0x51a, 0x18013e6e6 jmp loc_18013E81B ; +0x51f, 0x18013e6eb lea eax, [r14-1] ; +0x524, 0x18013e6f0 cmp eax, r11d ; +0x528, 0x18013e6f4 jz loc_18013E66E ; +0x52b, 0x18013e6f7 mov r10d, eax ; +0x531, 0x18013e6fd lea r8d, [rax-1] ; +0x534, 0x18013e700 cmp eax, edx ; +0x538, 0x18013e704 jnb short loc_18013E70F ; +0x53a, 0x18013e706 mov r9d, [rbp+r10*4+710h+Destination] ; +0x53c, 0x18013e708 jmp short loc_18013E712 ; +0x541, 0x18013e70d xor r9d, r9d ; +0x543, 0x18013e70f cmp r8d, edx ; +0x546, 0x18013e712 jnb short loc_18013E71E ; +0x549, 0x18013e715 mov ecx, [rbp+r8*4+710h+Destination] ; +0x54b, 0x18013e717 jmp short loc_18013E720 ; +0x550, 0x18013e71c xor ecx, ecx ; +0x552, 0x18013e71e shr ecx, 1Eh ; +0x554, 0x18013e720 mov eax, r9d ; +0x557, 0x18013e723 shl eax, 2 ; +0x55a, 0x18013e726 or ecx, eax ; +0x55d, 0x18013e729 mov eax, r8d ; +0x55f, 0x18013e72b mov [rbp+r10*4+710h+Destination], ecx ; +0x562, 0x18013e72e cmp r8d, r11d ; +0x567, 0x18013e733 jz loc_18013E66E ; +0x56a, 0x18013e736 mov edx, [rbp+710h+var_780] ; +0x570, 0x18013e73c jmp short loc_18013E6FD ; +0x573, 0x18013e73f neg ebx ; +0x575, 0x18013e741 sbb rax, rax ; +0x577, 0x18013e743 and dword ptr [rsp+810h+X], 0 ; +0x57a, 0x18013e746 and eax, 4 ; +0x57f, 0x18013e74b bsr eax, [rbp+rax+710h+Destination] ; +0x582, 0x18013e74e jz short loc_18013E759 ; +0x587, 0x18013e753 inc eax ; +0x589, 0x18013e755 jmp short loc_18013E75B ; +0x58b, 0x18013e757 xor eax, eax ; +0x58d, 0x18013e759 xor r14d, r14d ; +0x58f, 0x18013e75b sub edi, eax ; +0x592, 0x18013e75e cmp edi, r15d ; +0x594, 0x18013e760 setb r14b ; +0x597, 0x18013e763 or r11d, 0FFFFFFFFh ; +0x59b, 0x18013e767 add r14d, edx ; +0x59f, 0x18013e76b cmp r14d, 73h ; 's' ; +0x5a2, 0x18013e76e jbe short loc_18013E7B6 ; +0x5a6, 0x18013e772 xor r14d, r14d ; +0x5a8, 0x18013e774 mov esi, 435h ; +0x5ab, 0x18013e777 mov [rbp+710h+var_780], r14d ; +0x5b0, 0x18013e77c sub esi, r12d ; +0x5b4, 0x18013e780 lea rcx, [rbp+710h+Source]; void * ; +0x5b7, 0x18013e783 mov edi, esi ; +0x5be, 0x18013e78a xor edx, edx; Val ; +0x5c0, 0x18013e78c shr edi, 5 ; +0x5c2, 0x18013e78e mov ebx, edi ; +0x5c5, 0x18013e791 shl rbx, 2 ; +0x5c7, 0x18013e793 mov r8, rbx; Size ; +0x5cb, 0x18013e797 call memset ; +0x5ce, 0x18013e79a and esi, 1Fh ; +0x5d3, 0x18013e79f mov eax, r15d ; +0x5d6, 0x18013e7a2 mov cl, sil ; +0x5d9, 0x18013e7a5 shl eax, cl ; +0x5dc, 0x18013e7a8 mov [rbp+rbx+710h+Source], eax ; +0x5de, 0x18013e7aa jmp loc_18013E6A8 ; +0x5e5, 0x18013e7b1 lea eax, [r14-1] ; +0x5ea, 0x18013e7b6 cmp eax, r11d ; +0x5ee, 0x18013e7ba jz short loc_18013E777 ; +0x5f1, 0x18013e7bd mov r10d, eax ; +0x5f3, 0x18013e7bf lea r8d, [rax-1] ; +0x5f6, 0x18013e7c2 cmp eax, edx ; +0x5fa, 0x18013e7c6 jnb short loc_18013E7D1 ; +0x5fc, 0x18013e7c8 mov r9d, [rbp+r10*4+710h+Destination] ; +0x5fe, 0x18013e7ca jmp short loc_18013E7D4 ; +0x603, 0x18013e7cf xor r9d, r9d ; +0x605, 0x18013e7d1 cmp r8d, edx ; +0x608, 0x18013e7d4 jnb short loc_18013E7E0 ; +0x60b, 0x18013e7d7 mov ecx, [rbp+r8*4+710h+Destination] ; +0x60d, 0x18013e7d9 jmp short loc_18013E7E2 ; +0x612, 0x18013e7de xor ecx, ecx ; +0x614, 0x18013e7e0 shr ecx, 1Fh ; +0x616, 0x18013e7e2 lea eax, [r9+r9] ; +0x619, 0x18013e7e5 or ecx, eax ; +0x61d, 0x18013e7e9 mov eax, r8d ; +0x61f, 0x18013e7eb mov [rbp+r10*4+710h+Destination], ecx ; +0x622, 0x18013e7ee cmp r8d, r11d ; +0x627, 0x18013e7f3 jz loc_18013E777 ; +0x62a, 0x18013e7f6 mov edx, [rbp+710h+var_780] ; +0x630, 0x18013e7fc jmp short loc_18013E7BF ; +0x633, 0x18013e7ff mov r8, rbx; Size ; +0x635, 0x18013e801 xor edx, edx; Val ; +0x638, 0x18013e804 call memset ; +0x63a, 0x18013e806 call _errno ; +0x63f, 0x18013e80b mov dword ptr [rax], 22h ; '"' ; +0x644, 0x18013e810 call _invalid_parameter_noinfo ; +0x64a, 0x18013e816 mov r12d, [rbp+710h+var_5B0] ; +0x64f, 0x18013e81b mov ecx, [rsp+810h+var_7D8] ; +0x656, 0x18013e822 mov eax, 0CCCCCCCDh ; +0x65a, 0x18013e826 test ecx, ecx ; +0x65f, 0x18013e82b js loc_18013ED0D ; +0x661, 0x18013e82d mul ecx ; +0x667, 0x18013e833 mov eax, edx ; +0x669, 0x18013e835 lea rdx, cs:180000000h ; +0x66b, 0x18013e837 shr eax, 3 ; +0x672, 0x18013e83e mov [rsp+810h+var_7C8], eax ; +0x675, 0x18013e841 mov ecx, eax ; +0x679, 0x18013e845 mov [rsp+810h+var_7D0], eax ; +0x67b, 0x18013e847 test eax, eax ; +0x67f, 0x18013e84b jz loc_18013EC1B ; +0x681, 0x18013e84d mov r8d, 26h ; '&' ; +0x687, 0x18013e853 cmp ecx, r8d ; +0x68d, 0x18013e859 mov eax, ecx ; +0x690, 0x18013e85c cmova eax, r8d ; +0x692, 0x18013e85e mov [rsp+810h+var_7CC], eax ; +0x696, 0x18013e862 dec eax ; +0x69a, 0x18013e866 mov edi, eax ; +0x69c, 0x18013e868 movzx ecx, ds:rva byte_18017AF82[rdx+rax*4] ; +0x69e, 0x18013e86a movzx esi, ds:rva byte_18017AF83[rdx+rax*4] ; +0x6a6, 0x18013e872 mov ebx, ecx ; +0x6ae, 0x18013e87a shl rbx, 2 ; +0x6b0, 0x18013e87c xor edx, edx; Val ; +0x6b4, 0x18013e880 mov r8, rbx; Size ; +0x6b6, 0x18013e882 lea eax, [rsi+rcx] ; +0x6b9, 0x18013e885 lea rcx, [rbp+710h+Source]; void * ; +0x6bc, 0x18013e888 mov [rbp+710h+var_3E0], eax ; +0x6c3, 0x18013e88f call memset ; +0x6c9, 0x18013e895 lea rcx, cs:180000000h ; +0x6ce, 0x18013e89a shl rsi, 2 ; +0x6d5, 0x18013e8a1 movzx eax, ds:rva word_18017AF80[rcx+rdi*4] ; +0x6d9, 0x18013e8a5 lea rdx, rva unk_18017A670[rcx] ; +0x6e1, 0x18013e8ad lea rcx, [rbp+710h+Source] ; +0x6e8, 0x18013e8b4 mov r8, rsi; Size ; +0x6ef, 0x18013e8bb add rcx, rbx; void * ; +0x6f2, 0x18013e8be lea rdx, [rdx+rax*4]; Src ; +0x6f5, 0x18013e8c1 call memmove ; +0x6f9, 0x18013e8c5 mov r10d, [rbp+710h+var_3E0] ; +0x6fe, 0x18013e8ca cmp r10d, r15d ; +0x705, 0x18013e8d1 ja loc_18013E974 ; +0x708, 0x18013e8d4 mov eax, [rbp+710h+Source] ; +0x70e, 0x18013e8da test eax, eax ; +0x714, 0x18013e8e0 jnz short loc_18013E8F3 ; +0x716, 0x18013e8e2 xor r12d, r12d ; +0x718, 0x18013e8e4 mov [rbp+710h+var_5B0], r12d ; +0x71b, 0x18013e8e7 jmp loc_18013EBED ; +0x722, 0x18013e8ee cmp eax, r15d ; +0x727, 0x18013e8f3 jz loc_18013EBED ; +0x72a, 0x18013e8f6 test r12d, r12d ; +0x730, 0x18013e8fc jz loc_18013EBED ; +0x733, 0x18013e8ff xor r8d, r8d ; +0x739, 0x18013e905 mov r10, rax ; +0x73c, 0x18013e908 xor r9d, r9d ; +0x73f, 0x18013e90b mov ecx, [rbp+r9*4+710h+var_5AC] ; +0x742, 0x18013e90e mov eax, r8d ; +0x74a, 0x18013e916 imul rcx, r10 ; +0x74d, 0x18013e919 add rcx, rax ; +0x751, 0x18013e91d mov r8, rcx ; +0x754, 0x18013e920 mov [rbp+r9*4+710h+var_5AC], ecx ; +0x757, 0x18013e923 shr r8, 20h ; +0x75f, 0x18013e92b add r9d, r15d ; +0x763, 0x18013e92f cmp r9d, r12d ; +0x766, 0x18013e932 jnz short loc_18013E90E ; +0x769, 0x18013e935 test r8d, r8d ; +0x76b, 0x18013e937 jz loc_18013EBE6 ; +0x76e, 0x18013e93a cmp [rbp+710h+var_5B0], 73h ; 's' ; +0x774, 0x18013e940 jnb short loc_18013E963 ; +0x77b, 0x18013e947 mov eax, [rbp+710h+var_5B0] ; +0x77d, 0x18013e949 mov [rbp+rax*4+710h+var_5AC], r8d ; +0x783, 0x18013e94f mov r12d, [rbp+710h+var_5B0] ; +0x78b, 0x18013e957 add r12d, r15d ; +0x792, 0x18013e95e jmp short loc_18013E8E7 ; +0x795, 0x18013e961 xor r12d, r12d ; +0x797, 0x18013e963 mov [rbp+710h+var_5B0], r12d ; +0x79a, 0x18013e966 xor al, al ; +0x7a1, 0x18013e96d jmp loc_18013EBF0 ; +0x7a3, 0x18013e96f cmp r12d, r15d ; +0x7a8, 0x18013e974 ja loc_18013EA2A ; +0x7ab, 0x18013e977 mov ebx, [rbp+710h+var_5AC] ; +0x7b1, 0x18013e97d mov r8, r10 ; +0x7b7, 0x18013e983 shl r8, 2; Size ; +0x7ba, 0x18013e986 mov r12d, r10d ; +0x7be, 0x18013e98a mov [rbp+710h+var_5B0], r10d ; +0x7c1, 0x18013e98d test r8, r8 ; +0x7c8, 0x18013e994 jz short loc_18013E9D9 ; +0x7cb, 0x18013e997 mov eax, 1CCh ; +0x7cd, 0x18013e999 lea rcx, [rbp+710h+var_5AC]; void * ; +0x7d2, 0x18013e99e cmp r8, rax ; +0x7d9, 0x18013e9a5 ja short loc_18013E9B8 ; +0x7dc, 0x18013e9a8 lea rdx, [rbp+710h+Source]; Src ; +0x7de, 0x18013e9aa call memmove ; +0x7e5, 0x18013e9b1 jmp short loc_18013E9D2 ; +0x7ea, 0x18013e9b6 mov r8, rax; Size ; +0x7ec, 0x18013e9b8 xor edx, edx; Val ; +0x7ef, 0x18013e9bb call memset ; +0x7f1, 0x18013e9bd call _errno ; +0x7f6, 0x18013e9c2 mov dword ptr [rax], 22h ; '"' ; +0x7fb, 0x18013e9c7 call _invalid_parameter_noinfo ; +0x801, 0x18013e9cd mov r12d, [rbp+710h+var_5B0] ; +0x806, 0x18013e9d2 test ebx, ebx ; +0x80d, 0x18013e9d9 jz loc_18013E8E4 ; +0x80f, 0x18013e9db cmp ebx, r15d ; +0x815, 0x18013e9e1 jz loc_18013EBED ; +0x818, 0x18013e9e4 test r12d, r12d ; +0x81e, 0x18013e9ea jz loc_18013EBED ; +0x821, 0x18013e9ed xor r8d, r8d ; +0x827, 0x18013e9f3 mov r10, rbx ; +0x82a, 0x18013e9f6 xor r9d, r9d ; +0x82d, 0x18013e9f9 mov ecx, [rbp+r9*4+710h+var_5AC] ; +0x830, 0x18013e9fc mov eax, r8d ; +0x838, 0x18013ea04 imul rcx, r10 ; +0x83b, 0x18013ea07 add rcx, rax ; +0x83f, 0x18013ea0b mov r8, rcx ; +0x842, 0x18013ea0e mov [rbp+r9*4+710h+var_5AC], ecx ; +0x845, 0x18013ea11 shr r8, 20h ; +0x84d, 0x18013ea19 add r9d, r15d ; +0x851, 0x18013ea1d cmp r9d, r12d ; +0x854, 0x18013ea20 jnz short loc_18013E9FC ; +0x857, 0x18013ea23 jmp loc_18013E937 ; +0x859, 0x18013ea25 cmp r10d, r12d ; +0x85e, 0x18013ea2a lea rdx, [rbp+710h+var_5AC] ; +0x861, 0x18013ea2d mov ebx, r12d ; +0x868, 0x18013ea34 lea rcx, [rbp+710h+Source] ; +0x86b, 0x18013ea37 cmovnb rcx, rdx ; +0x872, 0x18013ea3e lea r8, [rbp+710h+Source] ; +0x876, 0x18013ea42 cmovb ebx, r10d ; +0x87d, 0x18013ea49 mov [rsp+810h+var_7C0], rcx ; +0x881, 0x18013ea4d setb al ; +0x886, 0x18013ea52 mov [rsp+810h+var_7D4], ebx ; +0x889, 0x18013ea55 lea rdx, [rbp+710h+var_5AC] ; +0x88d, 0x18013ea59 cmovnb rdx, r8 ; +0x894, 0x18013ea60 test al, al ; +0x898, 0x18013ea64 mov [rsp+810h+X], rdx ; +0x89a, 0x18013ea66 cmovnz r10d, r12d ; +0x89f, 0x18013ea6b xor r12d, r12d ; +0x8a3, 0x18013ea6f xor r9d, r9d ; +0x8a6, 0x18013ea72 mov [rbp+710h+var_210], r12d ; +0x8a9, 0x18013ea75 test ebx, ebx ; +0x8b0, 0x18013ea7c jz loc_18013EB9A ; +0x8b2, 0x18013ea7e mov esi, [rcx+r9*4] ; +0x8b8, 0x18013ea84 test esi, esi ; +0x8bc, 0x18013ea88 jnz short loc_18013EAAD ; +0x8be, 0x18013ea8a cmp r9d, r12d ; +0x8c0, 0x18013ea8c jnz loc_18013EB8E ; +0x8c3, 0x18013ea8f and [rbp+r9*4+710h+Src], esi ; +0x8c9, 0x18013ea95 lea r12d, [r9+1] ; +0x8d1, 0x18013ea9d mov [rbp+710h+var_210], r12d ; +0x8d5, 0x18013eaa1 jmp loc_18013EB8E ; +0x8dc, 0x18013eaa8 xor r11d, r11d ; +0x8e1, 0x18013eaad mov r8d, r9d ; +0x8e4, 0x18013eab0 test r10d, r10d ; +0x8e7, 0x18013eab3 jz loc_18013EB7A ; +0x8ea, 0x18013eab6 mov ebx, r9d ; +0x8f0, 0x18013eabc neg ebx ; +0x8f3, 0x18013eabf cmp r8d, 73h ; 's' ; +0x8f5, 0x18013eac1 jz short loc_18013EB24 ; +0x8f9, 0x18013eac5 mov edi, r8d ; +0x8fb, 0x18013eac7 cmp r8d, r12d ; +0x8fe, 0x18013eaca jnz short loc_18013EAE1 ; +0x901, 0x18013eacd and [rbp+rdi*4+710h+Src], 0 ; +0x903, 0x18013eacf lea eax, [r8+1] ; +0x90b, 0x18013ead7 mov [rbp+710h+var_210], eax ; +0x90f, 0x18013eadb lea eax, [r8+rbx] ; +0x915, 0x18013eae1 add r8d, r15d ; +0x919, 0x18013eae5 mov edx, [rdx+rax*4] ; +0x91c, 0x18013eae8 mov eax, r11d ; +0x91f, 0x18013eaeb imul rdx, rsi ; +0x922, 0x18013eaee add rdx, rax ; +0x926, 0x18013eaf2 mov eax, [rbp+rdi*4+710h+Src] ; +0x929, 0x18013eaf5 add rdx, rax ; +0x930, 0x18013eafc lea eax, [r8+rbx] ; +0x933, 0x18013eaff mov r11, rdx ; +0x937, 0x18013eb03 mov [rbp+rdi*4+710h+Src], edx ; +0x93a, 0x18013eb06 mov r12d, [rbp+710h+var_210] ; +0x941, 0x18013eb0d shr r11, 20h ; +0x948, 0x18013eb14 cmp eax, r10d ; +0x94c, 0x18013eb18 jz short loc_18013EB24 ; +0x94f, 0x18013eb1b mov rdx, [rsp+810h+X] ; +0x951, 0x18013eb1d jmp short loc_18013EAC1 ; +0x956, 0x18013eb22 test r11d, r11d ; +0x958, 0x18013eb24 jz short loc_18013EB76 ; +0x95b, 0x18013eb27 cmp r8d, 73h ; 's' ; +0x95d, 0x18013eb29 jz loc_18013ED01 ; +0x961, 0x18013eb2d mov edx, r8d ; +0x967, 0x18013eb33 cmp r8d, r12d ; +0x96a, 0x18013eb36 jnz short loc_18013EB4D ; +0x96d, 0x18013eb39 and [rbp+rdx*4+710h+Src], 0 ; +0x96f, 0x18013eb3b lea eax, [r8+1] ; +0x977, 0x18013eb43 mov [rbp+710h+var_210], eax ; +0x97b, 0x18013eb47 mov eax, [rbp+rdx*4+710h+Src] ; +0x981, 0x18013eb4d add r8d, r15d ; +0x988, 0x18013eb54 mov ecx, r11d ; +0x98b, 0x18013eb57 add rcx, rax ; +0x98e, 0x18013eb5a mov [rbp+rdx*4+710h+Src], ecx ; +0x991, 0x18013eb5d mov r12d, [rbp+710h+var_210] ; +0x998, 0x18013eb64 shr rcx, 20h ; +0x99f, 0x18013eb6b mov r11d, ecx ; +0x9a3, 0x18013eb6f test ecx, ecx ; +0x9a6, 0x18013eb72 jnz short loc_18013EB29 ; +0x9a8, 0x18013eb74 mov ebx, [rsp+810h+var_7D4] ; +0x9aa, 0x18013eb76 cmp r8d, 73h ; 's' ; +0x9ae, 0x18013eb7a jz loc_18013ED01 ; +0x9b2, 0x18013eb7e mov rcx, [rsp+810h+var_7C0] ; +0x9b8, 0x18013eb84 mov rdx, [rsp+810h+X] ; +0x9bd, 0x18013eb89 add r9d, r15d ; +0x9c2, 0x18013eb8e cmp r9d, ebx ; +0x9c5, 0x18013eb91 jnz loc_18013EA84 ; +0x9c8, 0x18013eb94 mov r8d, r12d ; +0x9ce, 0x18013eb9a shl r8, 2; Size ; +0x9d1, 0x18013eb9d mov [rbp+710h+var_5B0], r12d ; +0x9d5, 0x18013eba1 test r8, r8 ; +0x9dc, 0x18013eba8 jz short loc_18013EBED ; +0x9df, 0x18013ebab mov eax, 1CCh ; +0x9e1, 0x18013ebad lea rcx, [rbp+710h+var_5AC]; void * ; +0x9e6, 0x18013ebb2 cmp r8, rax ; +0x9ed, 0x18013ebb9 ja short loc_18013EBCC ; +0x9f0, 0x18013ebbc lea rdx, [rbp+710h+Src]; Src ; +0x9f2, 0x18013ebbe call memmove ; +0x9f9, 0x18013ebc5 jmp short loc_18013EBE6 ; +0x9fe, 0x18013ebca mov r8, rax; Size ; +0xa00, 0x18013ebcc xor edx, edx; Val ; +0xa03, 0x18013ebcf call memset ; +0xa05, 0x18013ebd1 call _errno ; +0xa0a, 0x18013ebd6 mov dword ptr [rax], 22h ; '"' ; +0xa0f, 0x18013ebdb call _invalid_parameter_noinfo ; +0xa15, 0x18013ebe1 mov r12d, [rbp+710h+var_5B0] ; +0xa1a, 0x18013ebe6 mov al, r15b ; +0xa21, 0x18013ebed test al, al ; +0xa24, 0x18013ebf0 jz loc_18013ED01 ; +0xa26, 0x18013ebf2 mov ecx, [rsp+810h+var_7D0] ; +0xa2c, 0x18013ebf8 lea rdx, cs:180000000h ; +0xa30, 0x18013ebfc sub ecx, [rsp+810h+var_7CC] ; +0xa37, 0x18013ec03 mov r8d, 26h ; '&' ; +0xa3b, 0x18013ec07 mov [rsp+810h+var_7D0], ecx ; +0xa41, 0x18013ec0d jnz loc_18013E859 ; +0xa45, 0x18013ec11 mov eax, [rsp+810h+var_7C8] ; +0xa4b, 0x18013ec17 mov ecx, [rsp+810h+var_7D8] ; +0xa4f, 0x18013ec1b lea eax, [rax+rax*4] ; +0xa53, 0x18013ec1f add eax, eax ; +0xa56, 0x18013ec22 sub ecx, eax ; +0xa58, 0x18013ec24 jz short loc_18013ECA5 ; +0xa5a, 0x18013ec26 lea eax, [rcx-1] ; +0xa5c, 0x18013ec28 mov eax, ds:rva dword_18017B018[rdx+rax*4] ; +0xa5f, 0x18013ec2b test eax, eax ; +0xa66, 0x18013ec32 jz loc_18013ED01 ; +0xa68, 0x18013ec34 cmp eax, r15d ; +0xa6e, 0x18013ec3a jz short loc_18013ECA5 ; +0xa71, 0x18013ec3d test r12d, r12d ; +0xa73, 0x18013ec3f jz short loc_18013ECA5 ; +0xa76, 0x18013ec42 xor r8d, r8d ; +0xa78, 0x18013ec44 mov r10d, eax ; +0xa7b, 0x18013ec47 xor r9d, r9d ; +0xa7e, 0x18013ec4a mov ecx, [rbp+r9*4+710h+var_5AC] ; +0xa81, 0x18013ec4d mov eax, r8d ; +0xa89, 0x18013ec55 imul rcx, r10 ; +0xa8c, 0x18013ec58 add rcx, rax ; +0xa90, 0x18013ec5c mov r8, rcx ; +0xa93, 0x18013ec5f mov [rbp+r9*4+710h+var_5AC], ecx ; +0xa96, 0x18013ec62 shr r8, 20h ; +0xa9e, 0x18013ec6a add r9d, r15d ; +0xaa2, 0x18013ec6e cmp r9d, r12d ; +0xaa5, 0x18013ec71 jnz short loc_18013EC4D ; +0xaa8, 0x18013ec74 test r8d, r8d ; +0xaaa, 0x18013ec76 jz short loc_18013EC9E ; +0xaad, 0x18013ec79 cmp [rbp+710h+var_5B0], 73h ; 's' ; +0xaaf, 0x18013ec7b jnb short loc_18013ED01 ; +0xab6, 0x18013ec82 mov eax, [rbp+710h+var_5B0] ; +0xab8, 0x18013ec84 mov [rbp+rax*4+710h+var_5AC], r8d ; +0xabe, 0x18013ec8a mov r12d, [rbp+710h+var_5B0] ; +0xac6, 0x18013ec92 add r12d, r15d ; +0xacd, 0x18013ec99 jmp short loc_18013ED04 ; +0xad0, 0x18013ec9c mov r12d, [rbp+710h+var_5B0] ; +0xad2, 0x18013ec9e mov rsi, [rsp+810h+var_798] ; +0xad9, 0x18013eca5 mov rbx, rsi ; +0xade, 0x18013ecaa test r14d, r14d ; +0xae1, 0x18013ecad jz loc_18013F179 ; +0xae4, 0x18013ecb0 xor r8d, r8d ; +0xaea, 0x18013ecb6 xor r9d, r9d ; +0xaed, 0x18013ecb9 mov eax, [rbp+r9*4+710h+Destination] ; +0xaf0, 0x18013ecbc lea rcx, [rax+rax*4] ; +0xaf5, 0x18013ecc1 mov eax, r8d ; +0xaf9, 0x18013ecc5 lea r8, [rax+rcx*2] ; +0xafc, 0x18013ecc8 mov [rbp+r9*4+710h+Destination], r8d ; +0xb00, 0x18013eccc add r9d, r15d ; +0xb05, 0x18013ecd1 shr r8, 20h ; +0xb08, 0x18013ecd4 cmp r9d, r14d ; +0xb0c, 0x18013ecd8 jnz short loc_18013ECBC ; +0xb0f, 0x18013ecdb test r8d, r8d ; +0xb11, 0x18013ecdd jz loc_18013F179 ; +0xb14, 0x18013ece0 cmp [rbp+710h+var_780], 73h ; 's' ; +0xb1a, 0x18013ece6 jnb loc_18013F156 ; +0xb1e, 0x18013ecea mov eax, [rbp+710h+var_780] ; +0xb24, 0x18013ecf0 mov [rbp+rax*4+710h+Destination], r8d ; +0xb27, 0x18013ecf3 add [rbp+710h+var_780], r15d ; +0xb2c, 0x18013ecf8 jmp loc_18013F179 ; +0xb30, 0x18013ecfc xor r12d, r12d ; +0xb35, 0x18013ed01 mov [rbp+710h+var_5B0], r12d ; +0xb38, 0x18013ed04 jmp short loc_18013ECA5 ; +0xb3f, 0x18013ed0b neg ecx ; +0xb41, 0x18013ed0d lea r8, cs:180000000h ; +0xb43, 0x18013ed0f mul ecx ; +0xb4a, 0x18013ed16 mov [rsp+810h+var_7CC], ecx ; +0xb4c, 0x18013ed18 mov eax, edx ; +0xb50, 0x18013ed1c shr eax, 3 ; +0xb52, 0x18013ed1e mov dword ptr [rsp+810h+X], eax ; +0xb55, 0x18013ed21 mov edx, eax ; +0xb59, 0x18013ed25 mov [rsp+810h+var_7D4], eax ; +0xb5b, 0x18013ed27 test eax, eax ; +0xb5f, 0x18013ed2b jz loc_18013F0C2 ; +0xb61, 0x18013ed2d mov ecx, 26h ; '&' ; +0xb67, 0x18013ed33 cmp edx, ecx ; +0xb6c, 0x18013ed38 mov eax, edx ; +0xb6e, 0x18013ed3a cmova eax, ecx ; +0xb70, 0x18013ed3c xor edx, edx; Val ; +0xb73, 0x18013ed3f mov [rsp+810h+var_7C8], eax ; +0xb75, 0x18013ed41 dec eax ; +0xb79, 0x18013ed45 mov edi, eax ; +0xb7b, 0x18013ed47 movzx ecx, ds:rva byte_18017AF82[r8+rax*4] ; +0xb7d, 0x18013ed49 movzx esi, ds:rva byte_18017AF83[r8+rax*4] ; +0xb86, 0x18013ed52 mov ebx, ecx ; +0xb8f, 0x18013ed5b shl rbx, 2 ; +0xb91, 0x18013ed5d mov r8, rbx; Size ; +0xb95, 0x18013ed61 lea eax, [rsi+rcx] ; +0xb98, 0x18013ed64 lea rcx, [rbp+710h+Source]; void * ; +0xb9b, 0x18013ed67 mov [rbp+710h+var_3E0], eax ; +0xba2, 0x18013ed6e call memset ; +0xba8, 0x18013ed74 lea rcx, cs:180000000h ; +0xbad, 0x18013ed79 shl rsi, 2 ; +0xbb4, 0x18013ed80 movzx eax, ds:rva word_18017AF80[rcx+rdi*4] ; +0xbb8, 0x18013ed84 lea rdx, rva unk_18017A670[rcx] ; +0xbc0, 0x18013ed8c lea rcx, [rbp+710h+Source] ; +0xbc7, 0x18013ed93 mov r8, rsi; Size ; +0xbce, 0x18013ed9a add rcx, rbx; void * ; +0xbd1, 0x18013ed9d lea rdx, [rdx+rax*4]; Src ; +0xbd4, 0x18013eda0 call memmove ; +0xbd8, 0x18013eda4 mov r10d, [rbp+710h+var_3E0] ; +0xbdd, 0x18013eda9 cmp r10d, r15d ; +0xbe4, 0x18013edb0 ja loc_18013EE3B ; +0xbe7, 0x18013edb3 mov eax, [rbp+710h+Source] ; +0xbed, 0x18013edb9 test eax, eax ; +0xbf3, 0x18013edbf jnz short loc_18013EDCF ; +0xbf5, 0x18013edc1 xor r14d, r14d ; +0xbf7, 0x18013edc3 mov [rbp+710h+var_780], r14d ; +0xbfa, 0x18013edc6 jmp loc_18013F091 ; +0xbfe, 0x18013edca cmp eax, r15d ; +0xc03, 0x18013edcf jz loc_18013F091 ; +0xc06, 0x18013edd2 test r14d, r14d ; +0xc0c, 0x18013edd8 jz loc_18013F091 ; +0xc0f, 0x18013eddb xor r8d, r8d ; +0xc15, 0x18013ede1 mov r10, rax ; +0xc18, 0x18013ede4 xor r9d, r9d ; +0xc1b, 0x18013ede7 mov ecx, [rbp+r9*4+710h+Destination] ; +0xc1e, 0x18013edea mov eax, r8d ; +0xc23, 0x18013edef imul rcx, r10 ; +0xc26, 0x18013edf2 add rcx, rax ; +0xc2a, 0x18013edf6 mov r8, rcx ; +0xc2d, 0x18013edf9 mov [rbp+r9*4+710h+Destination], ecx ; +0xc30, 0x18013edfc shr r8, 20h ; +0xc35, 0x18013ee01 add r9d, r15d ; +0xc39, 0x18013ee05 cmp r9d, r14d ; +0xc3c, 0x18013ee08 jnz short loc_18013EDEA ; +0xc3f, 0x18013ee0b test r8d, r8d ; +0xc41, 0x18013ee0d jz loc_18013F08D ; +0xc44, 0x18013ee10 cmp [rbp+710h+var_780], 73h ; 's' ; +0xc4a, 0x18013ee16 jnb short loc_18013EE2D ; +0xc4e, 0x18013ee1a mov eax, [rbp+710h+var_780] ; +0xc50, 0x18013ee1c mov [rbp+rax*4+710h+Destination], r8d ; +0xc53, 0x18013ee1f mov r14d, [rbp+710h+var_780] ; +0xc58, 0x18013ee24 add r14d, r15d ; +0xc5c, 0x18013ee28 jmp short loc_18013EDC6 ; +0xc5f, 0x18013ee2b xor r14d, r14d ; +0xc61, 0x18013ee2d mov [rbp+710h+var_780], r14d ; +0xc64, 0x18013ee30 xor al, al ; +0xc68, 0x18013ee34 jmp loc_18013F094 ; +0xc6a, 0x18013ee36 cmp r14d, r15d ; +0xc6f, 0x18013ee3b ja loc_18013EEDF ; +0xc72, 0x18013ee3e mov ebx, [rbp+710h+Destination] ; +0xc78, 0x18013ee44 mov r8, r10 ; +0xc7b, 0x18013ee47 shl r8, 2; Size ; +0xc7e, 0x18013ee4a mov r14d, r10d ; +0xc82, 0x18013ee4e mov [rbp+710h+var_780], r10d ; +0xc85, 0x18013ee51 test r8, r8 ; +0xc89, 0x18013ee55 jz short loc_18013EE94 ; +0xc8c, 0x18013ee58 mov eax, 1CCh ; +0xc8e, 0x18013ee5a lea rcx, [rbp+710h+Destination]; void * ; +0xc93, 0x18013ee5f cmp r8, rax ; +0xc97, 0x18013ee63 ja short loc_18013EE76 ; +0xc9a, 0x18013ee66 lea rdx, [rbp+710h+Source]; Src ; +0xc9c, 0x18013ee68 call memmove ; +0xca3, 0x18013ee6f jmp short loc_18013EE90 ; +0xca8, 0x18013ee74 mov r8, rax; Size ; +0xcaa, 0x18013ee76 xor edx, edx; Val ; +0xcad, 0x18013ee79 call memset ; +0xcaf, 0x18013ee7b call _errno ; +0xcb4, 0x18013ee80 mov dword ptr [rax], 22h ; '"' ; +0xcb9, 0x18013ee85 call _invalid_parameter_noinfo ; +0xcbf, 0x18013ee8b mov r14d, [rbp+710h+var_780] ; +0xcc4, 0x18013ee90 test ebx, ebx ; +0xcc8, 0x18013ee94 jz loc_18013EDC3 ; +0xcca, 0x18013ee96 cmp ebx, r15d ; +0xcd0, 0x18013ee9c jz loc_18013F091 ; +0xcd3, 0x18013ee9f test r14d, r14d ; +0xcd9, 0x18013eea5 jz loc_18013F091 ; +0xcdc, 0x18013eea8 xor r8d, r8d ; +0xce2, 0x18013eeae mov r10, rbx ; +0xce5, 0x18013eeb1 xor r9d, r9d ; +0xce8, 0x18013eeb4 mov ecx, [rbp+r9*4+710h+Destination] ; +0xceb, 0x18013eeb7 mov eax, r8d ; +0xcf0, 0x18013eebc imul rcx, r10 ; +0xcf3, 0x18013eebf add rcx, rax ; +0xcf7, 0x18013eec3 mov r8, rcx ; +0xcfa, 0x18013eec6 mov [rbp+r9*4+710h+Destination], ecx ; +0xcfd, 0x18013eec9 shr r8, 20h ; +0xd02, 0x18013eece add r9d, r15d ; +0xd06, 0x18013eed2 cmp r9d, r14d ; +0xd09, 0x18013eed5 jnz short loc_18013EEB7 ; +0xd0c, 0x18013eed8 jmp loc_18013EE0D ; +0xd0e, 0x18013eeda cmp r10d, r14d ; +0xd13, 0x18013eedf lea rdx, [rbp+710h+Destination] ; +0xd16, 0x18013eee2 mov ebx, r14d ; +0xd1a, 0x18013eee6 lea rcx, [rbp+710h+Source] ; +0xd1d, 0x18013eee9 cmovnb rcx, rdx ; +0xd24, 0x18013eef0 lea r8, [rbp+710h+Source] ; +0xd28, 0x18013eef4 cmovb ebx, r10d ; +0xd2f, 0x18013eefb mov [rbp+710h+var_790], rcx ; +0xd33, 0x18013eeff setb al ; +0xd37, 0x18013ef03 mov [rsp+810h+var_7D0], ebx ; +0xd3a, 0x18013ef06 lea rdx, [rbp+710h+Destination] ; +0xd3e, 0x18013ef0a cmovnb rdx, r8 ; +0xd42, 0x18013ef0e test al, al ; +0xd46, 0x18013ef12 mov [rsp+810h+var_7C0], rdx ; +0xd48, 0x18013ef14 cmovnz r10d, r14d ; +0xd4d, 0x18013ef19 xor r14d, r14d ; +0xd51, 0x18013ef1d xor r9d, r9d ; +0xd54, 0x18013ef20 mov [rbp+710h+var_210], r14d ; +0xd57, 0x18013ef23 test ebx, ebx ; +0xd5e, 0x18013ef2a jz loc_18013F047 ; +0xd60, 0x18013ef2c mov esi, [rcx+r9*4] ; +0xd66, 0x18013ef32 test esi, esi ; +0xd6a, 0x18013ef36 jnz short loc_18013EF5B ; +0xd6c, 0x18013ef38 cmp r9d, r14d ; +0xd6e, 0x18013ef3a jnz loc_18013F03B ; +0xd71, 0x18013ef3d and [rbp+r9*4+710h+Src], esi ; +0xd77, 0x18013ef43 lea r14d, [r9+1] ; +0xd7f, 0x18013ef4b mov [rbp+710h+var_210], r14d ; +0xd83, 0x18013ef4f jmp loc_18013F03B ; +0xd8a, 0x18013ef56 xor r11d, r11d ; +0xd8f, 0x18013ef5b mov r8d, r9d ; +0xd92, 0x18013ef5e test r10d, r10d ; +0xd95, 0x18013ef61 jz loc_18013F028 ; +0xd98, 0x18013ef64 mov ebx, r9d ; +0xd9e, 0x18013ef6a neg ebx ; +0xda1, 0x18013ef6d cmp r8d, 73h ; 's' ; +0xda3, 0x18013ef6f jz short loc_18013EFD2 ; +0xda7, 0x18013ef73 mov edi, r8d ; +0xda9, 0x18013ef75 cmp r8d, r14d ; +0xdac, 0x18013ef78 jnz short loc_18013EF8F ; +0xdaf, 0x18013ef7b and [rbp+rdi*4+710h+Src], 0 ; +0xdb1, 0x18013ef7d lea eax, [r8+1] ; +0xdb9, 0x18013ef85 mov [rbp+710h+var_210], eax ; +0xdbd, 0x18013ef89 lea eax, [rbx+r8] ; +0xdc3, 0x18013ef8f add r8d, r15d ; +0xdc7, 0x18013ef93 mov edx, [rdx+rax*4] ; +0xdca, 0x18013ef96 mov eax, [rbp+rdi*4+710h+Src] ; +0xdcd, 0x18013ef99 imul rdx, rsi ; +0xdd4, 0x18013efa0 add rdx, rax ; +0xdd8, 0x18013efa4 mov eax, r11d ; +0xddb, 0x18013efa7 add rdx, rax ; +0xdde, 0x18013efaa lea eax, [rbx+r8] ; +0xde1, 0x18013efad mov r11, rdx ; +0xde5, 0x18013efb1 mov [rbp+rdi*4+710h+Src], edx ; +0xde8, 0x18013efb4 mov r14d, [rbp+710h+var_210] ; +0xdef, 0x18013efbb shr r11, 20h ; +0xdf6, 0x18013efc2 cmp eax, r10d ; +0xdfa, 0x18013efc6 jz short loc_18013EFD2 ; +0xdfd, 0x18013efc9 mov rdx, [rsp+810h+var_7C0] ; +0xdff, 0x18013efcb jmp short loc_18013EF6F ; +0xe04, 0x18013efd0 test r11d, r11d ; +0xe06, 0x18013efd2 jz short loc_18013F024 ; +0xe09, 0x18013efd5 cmp r8d, 73h ; 's' ; +0xe0b, 0x18013efd7 jz loc_18013F148 ; +0xe0f, 0x18013efdb mov edx, r8d ; +0xe15, 0x18013efe1 cmp r8d, r14d ; +0xe18, 0x18013efe4 jnz short loc_18013EFFB ; +0xe1b, 0x18013efe7 and [rbp+rdx*4+710h+Src], 0 ; +0xe1d, 0x18013efe9 lea eax, [r8+1] ; +0xe25, 0x18013eff1 mov [rbp+710h+var_210], eax ; +0xe29, 0x18013eff5 mov ecx, [rbp+rdx*4+710h+Src] ; +0xe2f, 0x18013effb add r8d, r15d ; +0xe36, 0x18013f002 mov eax, r11d ; +0xe39, 0x18013f005 add rcx, rax ; +0xe3c, 0x18013f008 mov [rbp+rdx*4+710h+Src], ecx ; +0xe3f, 0x18013f00b mov r14d, [rbp+710h+var_210] ; +0xe46, 0x18013f012 shr rcx, 20h ; +0xe4d, 0x18013f019 mov r11d, ecx ; +0xe51, 0x18013f01d test ecx, ecx ; +0xe54, 0x18013f020 jnz short loc_18013EFD7 ; +0xe56, 0x18013f022 mov ebx, [rsp+810h+var_7D0] ; +0xe58, 0x18013f024 cmp r8d, 73h ; 's' ; +0xe5c, 0x18013f028 jz loc_18013F148 ; +0xe60, 0x18013f02c mov rcx, [rbp+710h+var_790] ; +0xe66, 0x18013f032 mov rdx, [rsp+810h+var_7C0] ; +0xe6a, 0x18013f036 add r9d, r15d ; +0xe6f, 0x18013f03b cmp r9d, ebx ; +0xe72, 0x18013f03e jnz loc_18013EF32 ; +0xe75, 0x18013f041 mov r8d, r14d ; +0xe7b, 0x18013f047 shl r8, 2; Size ; +0xe7e, 0x18013f04a mov [rbp+710h+var_780], r14d ; +0xe82, 0x18013f04e test r8, r8 ; +0xe86, 0x18013f052 jz short loc_18013F091 ; +0xe89, 0x18013f055 mov eax, 1CCh ; +0xe8b, 0x18013f057 lea rcx, [rbp+710h+Destination]; void * ; +0xe90, 0x18013f05c cmp r8, rax ; +0xe94, 0x18013f060 ja short loc_18013F073 ; +0xe97, 0x18013f063 lea rdx, [rbp+710h+Src]; Src ; +0xe99, 0x18013f065 call memmove ; +0xea0, 0x18013f06c jmp short loc_18013F08D ; +0xea5, 0x18013f071 mov r8, rax; Size ; +0xea7, 0x18013f073 xor edx, edx; Val ; +0xeaa, 0x18013f076 call memset ; +0xeac, 0x18013f078 call _errno ; +0xeb1, 0x18013f07d mov dword ptr [rax], 22h ; '"' ; +0xeb6, 0x18013f082 call _invalid_parameter_noinfo ; +0xebc, 0x18013f088 mov r14d, [rbp+710h+var_780] ; +0xec1, 0x18013f08d mov al, r15b ; +0xec5, 0x18013f091 test al, al ; +0xec8, 0x18013f094 jz loc_18013F148 ; +0xeca, 0x18013f096 mov edx, [rsp+810h+var_7D4] ; +0xed0, 0x18013f09c lea r8, cs:180000000h ; +0xed4, 0x18013f0a0 sub edx, [rsp+810h+var_7C8] ; +0xedb, 0x18013f0a7 mov ecx, 26h ; '&' ; +0xedf, 0x18013f0ab mov [rsp+810h+var_7D4], edx ; +0xee4, 0x18013f0b0 jnz loc_18013ED38 ; +0xee8, 0x18013f0b4 mov ecx, [rsp+810h+var_7CC] ; +0xeee, 0x18013f0ba mov eax, dword ptr [rsp+810h+X] ; +0xef2, 0x18013f0be lea eax, [rax+rax*4] ; +0xef6, 0x18013f0c2 add eax, eax ; +0xef9, 0x18013f0c5 sub ecx, eax ; +0xefb, 0x18013f0c7 jz loc_18013ECA5 ; +0xefd, 0x18013f0c9 lea eax, [rcx-1] ; +0xf03, 0x18013f0cf mov eax, ds:rva dword_18017B018[r8+rax*4] ; +0xf06, 0x18013f0d2 test eax, eax ; +0xf0e, 0x18013f0da jz short loc_18013F148 ; +0xf10, 0x18013f0dc cmp eax, r15d ; +0xf12, 0x18013f0de jz loc_18013ECA5 ; +0xf15, 0x18013f0e1 test r14d, r14d ; +0xf1b, 0x18013f0e7 jz loc_18013ECA5 ; +0xf1e, 0x18013f0ea xor r8d, r8d ; +0xf24, 0x18013f0f0 mov r10d, eax ; +0xf27, 0x18013f0f3 xor r9d, r9d ; +0xf2a, 0x18013f0f6 mov ecx, [rbp+r9*4+710h+Destination] ; +0xf2d, 0x18013f0f9 mov eax, r8d ; +0xf32, 0x18013f0fe imul rcx, r10 ; +0xf35, 0x18013f101 add rcx, rax ; +0xf39, 0x18013f105 mov r8, rcx ; +0xf3c, 0x18013f108 mov [rbp+r9*4+710h+Destination], ecx ; +0xf3f, 0x18013f10b shr r8, 20h ; +0xf44, 0x18013f110 add r9d, r15d ; +0xf48, 0x18013f114 cmp r9d, r14d ; +0xf4b, 0x18013f117 jnz short loc_18013F0F9 ; +0xf4e, 0x18013f11a test r8d, r8d ; +0xf50, 0x18013f11c jz short loc_18013F13F ; +0xf53, 0x18013f11f cmp [rbp+710h+var_780], 73h ; 's' ; +0xf55, 0x18013f121 jnb short loc_18013F148 ; +0xf59, 0x18013f125 mov eax, [rbp+710h+var_780] ; +0xf5b, 0x18013f127 mov [rbp+rax*4+710h+Destination], r8d ; +0xf5e, 0x18013f12a mov r14d, [rbp+710h+var_780] ; +0xf63, 0x18013f12f add r14d, r15d ; +0xf67, 0x18013f133 mov [rbp+710h+var_780], r14d ; +0xf6a, 0x18013f136 jmp loc_18013ECA5 ; +0xf6e, 0x18013f13a mov r14d, [rbp+710h+var_780] ; +0xf73, 0x18013f13f jmp loc_18013ECA5 ; +0xf77, 0x18013f143 mov rsi, [rsp+810h+var_798] ; +0xf7c, 0x18013f148 and [rbp+710h+var_780], 0 ; +0xf81, 0x18013f14d mov rbx, rsi ; +0xf85, 0x18013f151 jmp short loc_18013F179 ; +0xf88, 0x18013f154 and [rbp+710h+var_3E0], 0 ; +0xf8a, 0x18013f156 lea r8, [rbp+710h+Source]; Source ; +0xf91, 0x18013f15d and [rbp+710h+var_780], 0 ; +0xf98, 0x18013f164 lea rcx, [rbp+710h+Destination]; Destination ; +0xf9c, 0x18013f168 xor r9d, r9d; SourceSize ; +0xfa0, 0x18013f16c mov edx, 1CCh; DestinationSize ; +0xfa3, 0x18013f16f call memcpy_s ; +0xfa8, 0x18013f174 lea rdx, [rbp+710h+var_5B0]; struct __crt_strtox::big_integer * ; +0xfad, 0x18013f179 lea rcx, [rbp+710h+var_780]; this ; +0xfb4, 0x18013f180 call ?divide@__crt_strtox@@YA_KAEAUbig_integer@1@AEBU21@@Z ; +0xfb8, 0x18013f184 mov edi, [rsp+810h+var_7D8] ; +0xfbd, 0x18013f189 cmp eax, 0Ah ; +0xfc1, 0x18013f18d jnz loc_18013F226 ; +0xfc4, 0x18013f190 add edi, r15d ; +0xfca, 0x18013f196 mov byte ptr [rsi], 31h ; '1' ; +0xfcd, 0x18013f199 lea rbx, [rsi+1] ; +0xfd0, 0x18013f19c test r12d, r12d ; +0xfd4, 0x18013f1a0 jz loc_18013F237 ; +0xfd7, 0x18013f1a3 xor r8d, r8d ; +0xfdd, 0x18013f1a9 xor r9d, r9d ; +0xfe0, 0x18013f1ac mov eax, [rbp+r9*4+710h+var_5AC] ; +0xfe3, 0x18013f1af lea rcx, [rax+rax*4] ; +0xfeb, 0x18013f1b7 mov eax, r8d ; +0xfef, 0x18013f1bb lea r8, [rax+rcx*2] ; +0xff2, 0x18013f1be mov [rbp+r9*4+710h+var_5AC], r8d ; +0xff6, 0x18013f1c2 add r9d, r15d ; +0xffe, 0x18013f1ca shr r8, 20h ; +0x1001, 0x18013f1cd cmp r9d, r12d ; +0x1005, 0x18013f1d1 jnz short loc_18013F1AF ; +0x1008, 0x18013f1d4 test r8d, r8d ; +0x100a, 0x18013f1d6 jz short loc_18013F237 ; +0x100d, 0x18013f1d9 cmp [rbp+710h+var_5B0], 73h ; 's' ; +0x100f, 0x18013f1db jnb short loc_18013F1FB ; +0x1016, 0x18013f1e2 mov eax, [rbp+710h+var_5B0] ; +0x1018, 0x18013f1e4 mov [rbp+rax*4+710h+var_5AC], r8d ; +0x101e, 0x18013f1ea add [rbp+710h+var_5B0], r15d ; +0x1026, 0x18013f1f2 jmp short loc_18013F237 ; +0x102d, 0x18013f1f9 and [rbp+710h+var_3E0], 0 ; +0x102f, 0x18013f1fb lea r8, [rbp+710h+Source]; Source ; +0x1036, 0x18013f202 and [rbp+710h+var_5B0], 0 ; +0x103d, 0x18013f209 lea rcx, [rbp+710h+var_5AC]; Destination ; +0x1044, 0x18013f210 xor r9d, r9d; SourceSize ; +0x104b, 0x18013f217 mov edx, 1CCh; DestinationSize ; +0x104e, 0x18013f21a call memcpy_s ; +0x1053, 0x18013f21f jmp short loc_18013F237 ; +0x1058, 0x18013f224 test eax, eax ; +0x105a, 0x18013f226 jnz short loc_18013F22F ; +0x105c, 0x18013f228 sub edi, r15d ; +0x105e, 0x18013f22a jmp short loc_18013F237 ; +0x1061, 0x18013f22d add al, 30h ; '0' ; +0x1063, 0x18013f22f lea rbx, [rsi+1] ; +0x1065, 0x18013f231 mov [rsi], al ; +0x1069, 0x18013f235 mov rax, [rbp+710h+var_788] ; +0x106b, 0x18013f237 mov ecx, [rsp+810h+var_7B8] ; +0x106f, 0x18013f23b mov [rax+4], edi ; +0x1073, 0x18013f23f test edi, edi ; +0x1076, 0x18013f242 js short loc_18013F257 ; +0x1078, 0x18013f244 cmp ecx, 7FFFFFFFh ; +0x107a, 0x18013f246 ja short loc_18013F257 ; +0x1080, 0x18013f24c cmp [rsp+810h+var_79C], 0 ; +0x1082, 0x18013f24e jnz short loc_18013F257 ; +0x1087, 0x18013f253 add ecx, edi ; +0x1089, 0x18013f255 mov rax, [rbp+710h+SizeInBytes] ; +0x108b, 0x18013f257 dec rax ; +0x1092, 0x18013f25e mov edi, ecx ; +0x1095, 0x18013f261 cmp rax, rdi ; +0x1097, 0x18013f263 cmovb rdi, rax ; +0x109a, 0x18013f266 add rdi, rsi ; +0x109e, 0x18013f26a xor sil, sil ; +0x10a1, 0x18013f26d cmp rbx, rdi ; +0x10a4, 0x18013f270 jz loc_18013F36B ; +0x10a7, 0x18013f273 mov r14d, 9 ; +0x10ad, 0x18013f279 mov r9d, [rbp+710h+var_780] ; +0x10b3, 0x18013f27f test r9d, r9d ; +0x10b7, 0x18013f283 jz loc_18013F36F ; +0x10ba, 0x18013f286 xor r8d, r8d ; +0x10c0, 0x18013f28c xor r10d, r10d ; +0x10c3, 0x18013f28f mov eax, [rbp+r10*4+710h+Destination] ; +0x10c6, 0x18013f292 imul rcx, rax, 3B9ACA00h ; +0x10cb, 0x18013f297 mov eax, r8d ; +0x10d2, 0x18013f29e add rcx, rax ; +0x10d5, 0x18013f2a1 mov r8, rcx ; +0x10d8, 0x18013f2a4 mov [rbp+r10*4+710h+Destination], ecx ; +0x10db, 0x18013f2a7 shr r8, 20h ; +0x10e0, 0x18013f2ac add r10d, r15d ; +0x10e4, 0x18013f2b0 cmp r10d, r9d ; +0x10e7, 0x18013f2b3 jnz short loc_18013F292 ; +0x10ea, 0x18013f2b6 test r8d, r8d ; +0x10ec, 0x18013f2b8 jz short loc_18013F2F4 ; +0x10ef, 0x18013f2bb cmp [rbp+710h+var_780], 73h ; 's' ; +0x10f1, 0x18013f2bd jnb short loc_18013F2D1 ; +0x10f5, 0x18013f2c1 mov eax, [rbp+710h+var_780] ; +0x10f7, 0x18013f2c3 mov [rbp+rax*4+710h+Destination], r8d ; +0x10fa, 0x18013f2c6 add [rbp+710h+var_780], r15d ; +0x10ff, 0x18013f2cb jmp short loc_18013F2F4 ; +0x1103, 0x18013f2cf and [rbp+710h+var_3E0], 0 ; +0x1105, 0x18013f2d1 lea r8, [rbp+710h+Source]; Source ; +0x110c, 0x18013f2d8 and [rbp+710h+var_780], 0 ; +0x1113, 0x18013f2df lea rcx, [rbp+710h+Destination]; Destination ; +0x1117, 0x18013f2e3 xor r9d, r9d; SourceSize ; +0x111b, 0x18013f2e7 mov edx, 1CCh; DestinationSize ; +0x111e, 0x18013f2ea call memcpy_s ; +0x1123, 0x18013f2ef lea rdx, [rbp+710h+var_5B0]; struct __crt_strtox::big_integer * ; +0x1128, 0x18013f2f4 lea rcx, [rbp+710h+var_780]; this ; +0x112f, 0x18013f2fb call ?divide@__crt_strtox@@YA_KAEAUbig_integer@1@AEBU21@@Z ; +0x1133, 0x18013f2ff mov r10d, edi ; +0x1138, 0x18013f304 mov r8, rax ; +0x113b, 0x18013f307 sub r10d, ebx ; +0x113e, 0x18013f30a mov r9d, 8 ; +0x1141, 0x18013f30d mov eax, 0CCCCCCCDh ; +0x1147, 0x18013f313 mul r8d ; +0x114c, 0x18013f318 shr edx, 3 ; +0x114f, 0x18013f31b mov cl, dl ; +0x1152, 0x18013f31e shl cl, 2 ; +0x1154, 0x18013f320 lea eax, [rcx+rdx] ; +0x1157, 0x18013f323 add al, al ; +0x115a, 0x18013f326 sub r8b, al ; +0x115c, 0x18013f328 lea ecx, [r8+30h] ; +0x115f, 0x18013f32b mov r8d, edx ; +0x1163, 0x18013f32f cmp r10d, r9d ; +0x1166, 0x18013f332 ja short loc_18013F341 ; +0x1169, 0x18013f335 cmp cl, 30h ; '0' ; +0x116b, 0x18013f337 jz short loc_18013F347 ; +0x116e, 0x18013f33a mov sil, r15b ; +0x1170, 0x18013f33c jmp short loc_18013F347 ; +0x1173, 0x18013f33f mov eax, r9d ; +0x1175, 0x18013f341 mov [rax+rbx], cl ; +0x1178, 0x18013f344 or eax, 0FFFFFFFFh ; +0x117b, 0x18013f347 add r9d, eax ; +0x117e, 0x18013f34a cmp r9d, eax ; +0x1181, 0x18013f34d jnz short loc_18013F313 ; +0x1184, 0x18013f350 mov rax, rdi ; +0x1186, 0x18013f352 sub rax, rbx ; +0x1189, 0x18013f355 cmp rax, r14 ; +0x118c, 0x18013f358 cmovg rax, r14 ; +0x118f, 0x18013f35b add rbx, rax ; +0x1193, 0x18013f35f cmp rbx, rdi ; +0x1196, 0x18013f362 jnz loc_18013F27F ; +0x1199, 0x18013f365 mov r9d, [rbp+710h+var_780] ; +0x119f, 0x18013f36b mov byte ptr [rbx], 0 ; +0x11a3, 0x18013f36f test r9d, r9d ; +0x11a6, 0x18013f372 jnz short loc_18013F3BC ; +0x11a9, 0x18013f375 test sil, sil ; +0x11ab, 0x18013f377 jz short loc_18013F3BF ; +0x11ae, 0x18013f37a jmp short loc_18013F3BC ; +0x11b0, 0x18013f37c lea r8, a1Ind ; +0x11b2, 0x18013f37e jmp loc_18013E2AC ; +0x11b9, 0x18013f385 lea r8, a1Snan ; +0x11be, 0x18013f38a jmp loc_18013E2AC ; +0x11c5, 0x18013f391 lea r8, a1Qnan ; +0x11ca, 0x18013f396 jmp loc_18013E2AC ; +0x11d1, 0x18013f39d mov rdx, [rbp+710h+SizeInBytes]; SizeInBytes ; +0x11d6, 0x18013f3a2 lea r8, a1Inf ; +0x11dd, 0x18013f3a9 mov rcx, r14; Destination ; +0x11e4, 0x18013f3b0 call strcpy_s ; +0x11e7, 0x18013f3b3 test eax, eax ; +0x11ec, 0x18013f3b8 jnz short loc_18013F3F4 ; +0x11ee, 0x18013f3ba xor r15d, r15d ; +0x11f0, 0x18013f3bc cmp [rsp+810h+var_7A8], 0 ; +0x11f3, 0x18013f3bf jz short loc_18013F3D0 ; +0x11f8, 0x18013f3c4 lea rcx, [rsp+810h+Env]; Env ; +0x11fa, 0x18013f3c6 call fesetenv ; +0x11ff, 0x18013f3cb mov eax, r15d ; +0x1204, 0x18013f3d0 mov rcx, [rbp+710h+var_40] ; +0x1207, 0x18013f3d3 xor rcx, rsp; StackCookie ; +0x120e, 0x18013f3da call __security_check_cookie ; +0x1211, 0x18013f3dd add rsp, 7E0h ; +0x1216, 0x18013f3e2 pop r15 ; +0x121d, 0x18013f3e9 pop r14 ; +0x121f, 0x18013f3eb pop r12 ; +0x1221, 0x18013f3ed pop rdi ; +0x1223, 0x18013f3ef pop rsi ; +0x1224, 0x18013f3f0 pop rbx ; +0x1225, 0x18013f3f1 pop rbp ; +0x1226, 0x18013f3f2 retn ; +0x1227, 0x18013f3f3 and [rsp+810h+var_7F0], 0 ; +0x1228, 0x18013f3f4 xor r9d, r9d; LineNo ; +0x122e, 0x18013f3fa xor r8d, r8d; FileName ; +0x1231, 0x18013f3fd xor edx, edx; FunctionName ; +0x1234, 0x18013f400 xor ecx, ecx; Expression ; +0x1236, 0x18013f402 call _invoke_watson ; +0x1238, 0x18013f404 db 0CCh ; +0x123d, 0x18013f409