Function at 0x401820
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
mov eax, 0x2b34
call fcn.004e36a0
xor ecx, ecx
mov dword [esp + 0x54], 0
push ebx
mov eax, edx
mov dword [esp + 0x48], 0
xor ebx, ebx
mov dword [esp + 0x60], eax
mov dword [esp + 0x54], 1
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x50], ecx
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x24], ecx
push esi
push edi
test eax, eax
je 0x403763
mov esi, dword [ebp + 0xc]
test esi, esi
je 0x403763
mov edi, dword [ebp + 8]
test edi, edi
je 0x403763
xorps xmm0, xmm0
mov edx, dword [ebp + 0x10]
cmp dword [esp + 0x58], 0
je 0x401938
test ecx, ecx
je 0x401938
cmp dword [ecx], 0
je 0x401938
mov eax, dword [esp + 0x50]
mov dword [esp + 0x60], esi
mov esi, dword [esp + 0x58]
push str._s_s_____d_r_n
mov esi, dword [esi + eax*4]
inc eax
push eax
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x64]
mov dword [ebp + 0xc], esi
lea eax, [eax + eax*2]
add eax, eax
push dword [edi + eax*8 - 0x30]
lea eax, [esp + 0x43c]
push 0x4eb673
push 0x1cb
push 0x4ef374
push str._s_s_____d_r_n
push 0x2710
push eax
call fcn.00482bc0
add esp, 0x24
lea eax, [esp + 0x430]
push dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_realloc]
push 0
push eax
push dword [esp + 0x74]
push 0
call fcn.0047c8c0
add esp, 0x14
test eax, eax
je 0x40365f
mov edx, dword [ebp + 0x10]
xorps xmm0, xmm0
mov ecx, dword [esp + 0x20]
inc edx
mov dword [ebp + 0x10], edx
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x28], eax
test eax, eax
js 0x403542
mov ecx, eax
lea ebx, [ecx + ecx*2]
add ebx, ebx
mov ecx, dword [edi + ebx*8]
mov dword [esp + 0x48], ecx
test ecx, ecx
je 0x40351d
mov esi, dword [ebp + 8]
mov edi, dword [edi + ebx*8 + 0x28]
mov byte [esp + 0x430], 0
mov dword [esp + 0x64], edi
mov edx, dword [esi + ebx*8 + 4]
test edx, 0x80800
jne case.0x40198e.9
movzx eax, dl
dec eax
cmp eax, 0xc
ja case.0x40198e.9
jmp dword [eax*4 + 0x40376c]
mov ecx, dword [esp + 0x20]
mov edi, esi
cmp dword [edi + ebx*8 + 0x18], 0
je 0x401c21
test ecx, ecx
je 0x4019b3
cmp dword [ecx], 0
je 0x401e5f
mov eax, dword [edi + ebx*8 + 0x1c]
mov ecx, dword [ebp + 0xc]
cmp eax, 0xffffffff
je 0x4019cc
mov eax, dword [eax + ecx]
cmp eax, dword [edi + ebx*8 + 0x20]
jne 0x401c02
mov eax, dword [edi + ebx*8 + 0x10]
mov edx, dword [edi + ebx*8 + 0x14]
add edx, ecx
xor esi, esi
mov dword [esp + 0x38], edx
mov eax, dword [ecx + eax]
mov dword [esp + 0x54], eax
mov ecx, dword [edi + ebx*8 + 0x14]
mov eax, 1
mov dword [esp + 0x48], esi
cmp ecx, 0xffffffff
je 0x4019f7
mov eax, dword [edx]
cmp esi, eax
jge 0x401c02
cmp ecx, 0xffffffff
je 0x401a98
mov eax, dword [edx]
mov dword [esp + 0x64], eax
cmp eax, 1
je 0x401a98
mov eax, dword [ebp + 0x10]
mov ecx, 0x12b
lea esi, [eax + eax*2]
cmp esi, 0x12b
mov eax, esi
cmovg eax, ecx
push eax
lea eax, [esp + 0x94]
push 0x20
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov eax, 0x12b
cmp esi, 0x12b
cmovg esi, eax
push str._s_s_____d_of__d_r_n
push dword [esp + 0x68]
mov byte [esp + esi + 0x98], 0
mov esi, dword [esp + 0x50]
lea eax, [esi + 1]
push eax
push dword [edi + ebx*8]
lea eax, [esp + 0xa0]
push eax
push 0x1ec
push 0x4ef374
push str._s_s_____d_of__d_r_n
lea eax, [esp + 0x450]
push 0x2710
push eax
call fcn.00482bc0
add esp, 0x28
jmp 0x401b0f
mov eax, dword [ebp + 0x10]
mov ecx, 0x12b
lea esi, [eax + eax*2]
cmp esi, 0x12b
mov eax, esi
cmovg eax, ecx
push eax
lea eax, [esp + 0x94]
push 0x20
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov eax, 0x12b
cmp esi, 0x12b
cmovg esi, eax
lea eax, [esp + 0x90]
push str._s_s_r_n
push dword [edi + ebx*8]
push eax
push 0x1ea
push 0x4ef374
push str._s_s_r_n
lea eax, [esp + 0x448]
mov byte [esp + esi + 0xa8], 0
push 0x2710
push eax
call fcn.00482bc0
mov esi, dword [esp + 0x68]
add esp, 0x20
test dword [edi + ebx*8 + 4], 0x200
je 0x401b41
cmp dword [edi + ebx*8 + 0x14], 0xffffffff
jne 0x401b36
mov edx, dword [esp + 0x54]
test edx, edx
je 0x401bf8
mov eax, dword [ebp + 0x10]
push 1
inc eax
push eax
push edx
jmp 0x401b5f
mov eax, dword [esp + 0x54]
mov ecx, dword [eax + esi*4]
test ecx, ecx
jmp 0x401b51
mov eax, dword [edi + ebx*8 + 8]
mov ecx, dword [ebp + 0xc]
imul eax, esi
add eax, dword [edi + ebx*8 + 0x10]
add ecx, eax
je 0x401bf8
mov eax, dword [ebp + 0x10]
push 1
inc eax
push eax
push ecx
push dword [edi + ebx*8 + 0x18]
lea edx, [esp + 0x3c]
xor ecx, ecx
call fcn.00401820
add esp, 0x10
test eax, eax
js 0x40365b
add dword [esp + 0x24], eax
test eax, eax
jle 0x401bcf
push dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_realloc]
lea eax, [esp + 0x434]
push 0
push eax
lea eax, [esp + 0x40]
push eax
push 0
call fcn.0047c8c0
add esp, 0x14
test eax, eax
je 0x40365b
push dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_realloc]
mov eax, dword [esp + 0x30]
push 0
add eax, 4
push eax
lea eax, [esp + 0x40]
push eax
push 0
call fcn.0047c8c0
add esp, 0x14
test eax, eax
je 0x40365b
cmp dword [esp + 0x2c], 0
je 0x401bf8
lea eax, [esp + 0x2c]
push eax
call fcn.0047e900
add esp, 4
push dword [esp + 0x2c]
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 4
mov dword [esp + 0x2c], 0
mov edx, dword [esp + 0x38]
inc esi
jmp 0x4019e3
mov byte [esp + 0x430], 0
mov esi, dword [ebp + 0xc]
mov eax, dword [esp + 0x28]
xorps xmm0, xmm0
mov ecx, dword [esp + 0x20]
inc eax
mov edx, dword [ebp + 0x10]
jmp 0x40193c
test ecx, ecx
je 0x401c48
mov eax, dword [ecx]
test eax, eax
je 0x401c48
mov edx, dword [ebp + 0x10]
mov esi, dword [esp + 0x60]
dec edx
mov dword [ebp + 0xc], esi
mov dword [ebp + 0x10], edx
cmp dword [esp + 0x50], eax
jge 0x401c4b
mov ebx, dword [esp + 0x24]
jmp 0x401895
mov esi, dword [ebp + 0xc]
mov eax, dword [esp + 0x28]
xorps xmm0, xmm0
mov ecx, dword [edi + ebx*8 + 0x14]
inc eax
mov edx, dword [ebp + 0x10]
add ecx, esi
mov dword [esp + 0x5c], eax
mov eax, dword [edi + ebx*8 + 0x10]
mov dword [esp + 0x50], 0
mov dword [esp + 0x20], ecx
mov eax, dword [esi + eax]
mov dword [esp + 0x58], eax
mov eax, 0xfffffffe
inc eax
jmp 0x40193c
mov ecx, dword [esp + 0x20]
test ecx, ecx
je 0x401c93
cmp dword [ecx], 0
je 0x4034f5
mov eax, dword [esi + ebx*8 + 0x1c]
cmp eax, 0xffffffff
je 0x401cac
mov ecx, dword [ebp + 0xc]
mov eax, dword [eax + ecx]
cmp eax, dword [esi + ebx*8 + 0x20]
jne case.0x40198e.9
cmp dword [esi + ebx*8 + 8], 0
je 0x401e72
mov eax, dword [ebp + 0x10]
mov ecx, 0x12b
lea esi, [eax + eax*2]
cmp esi, 0x12b
mov eax, esi
cmovg eax, ecx
push eax
lea eax, [esp + 0x94]
push 0x20
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov eax, 0x12b
cmp esi, 0x12b
cmovg esi, eax
lea eax, [esp + 0x90]
push str._s__15s_
push dword [esp + 0x4c]
push eax
push 0x23c
push 0x4ef374
push str._s__15s_
lea eax, [esp + 0x448]
mov byte [esp + esi + 0xa8], 0
push 0x2710
push eax
call fcn.00482bc0
mov esi, dword [ebp + 8]
add esp, 0x20
mov dword [esp + 0x6c], eax
mov dword [esp + 0x38], 0
cmp dword [esi + ebx*8 + 8], 0
jle case.0x40198e.7
mov edi, dword [esp + 0x38]
nop dword [eax]
mov eax, dword [esi + ebx*8 + 0xc]
sub esp, 8
mov ecx, dword [ebp + 0xc]
lea eax, [eax + edi*8]
movsd xmm0, qword [eax + ecx]
lea eax, [esp + 0x230]
movsd qword [esp], xmm0
push str._.12f
push eax
call fcn.004010a0
lea eax, [esp + 0x238]
push 0x2e
push eax
call dword [sym.imp.VCRUNTIME140.dll_strchr]
add esp, 0x18
test eax, eax
je 0x401ddc
lea ecx, [esp + 0x228]
lea edx, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x401da0
sub ecx, edx
lea eax, [ecx - 1]
test eax, eax
jle 0x401ddc
mov cl, byte [esp + eax + 0x228]
cmp cl, 0x30
jne 0x401dcb
mov byte [esp + eax + 0x228], 0
dec eax
test eax, eax
jg 0x401db0
jmp 0x401ddc
test eax, eax
jle 0x401ddc
cmp cl, 0x2e
jne 0x401ddc
mov byte [esp + eax + 0x228], 0
mov eax, dword [esi + ebx*8 + 8]
mov ecx, 0x4ef3c4
dec eax
cmp edi, eax
mov eax, 0x4ef3c8
cmovge ecx, eax
lea eax, [esp + 0x228]
push ecx
push eax
push str.0x_s_s
lea eax, [esp + 0x78]
push eax
lea eax, [esp + 0x440]
push eax
call fcn.0047bf80
inc edi
add esp, 0x14
cmp edi, dword [esi + ebx*8 + 8]
jl 0x401d50
mov edi, dword [esp + 0x64]
mov ecx, dword [esp + 0x20]
test ecx, ecx
je 0x401e33
cmp dword [ecx], 0
je 0x403486
mov eax, dword [esi + ebx*8 + 0x1c]
mov ecx, dword [ebp + 0xc]
cmp eax, 0xffffffff
je 0x4020b5
mov eax, dword [eax + ecx]
cmp eax, dword [esi + ebx*8 + 0x20]
je 0x4020b5
mov byte [esp + 0x430], 0
mov edi, dword [ebp + 8]
mov ecx, dword [esp + 0x20]
mov esi, dword [ebp + 0xc]
mov eax, dword [esp + 0x28]
xorps xmm0, xmm0
mov edx, dword [ebp + 0x10]
inc eax
jmp 0x40193c
test edx, 0x200
je 0x401fac
test edi, edi
je 0x401e96
push edi
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_atof]
fstp qword [esp + 0x3c]
movsd xmm0, qword [esp + 0x3c]
add esp, 4
mov edi, esi
mov esi, dword [ebp + 0xc]
mov eax, dword [edi + ebx*8 + 0xc]
mov eax, dword [esi + eax]
movsd xmm1, qword [eax]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jnp 0x403498
sub esp, 8
lea eax, [esp + 0x298]
movsd qword [esp], xmm1
push str._.12f
push eax
call fcn.004010a0
lea eax, [esp + 0x2a0]
push 0x2e
push eax
call dword [sym.imp.VCRUNTIME140.dll_strchr]
add esp, 0x18
test eax, eax
je 0x401f2c
lea ecx, [esp + 0x290]
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x401ef0
sub ecx, edx
lea eax, [ecx - 1]
test eax, eax
jle 0x401f2c
mov cl, byte [esp + eax + 0x290]
cmp cl, 0x30
jne 0x401f1b
mov byte [esp + eax + 0x290], 0
dec eax
test eax, eax
jg 0x401f00
jmp 0x401f2c
test eax, eax
jle 0x401f2c
cmp cl, 0x2e
jne 0x401f2c
mov byte [esp + eax + 0x290], 0
mov eax, dword [ebp + 0x10]
mov ecx, 0x12b
lea esi, [eax + eax*2]
cmp esi, 0x12b
mov eax, esi
cmovg eax, ecx
push eax
lea eax, [esp + 0x94]
push 0x20
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov eax, 0x12b
cmp esi, 0x12b
cmovg esi, eax
lea eax, [esp + 0x290]
push str._s__15s___s_r_n
push eax
push dword [edi + ebx*8]
lea eax, [esp + 0x9c]
push eax
push 0x247
push 0x4ef374
push str._s__15s___s_r_n
lea eax, [esp + 0x44c]
mov byte [esp + esi + 0xac], 0
push 0x2710
push eax
call fcn.00482bc0
add esp, 0x24
jmp 0x403495
test edi, edi
je 0x401fc4
push edi
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_atof]
fstp qword [esp + 0x3c]
movsd xmm0, qword [esp + 0x3c]
add esp, 4
mov edi, esi
mov esi, dword [ebp + 0xc]
mov eax, dword [edi + ebx*8 + 0xc]
movsd xmm1, qword [esi + eax]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jnp 0x403498
sub esp, 8
lea eax, [esp + 0x300]
movsd qword [esp], xmm1
push str._.12f
push eax
call fcn.004010a0
lea eax, [esp + 0x308]
push 0x2e
push eax
call dword [sym.imp.VCRUNTIME140.dll_strchr]
add esp, 0x18
test eax, eax
je 0x40205c
lea ecx, [esp + 0x2f8]
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x402020
sub ecx, edx
lea eax, [ecx - 1]
test eax, eax
jle 0x40205c
mov cl, byte [esp + eax + 0x2f8]
cmp cl, 0x30
jne 0x40204b
mov byte [esp + eax + 0x2f8], 0
dec eax
test eax, eax
jg 0x402030
jmp 0x40205c
test eax, eax
jle 0x40205c
cmp cl, 0x2e
jne 0x40205c
mov byte [esp + eax + 0x2f8], 0
mov eax, dword [ebp + 0x10]
mov ecx, 0x12b
lea esi, [eax + eax*2]
cmp esi, 0x12b
mov eax, esi
cmovg eax, ecx
push eax
lea eax, [esp + 0x94]
push 0x20
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov eax, 0x12b
cmp esi, 0x12b
cmovg esi, eax
lea eax, [esp + 0x2f8]
push str._s__15s___s_r_n
push eax
push dword [edi + ebx*8]
lea eax, [esp + 0x9c]
push eax
push 0x251
jmp 0x401f80
test dword [esi + ebx*8 + 4], 0x200
xorps xmm1, xmm1
mov eax, dword [esi + ebx*8 + 0xc]
je 0x4021a4
mov eax, dword [eax + ecx]
movsd xmm0, qword [eax]
ucomisd xmm0, xmm1
lahf
test ah, 0x44
jp 0x4020e3
test edi, edi
je 0x403492
lea eax, [esp + 0x1c0]
push eax
sub esp, 8
movsd qword [esp], xmm0
call fcn.0047a0f0
add esp, 0xc
cmp byte [esp + 0x1c0], 0
je 0x402140
test edi, edi
je 0x402151
cmp byte [edi], 0
je 0x402151
lea eax, [esp + 0x1c0]
mov cl, byte [edi]
cmp cl, byte [eax]
jne 0x402137
test cl, cl
je 0x402131
mov cl, byte [edi + 1]
cmp cl, byte [eax + 1]
jne 0x402137
add edi, 2
add eax, 2
test cl, cl
jne 0x402115
xor eax, eax
test eax, eax
jmp 0x40214b
sbb eax, eax
or eax, 1
test eax, eax
jmp 0x40214b
test edi, edi
je 0x403492
cmp byte [edi], 0
je 0x403492
mov eax, dword [ebp + 0x10]
mov edi, 0x12b
lea esi, [eax + eax*2]
cmp esi, 0x12b
mov eax, esi
cmovg eax, edi
push eax
lea eax, [esp + 0x94]
push 0x20
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea eax, [esp + 0x1c0]
cmp esi, edi
cmovg esi, edi
mov edi, dword [ebp + 8]
push str._s__15s___s_r_n
push eax
lea eax, [esp + 0x98]
push dword [edi + ebx*8]
push eax
push 0x26a
jmp 0x401f80
movsd xmm0, qword [eax + ecx]
ucomisd xmm0, xmm1
lahf
test ah, 0x44
jp 0x4021bb
test edi, edi
je 0x403492
lea eax, [esp + 0x1f4]
push eax
sub esp, 8
movsd qword [esp], xmm0
call fcn.0047a0f0
add esp, 0xc
cmp byte [esp + 0x1f4], 0
je 0x40221b
test edi, edi
je 0x40222c
cmp byte [edi], 0
je 0x40222c
lea eax, [esp + 0x1f4]
nop dword [eax]
mov cl, byte [edi]
cmp cl, byte [eax]
jne 0x402212
test cl, cl
je 0x40220c
mov cl, byte [edi + 1]
cmp cl, byte [eax + 1]
jne 0x402212
add edi, 2
add eax, 2
test cl, cl
jne 0x4021f0
xor eax, eax
test eax, eax
jmp 0x402226
sbb eax, eax
or eax, 1
test eax, eax
jmp 0x402226
test edi, edi
je 0x403492
cmp byte [edi], 0
je 0x403492
mov eax, dword [ebp + 0x10]
mov edi, 0x12b
lea esi, [eax + eax*2]
cmp esi, 0x12b
mov eax, esi
cmovg eax, edi
push eax
lea eax, [esp + 0x94]
push 0x20
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea eax, [esp + 0x1f4]
cmp esi, edi
cmovg esi, edi
mov edi, dword [ebp + 8]
push str._s__15s___s_r_n
push eax
lea eax, [esp + 0x98]
push dword [edi + ebx*8]
push eax
push 0x278
jmp 0x401f80
mov ecx, dword [esp + 0x20]
test ecx, ecx
je 0x402290
cmp dword [ecx], 0
je 0x4034f5
mov eax, dword [esi + ebx*8 + 0x1c]
cmp eax, 0xffffffff
je 0x4022ad
mov ecx, dword [ebp + 0xc]
mov eax, dword [eax + ecx]
mov ecx, dword [esp + 0x20]
cmp eax, dword [esi + ebx*8 + 0x20]
jne 0x4034f5
mov eax, dword [esi + ebx*8 + 0xc]
mov esi, dword [ebp + 0xc]
mov eax, dword [eax + esi]
test edx, 0x200
je 0x4023c0
mov eax, dword [eax]
test eax, eax
jne 0x4022d1
test edi, edi
je 0x40350a
lea ecx, [esp + 0x70]
cdq
push ecx
lea ecx, [esp + 0x78]
push ecx
push edx
push eax
call fcn.0047b750
push str._08d_06d
push dword [esp + 0x84]
lea eax, [esp + 0x378]
push dword [esp + 0x8c]
push 0x28d
push 0x4ef374
push str._08d_06d
push 0x64
push eax
call fcn.00482bc0
add esp, 0x30
cmp byte [esp + 0x360], 0
je 0x40235c
test edi, edi
je 0x40236d
cmp byte [edi], 0
je 0x40236d
lea eax, [esp + 0x360]
mov cl, byte [edi]
cmp cl, byte [eax]
jne 0x402353
test cl, cl
je 0x40234d
mov cl, byte [edi + 1]
cmp cl, byte [eax + 1]
jne 0x402353
add edi, 2
add eax, 2
test cl, cl
jne 0x402331
xor eax, eax
test eax, eax
jmp 0x402367
sbb eax, eax
or eax, 1
test eax, eax
jmp 0x402367
test edi, edi
je 0x402ce0
cmp byte [edi], 0
je 0x402ce0
mov eax, dword [ebp + 0x10]
mov edi, 0x12b
lea esi, [eax + eax*2]
cmp esi, 0x12b
mov eax, esi
cmovg eax, edi
push eax
lea eax, [esp + 0x94]
push 0x20
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea eax, [esp + 0x360]
cmp esi, edi
cmovg esi, edi
mov edi, dword [ebp + 8]
push str._s__15s___s_r_n
push eax
lea eax, [esp + 0x98]
push dword [edi + ebx*8]
push eax
push 0x294
jmp 0x401f80
test eax, eax
jne 0x4023cc
test edi, edi
je 0x40350a
lea ecx, [esp + 0x78]
cdq
push ecx
lea ecx, [esp + 0x80]
push ecx
push edx
push eax
call fcn.0047b750
push str._08d_06d
push dword [esp + 0x8c]
lea eax, [esp + 0x3e0]
push dword [esp + 0x94]
push 0x29e
push 0x4ef374
push str._08d_06d
push 0x64
push eax
call fcn.00482bc0
add esp, 0x30
cmp byte [esp + 0x3c8], 0
je 0x40245b
test edi, edi
je 0x40246c
cmp byte [edi], 0
je 0x40246c
lea eax, [esp + 0x3c8]
nop
mov cl, byte [edi]
cmp cl, byte [eax]
jne 0x402452
test cl, cl
je 0x40244c
mov cl, byte [edi + 1]
cmp cl, byte [eax + 1]
jne 0x402452
add edi, 2
add eax, 2
test cl, cl
jne 0x402430
xor eax, eax
test eax, eax
jmp 0x402466
sbb eax, eax
or eax, 1
test eax, eax
jmp 0x402466
test edi, edi
je 0x402ce0
cmp byte [edi], 0
je 0x402ce0
mov eax, dword [ebp + 0x10]
mov edi, 0x12b
lea esi, [eax + eax*2]
cmp esi, 0x12b
mov eax, esi
cmovg eax, edi
push eax
lea eax, [esp + 0x94]
push 0x20
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea eax, [esp + 0x3c8]
cmp esi, edi
cmovg esi, edi
mov edi, dword [ebp + 8]
push str._s__15s___s_r_n
push eax
lea eax, [esp + 0x98]
push dword [edi + ebx*8]
push eax
push 0x2a5
jmp 0x401f80
mov ecx, dword [esp + 0x20]
test ecx, ecx
je 0x4024d0
cmp dword [ecx], 0
je 0x4034f5
mov eax, dword [esi + ebx*8 + 0x1c]
cmp eax, 0xffffffff
je 0x4024e9
mov ecx, dword [ebp + 0xc]
mov eax, dword [eax + ecx]
cmp eax, dword [esi + ebx*8 + 0x20]
jne case.0x40198e.9
cmp dword [esi + ebx*8 + 8], 0
je 0x4025c0
mov eax, dword [ebp + 0x10]
mov edi, 0x12b
lea esi, [eax + eax*2]
cmp esi, 0x12b
mov eax, esi
cmovg eax, edi
push eax
lea eax, [esp + 0x94]
push 0x20
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea eax, [esp + 0x90]
cmp esi, edi
cmovg esi, edi
push str._s__15s_
push dword [esp + 0x4c]
push eax
push 0x2b7
push 0x4ef374
push str._s__15s_
lea eax, [esp + 0x448]
mov byte [esp + esi + 0xa8], 0
push 0x2710
push eax
call fcn.00482bc0
mov edi, dword [ebp + 8]
add esp, 0x20
mov dword [esp + 0x80], eax
xor esi, esi
mov eax, dword [edi + ebx*8 + 8]
test eax, eax
jle 0x403495
dec eax
mov ecx, 0x4ef3c4
cmp esi, eax
mov eax, 0x4ef3c8
cmovge ecx, eax
mov eax, dword [edi + ebx*8 + 0xc]
push ecx
mov ecx, dword [ebp + 0xc]
lea eax, [eax + esi*4]
push dword [eax + ecx]
lea eax, [esp + 0x88]
push str.0x_d_s
push eax
lea eax, [esp + 0x440]
push eax
call fcn.0047bf80
mov eax, dword [edi + ebx*8 + 8]
inc esi
add esp, 0x14
cmp esi, eax
jl 0x402577
jmp 0x403495
test edx, 0x200
je 0x402678
test edi, edi
je 0x4025de
push edi
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_atoi]
add esp, 4
mov ecx, eax
jmp 0x4025e0
xor ecx, ecx
mov edi, esi
mov esi, dword [ebp + 0xc]
mov eax, dword [edi + ebx*8 + 0xc]
mov eax, dword [eax + esi]
cmp dword [eax], ecx
je 0x403498
mov eax, dword [ebp + 0x10]
mov ecx, 0x12b
lea esi, [eax + eax*2]
cmp esi, 0x12b
mov eax, esi
cmovg eax, ecx
push eax
lea eax, [esp + 0x94]
push 0x20
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov eax, 0x12b
cmp esi, 0x12b
cmovg esi, eax
mov eax, dword [edi + ebx*8 + 0xc]
push str._s__15s___d_r_n
mov byte [esp + esi + 0x94], 0
mov esi, dword [ebp + 0xc]
mov eax, dword [eax + esi]
push dword [eax]
lea eax, [esp + 0x98]
push dword [edi + ebx*8]
push eax
push 0x2c1
push 0x4ef374
push str._s__15s___d_r_n
lea eax, [esp + 0x44c]
push 0x2710
push eax
call fcn.00482bc0
add esp, 0x24
jmp 0x403498
test edi, edi
je 0x402688
push edi
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_atoi]
add esp, 4
jmp 0x40268a
xor eax, eax
mov edi, esi
mov esi, dword [ebp + 0xc]
mov ecx, dword [edi + ebx*8 + 0xc]
cmp dword [ecx + esi], eax
je 0x403498
mov eax, dword [ebp + 0x10]
mov ecx, 0x12b
lea esi, [eax + eax*2]
cmp esi, 0x12b
mov eax, esi
cmovg eax, ecx
push eax
lea eax, [esp + 0x94]
push 0x20
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov eax, 0x12b
cmp esi, 0x12b
cmovg esi, eax
mov eax, dword [edi + ebx*8 + 0xc]
push str._s__15s___d_r_n
mov byte [esp + esi + 0x94], 0
mov esi, dword [ebp + 0xc]
push dword [eax + esi]
lea eax, [esp + 0x98]
push dword [edi + ebx*8]
push eax
push 0x2c9
jmp 0x402654
mov ecx, dword [esp + 0x20]
test ecx, ecx
je 0x402710
cmp dword [ecx], 0
je 0x4034f5
mov eax, dword [esi + ebx*8 + 0x1c]
cmp eax, 0xffffffff
je 0x402729
mov ecx, dword [ebp + 0xc]
mov eax, dword [eax + ecx]
cmp eax, dword [esi + ebx*8 + 0x20]
jne case.0x40198e.9
cmp dword [esi + ebx*8 + 8], 0
je 0x402804
mov eax, dword [ebp + 0x10]
mov edi, 0x12b
lea esi, [eax + eax*2]
cmp esi, 0x12b
mov eax, esi
cmovg eax, edi
push eax
lea eax, [esp + 0x94]
push 0x20
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea eax, [esp + 0x90]
cmp esi, edi
cmovg esi, edi
push str._s__15s_
push dword [esp + 0x4c]
push eax
push 0x2db
push 0x4ef374
push str._s__15s_
lea eax, [esp + 0x448]
mov byte [esp + esi + 0xa8], 0
push 0x2710
push eax
call fcn.00482bc0
mov edi, dword [ebp + 8]
add esp, 0x20
mov dword [esp + 0x84], eax
xor esi, esi
mov eax, dword [edi + ebx*8 + 8]
test eax, eax
jle 0x403495
dec eax
mov ecx, 0x4ef3c4
cmp esi, eax
mov eax, 0x4ef3c8
cmovge ecx, eax
mov eax, dword [edi + ebx*8 + 0xc]
push ecx
mov ecx, dword [ebp + 0xc]
lea eax, [eax + esi*8]
push dword [eax + ecx + 4]
push dword [eax + ecx]
lea eax, [esp + 0x90]
push str.0x_I64d_s
push eax
lea eax, [esp + 0x444]
push eax
call fcn.0047bf80
mov eax, dword [edi + ebx*8 + 8]
inc esi
add esp, 0x18
cmp esi, eax
jl 0x4027b7
jmp 0x403495
test edx, 0x200
je 0x4028d0
test edi, edi
je 0x40281f
push edi
call fcn.004a27b0
add esp, 4
jmp 0x402830
xorps xmm0, xmm0
movlpd qword [esp + 0x38], xmm0
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x38]
mov edi, esi
mov esi, dword [ebp + 0xc]
mov ecx, dword [edi + ebx*8 + 0xc]
mov ecx, dword [ecx + esi]
cmp dword [ecx], eax
jne 0x402849
cmp dword [ecx + 4], edx
je 0x403498
mov eax, dword [ebp + 0x10]
mov ecx, 0x12b
lea esi, [eax + eax*2]
cmp esi, 0x12b
mov eax, esi
cmovg eax, ecx
push eax
lea eax, [esp + 0x94]
push 0x20
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov eax, 0x12b
cmp esi, 0x12b
cmovg esi, eax
mov eax, dword [edi + ebx*8 + 0xc]
push str._s__15s___I64d_r_n
mov byte [esp + esi + 0x94], 0
mov esi, dword [ebp + 0xc]
mov eax, dword [eax + esi]
push dword [eax + 4]
push dword [eax]
lea eax, [esp + 0x9c]
push dword [edi + ebx*8]
push eax
push 0x2e5
push 0x4ef374
push str._s__15s___I64d_r_n
lea eax, [esp + 0x450]
push 0x2710
push eax
call fcn.00482bc0
add esp, 0x28
jmp 0x403498
test edi, edi
je 0x4028e1
push edi
call fcn.004a27b0
add esp, 4
mov ecx, eax
jmp 0x4028f2
xorps xmm0, xmm0
movlpd qword [esp + 0x38], xmm0
mov edx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x38]
mov edi, esi
mov esi, dword [ebp + 0xc]
mov eax, dword [edi + ebx*8 + 0xc]
cmp dword [eax + esi], ecx
jne 0x40290a
cmp dword [eax + esi + 4], edx
je 0x403498
mov eax, dword [ebp + 0x10]
mov ecx, 0x12b
lea esi, [eax + eax*2]
cmp esi, 0x12b
mov eax, esi
cmovg eax, ecx
push eax
lea eax, [esp + 0x94]
push 0x20
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov eax, 0x12b
cmp esi, 0x12b
cmovg esi, eax
mov eax, dword [edi + ebx*8 + 0xc]
push str._s__15s___I64d_r_n
mov byte [esp + esi + 0x94], 0
mov esi, dword [ebp + 0xc]
push dword [eax + esi + 4]
push dword [eax + esi]
lea eax, [esp + 0x9c]
push dword [edi + ebx*8]
push eax
push 0x2ed
jmp 0x4028ac
mov ecx, dword [esp + 0x20]
test ecx, ecx
je 0x402982
cmp dword [ecx], 0
je 0x4034f5
mov eax, dword [esi + ebx*8 + 0x1c]
cmp eax, 0xffffffff
je 0x40299b
mov ecx, dword [ebp + 0xc]
mov eax, dword [eax + ecx]
cmp eax, dword [esi + ebx*8 + 0x20]
jne case.0x40198e.9
cmp dword [esi + ebx*8 + 8], 0
je 0x402a7d
mov eax, dword [ebp + 0x10]
mov edi, 0x12b
lea esi, [eax + eax*2]
cmp esi, 0x12b
mov eax, esi
cmovg eax, edi
push eax
lea eax, [esp + 0x94]
push 0x20
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea eax, [esp + 0x90]
cmp esi, edi
cmovg esi, edi
push str._s__15s_
push dword [esp + 0x4c]
push eax
push 0x2ff
push 0x4ef374
push str._s__15s_
lea eax, [esp + 0x448]
mov byte [esp + esi + 0xa8], 0
push 0x2710
push eax
call fcn.00482bc0
mov edi, dword [ebp + 8]
add esp, 0x20
mov dword [esp + 0x88], eax
xor esi, esi
mov eax, dword [edi + ebx*8 + 8]
test eax, eax
jle 0x403495
nop dword [eax]
dec eax
mov ecx, 0x4ef3c4
cmp esi, eax
mov eax, 0x4ef3c8
cmovge ecx, eax
mov eax, dword [edi + ebx*8 + 0xc]
push ecx
mov ecx, dword [ebp + 0xc]
lea eax, [eax + esi*8]
push dword [eax + ecx + 4]
push dword [eax + ecx]
lea eax, [esp + 0x94]
push str.0x_I64X_s
push eax
lea eax, [esp + 0x444]
push eax
call fcn.0047bf80
mov eax, dword [edi + ebx*8 + 8]
inc esi
add esp, 0x18
cmp esi, eax
jl 0x402a30
jmp 0x403495
test edx, 0x200
je 0x402b34
test edi, edi
je 0x402a98
push edi
call fcn.004a27b0
add esp, 4
jmp 0x402aa9
xorps xmm0, xmm0
movlpd qword [esp + 0x38], xmm0
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x38]
mov edi, esi
mov esi, dword [ebp + 0xc]
mov ecx, dword [edi + ebx*8 + 0xc]
mov ecx, dword [ecx + esi]
cmp dword [ecx], eax
jne 0x402ac2
cmp dword [ecx + 4], edx
je 0x403498
mov eax, dword [ebp + 0x10]
mov ecx, 0x12b
lea esi, [eax + eax*2]
cmp esi, 0x12b
mov eax, esi
cmovg eax, ecx
push eax
lea eax, [esp + 0x94]
push 0x20
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov eax, 0x12b
cmp esi, 0x12b
cmovg esi, eax
mov eax, dword [edi + ebx*8 + 0xc]
push str._s__15s___I64X_r_n
mov byte [esp + esi + 0x94], 0
mov esi, dword [ebp + 0xc]
mov eax, dword [eax + esi]
push dword [eax + 4]
push dword [eax]
lea eax, [esp + 0x9c]
push dword [edi + ebx*8]
push eax
push 0x309
push 0x4ef374
push str._s__15s___I64X_r_n
jmp 0x4028b6
test edi, edi
je 0x402b45
push edi
call fcn.004a27b0
add esp, 4
mov ecx, eax
jmp 0x402b56
xorps xmm0, xmm0
movlpd qword [esp + 0x38], xmm0
mov edx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x38]
mov edi, esi
mov esi, dword [ebp + 0xc]
mov eax, dword [edi + ebx*8 + 0xc]
cmp dword [eax + esi], ecx
jne 0x402b6e
cmp dword [eax + esi + 4], edx
je 0x403498
mov eax, dword [ebp + 0x10]
mov ecx, 0x12b
lea esi, [eax + eax*2]
cmp esi, 0x12b
mov eax, esi
cmovg eax, ecx
push eax
lea eax, [esp + 0x94]
push 0x20
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov eax, 0x12b
cmp esi, 0x12b
cmovg esi, eax
mov eax, dword [edi + ebx*8 + 0xc]
push str._s__15s___I64X_r_n
mov byte [esp + esi + 0x94], 0
mov esi, dword [ebp + 0xc]
push dword [eax + esi + 4]
push dword [eax + esi]
lea eax, [esp + 0x9c]
push dword [edi + ebx*8]
push eax
push 0x311
push 0x4ef374
push str._s__15s___I64X_r_n
jmp 0x4028b6
mov ecx, dword [esp + 0x20]
test ecx, ecx
je 0x402bf0
cmp dword [ecx], 0
je 0x4034f5
mov eax, dword [esi + ebx*8 + 0x1c]
cmp eax, 0xffffffff
je 0x402c09
mov ecx, dword [ebp + 0xc]
mov eax, dword [eax + ecx]
cmp eax, dword [esi + ebx*8 + 0x20]
jne case.0x40198e.9
cmp dword [esi + ebx*8 + 8], 0
je 0x402ce8
mov eax, dword [ebp + 0x10]
mov edi, 0x12b
lea esi, [eax + eax*2]
cmp esi, 0x12b
mov eax, esi
cmovg eax, edi
push eax
lea eax, [esp + 0x94]
push 0x20
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea eax, [esp + 0x90]
cmp esi, edi
cmovg esi, edi
push str._s__15s_
push dword [esp + 0x4c]
push eax
push 0x324
push 0x4ef374
push str._s__15s_
lea eax, [esp + 0x448]
mov byte [esp + esi + 0xa8], 0
push 0x2710
push eax
call fcn.00482bc0
mov edi, dword [ebp + 8]
add esp, 0x20
mov dword [esp + 0x8c], eax
xor esi, esi
mov eax, dword [edi + ebx*8 + 8]
test eax, eax
jle 0x403495
dec eax
mov ecx, 0x4ef3c4
cmp esi, eax
mov eax, 0x4ef3c8
cmovge ecx, eax
mov eax, dword [edi + ebx*8 + 0xc]
push ecx
mov ecx, dword [ebp + 0xc]
lea eax, [eax + esi*4]
push dword [eax + ecx]
lea eax, [esp + 0x94]
push str.0x_X_s
push eax
lea eax, [esp + 0x440]
push eax
call fcn.0047bf80
mov eax, dword [edi + ebx*8 + 8]
inc esi
add esp, 0x14
cmp esi, eax
jl 0x402c97
jmp 0x403495
mov edi, dword [ebp + 8]
jmp 0x403498
test edx, 0x200
je 0x402d8c
test edi, edi
je 0x402d07
push 0
push edi
call fcn.004a28e0
add esp, 8
mov ecx, eax
jmp 0x402d09
xor ecx, ecx
mov edi, esi
mov esi, dword [ebp + 0xc]
mov eax, dword [edi + ebx*8 + 0xc]
mov eax, dword [eax + esi]
cmp dword [eax], ecx
je 0x403498
mov eax, dword [ebp + 0x10]
mov ecx, 0x12b
lea esi, [eax + eax*2]
cmp esi, 0x12b
mov eax, esi
cmovg eax, ecx
push eax
lea eax, [esp + 0x94]
push 0x20
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov eax, 0x12b
cmp esi, 0x12b
cmovg esi, eax
mov eax, dword [edi + ebx*8 + 0xc]
push str._s__15s__0x_X_r_n
mov byte [esp + esi + 0x94], 0
mov esi, dword [ebp + 0xc]
mov eax, dword [eax + esi]
push dword [eax]
lea eax, [esp + 0x98]
push dword [edi + ebx*8]
push eax
push 0x32e
push 0x4ef374
push str._s__15s__0x_X_r_n
jmp 0x40265e
test edi, edi
je 0x402d9d
push 0
push edi
call fcn.004a28e0
add esp, 8
jmp 0x402d9f
xor eax, eax
mov edi, esi
mov esi, dword [ebp + 0xc]
mov ecx, dword [edi + ebx*8 + 0xc]
cmp dword [ecx + esi], eax
je 0x403498
mov eax, dword [ebp + 0x10]
mov ecx, 0x12b
lea esi, [eax + eax*2]
cmp esi, 0x12b
mov eax, esi
cmovg eax, ecx
push eax
lea eax, [esp + 0x94]
push 0x20
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov eax, 0x12b
cmp esi, 0x12b
cmovg esi, eax
mov eax, dword [edi + ebx*8 + 0xc]
push str._s__15s__0x_X_r_n
mov byte [esp + esi + 0x94], 0
mov esi, dword [ebp + 0xc]
push dword [eax + esi]
lea eax, [esp + 0x98]
push dword [edi + ebx*8]
push eax
push 0x336
push 0x4ef374
push str._s__15s__0x_X_r_n
jmp 0x40265e
mov eax, dword [esp + 0x20]
test eax, eax
je 0x402e2f
cmp dword [eax], 0
je case.0x40198e.9
mov eax, dword [esi + ebx*8 + 0x1c]
cmp eax, 0xffffffff
je 0x402e4c
mov edx, dword [ebp + 0xc]
mov eax, dword [eax + edx]
mov edx, dword [esi + ebx*8 + 4]
cmp eax, dword [esi + ebx*8 + 0x20]
jne case.0x40198e.9
mov dword [esp + 0x30], 0
test edx, 0x200
je 0x402f79
test edi, edi
je 0x402eb4
cmp byte [edi], 0
je 0x402eb4
mov esi, dword [esi + ebx*8 + 0xc]
mov eax, dword [ebp + 0xc]
mov eax, dword [esi + eax]
test eax, eax
je 0x402ea7
cmp byte [eax], 0
je 0x402ea7
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [edi]
jne 0x402ea0
test dl, dl
je 0x402e9c
mov dl, byte [eax + 1]
cmp dl, byte [edi + 1]
jne 0x402ea0
add eax, 2
add edi, 2
test dl, dl
jne 0x402e80
xor eax, eax
jmp 0x402eaa
sbb eax, eax
or eax, 1
jmp 0x402eaa
or eax, 0xffffffff
test eax, eax
je 0x401e58
jmp 0x402ed1
mov eax, dword [ebp + 0xc]
mov edi, esi
mov esi, dword [edi + ebx*8 + 0xc]
mov eax, dword [esi + eax]
test eax, eax
je 0x401c0a
cmp byte [eax], 0
je 0x401c0a
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x402ed4
mov eax, dword [ebp + 0xc]
sub ecx, edx
mov edx, dword [esi + eax]
lea esi, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x402ee6
sub edx, esi
add ecx, 0x64
mov esi, dword [ebp + 0x10]
lea eax, [edx + esi*2]
add eax, ecx
push eax
mov dword [esp + 0x3c], eax
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov edi, eax
add esp, 4
mov dword [esp + 0x30], edi
test edi, edi
je 0x403492
lea esi, [esi + esi*2]
mov eax, 0x12b
cmp esi, 0x12b
mov ecx, esi
cmovg ecx, eax
lea eax, [esp + 0x90]
push ecx
push 0x20
push eax
call sub.VCRUNTIME140.dll_memset
mov ecx, dword [ebp + 0xc]
add esp, 0xc
cmp esi, 0x12b
mov eax, 0x12b
cmovg esi, eax
push str._s__15s___s
mov byte [esp + esi + 0x94], 0
mov esi, dword [ebp + 8]
mov eax, dword [esi + ebx*8 + 0xc]
push dword [eax + ecx]
lea eax, [esp + 0x98]
push dword [esi + ebx*8]
push eax
push 0x351
jmp 0x403080
test edi, edi
je 0x402fc6
cmp byte [edi], 0
je 0x402fc6
mov eax, dword [ebp + 0xc]
mov esi, dword [esi + ebx*8 + 0xc]
add eax, esi
je 0x402fb9
cmp byte [eax], 0
je 0x402fb9
mov dl, byte [eax]
cmp dl, byte [edi]
jne 0x402fb2
test dl, dl
je 0x402fae
mov dl, byte [eax + 1]
cmp dl, byte [edi + 1]
jne 0x402fb2
add eax, 2
add edi, 2
test dl, dl
jne 0x402f92
xor eax, eax
jmp 0x402fbc
sbb eax, eax
or eax, 1
jmp 0x402fbc
or eax, 0xffffffff
test eax, eax
je 0x401e58
jmp 0x402fe0
mov eax, dword [ebp + 0xc]
mov edi, esi
mov esi, dword [edi + ebx*8 + 0xc]
add eax, esi
je 0x401c0a
cmp byte [eax], 0
je 0x401c0a
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x402fe3
sub ecx, edx
mov edx, dword [ebp + 0xc]
add edx, esi
lea esi, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x402ff4
sub edx, esi
add ecx, 0x64
mov esi, dword [ebp + 0x10]
lea eax, [edx + esi*2]
add eax, ecx
push eax
mov dword [esp + 0x3c], eax
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov edi, eax
add esp, 4
mov dword [esp + 0x30], edi
test edi, edi
je 0x403492
lea esi, [esi + esi*2]
mov ecx, 0x12b
cmp esi, 0x12b
mov eax, esi
cmovg eax, ecx
push eax
lea eax, [esp + 0x94]
push 0x20
push eax
call sub.VCRUNTIME140.dll_memset
mov ecx, dword [ebp + 8]
add esp, 0xc
cmp esi, 0x12b
mov eax, 0x12b
cmovg esi, eax
mov eax, dword [ecx + ebx*8 + 0xc]
add eax, dword [ebp + 0xc]
push str._s__15s___s
push eax
push dword [ecx + ebx*8]
lea eax, [esp + 0x9c]
mov byte [esp + esi + 0x9c], 0
push eax
push 0x35f
push 0x4ef374
push str._s__15s___s
push dword [esp + 0x54]
push edi
call fcn.00482bc0
mov edi, dword [esp + 0x54]
add esp, 0x24
test edi, edi
je 0x403492
xor esi, esi
lea ecx, [edi + 1]
mov al, byte [edi]
inc edi
test al, al
jne 0x4030a8
sub edi, ecx
lea eax, [edi*2 + 0x64]
push eax
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov ecx, eax
add esp, 4
mov eax, dword [esp + 0x30]
mov dword [esp + 0x44], ecx
mov dword [esp + 0x54], eax
mov dl, byte [eax]
test dl, dl
je 0x40314c
mov edi, dword [ebp + 8]
nop dword [eax]
movsx eax, dl
add eax, 0xfffffff7
cmp eax, 0x53
ja case.0x4030f2.12
movzx eax, byte [eax + 0x4037c0]
jmp dword [eax*4 + 0x4037a0]
mov byte [ecx], 0x5c
inc ecx
mov byte [ecx], 0x5c
jmp 0x40313c
mov byte [ecx], 0x5c
inc ecx
mov byte [ecx], 0x72
jmp 0x40313c
mov byte [ecx], 0x5c
inc ecx
mov byte [ecx], 0x6e
jmp 0x40313c
mov byte [ecx], 0x5c
inc ecx
mov byte [ecx], 0x74
jmp 0x40313c
mov byte [ecx], 0x5c
inc ecx
mov byte [ecx], 0x76
jmp 0x40313c
test dword [edi + ebx*8 + 4], 0x10000
je case.0x4030f2.12
test esi, esi
mov eax, 1
cmove esi, eax
mov byte [ecx], dl
mov eax, dword [esp + 0x54]
inc ecx
inc eax
mov dword [esp + 0x54], eax
mov dl, byte [eax]
test dl, dl
jne 0x4030e0
mov byte [ecx], 0
mov ecx, dword [esp + 0x44]
dec ecx
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x403154
mov ax, word [0x4ef3c8]
push dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_realloc]
mov word [ecx], ax
mov al, byte [0x4ef3ca]
push 0
mov byte [ecx + 2], al
lea eax, [esp + 0x3c]
push dword [esp + 0x4c]
push eax
push 0
call fcn.0047c8c0
mov ebx, dword [esp + 0x38]
add esp, 0x14
test eax, eax
je 0x40365f
inc ebx
cmp dword [esp + 0x30], 0
mov dword [esp + 0x24], ebx
je 0x4031e6
lea eax, [esp + 0x30]
push eax
call fcn.0047e900
mov esi, dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 4
push dword [esp + 0x30]
call esi
add esp, 4
mov dword [esp + 0x30], 0
jmp 0x4031ec
test esi, esi
je case.0x4030f2.12
inc esi
cmp esi, 2
jle case.0x4030f2.12
mov byte [ecx], 0x5c
inc ecx
mov byte [ecx], 0x73
jmp 0x40313c
mov esi, dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
cmp dword [esp + 0x44], 0
je 0x403211
lea eax, [esp + 0x44]
push eax
call fcn.0047e900
add esp, 4
push dword [esp + 0x44]
call esi
add esp, 4
mov dword [esp + 0x44], 0
mov edi, dword [ebp + 8]
mov esi, dword [ebp + 0xc]
jmp 0x40349c
mov ecx, dword [esp + 0x20]
test ecx, ecx
je 0x40322d
cmp dword [ecx], 0
je 0x4034f5
mov eax, dword [esi + ebx*8 + 0x1c]
cmp eax, 0xffffffff
je 0x40324a
mov ecx, dword [ebp + 0xc]
mov eax, dword [eax + ecx]
mov ecx, dword [esp + 0x20]
cmp eax, dword [esi + ebx*8 + 0x20]
jne 0x4034f5
test edi, edi
je 0x403295
cmp byte [edi], 0
je 0x403295
mov eax, dword [esi + ebx*8 + 0xc]
mov esi, dword [ebp + 0xc]
add eax, esi
je 0x4032b1
cmp byte [eax], 0
je 0x4032b1
mov cl, byte [eax]
cmp cl, byte [edi]
jne 0x403283
test cl, cl
je 0x40327f
mov cl, byte [eax + 1]
cmp cl, byte [edi + 1]
jne 0x403283
add eax, 2
add edi, 2
test cl, cl
jne 0x403263
xor eax, eax
jmp 0x403288
sbb eax, eax
or eax, 1
mov edi, dword [ebp + 8]
test eax, eax
je 0x401c0d
jmp 0x4032b4
mov edi, esi
mov esi, dword [ebp + 0xc]
mov eax, dword [edi + ebx*8 + 0xc]
add eax, esi
je 0x401e62
cmp byte [eax], 0
je 0x401e62
jmp 0x4032b4
mov edi, dword [ebp + 8]
mov eax, dword [edi + ebx*8 + 8]
lea eax, [eax*2 + 1]
push eax
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
add esp, 4
mov dword [esp + 0x4c], eax
mov eax, dword [edi + ebx*8 + 8]
xor esi, esi
test dword [edi + ebx*8 + 4], 0x200
je 0x40330e
test eax, eax
jle 0x40333c
mov eax, dword [edi + ebx*8 + 0xc]
mov ecx, dword [ebp + 0xc]
mov eax, dword [eax + ecx]
movzx eax, byte [eax + esi]
push eax
mov eax, dword [esp + 0x50]
push str._02X
lea eax, [eax + esi*2]
push eax
call fcn.004010a0
inc esi
add esp, 0xc
cmp esi, dword [edi + ebx*8 + 8]
jl 0x4032e1
jmp 0x40333c
test eax, eax
jle 0x40333c
mov eax, dword [edi + ebx*8 + 0xc]
mov ecx, dword [ebp + 0xc]
add eax, esi
movzx eax, byte [eax + ecx]
push eax
mov eax, dword [esp + 0x50]
push str._02X
lea eax, [eax + esi*2]
push eax
call fcn.004010a0
inc esi
add esp, 0xc
cmp esi, dword [edi + ebx*8 + 8]
jl 0x403312
mov edx, dword [edi + ebx*8]
lea ecx, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x403342
sub edx, ecx
mov ecx, dword [esp + 0x4c]
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x403352
sub ecx, esi
add edx, 0x64
mov esi, dword [ebp + 0x10]
lea eax, [ecx + esi*2]
add eax, edx
push eax
mov dword [esp + 0x3c], eax
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov edi, eax
add esp, 4
mov dword [esp + 0x30], edi
test edi, edi
je 0x4033f1
lea esi, [esi + esi*2]
mov ecx, 0x12b
cmp esi, 0x12b
mov eax, esi
cmovg eax, ecx
push eax
lea eax, [esp + 0x94]
push 0x20
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov eax, 0x12b
cmp esi, 0x12b
cmovg esi, eax
mov eax, dword [ebp + 8]
push str._s__15s___s_r_n
push dword [esp + 0x50]
push dword [eax + ebx*8]
lea eax, [esp + 0x9c]
mov byte [esp + esi + 0x9c], 0
push eax
push 0x3ba
push 0x4ef374
push str._s__15s___s_r_n
push dword [esp + 0x54]
push edi
call fcn.00482bc0
add esp, 0x24
cmp dword [esp + 0x4c], 0
je 0x40341e
lea eax, [esp + 0x4c]
push eax
call fcn.0047e900
mov esi, dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 4
push dword [esp + 0x4c]
call esi
add esp, 4
mov dword [esp + 0x4c], 0
jmp 0x403424
mov esi, dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov edi, dword [esp + 0x30]
test edi, edi
je 0x403492
push dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_realloc]
lea eax, [esp + 0x38]
push 0
push edi
push eax
push 0
call fcn.0047c8c0
mov ebx, dword [esp + 0x38]
add esp, 0x14
test eax, eax
je 0x40365f
inc ebx
cmp dword [esp + 0x30], 0
mov dword [esp + 0x24], ebx
je 0x403211
lea eax, [esp + 0x30]
push eax
call fcn.0047e900
add esp, 4
push dword [esp + 0x30]
call esi
mov edi, dword [ebp + 8]
add esp, 4
mov esi, dword [ebp + 0xc]
mov dword [esp + 0x30], 0
jmp 0x40349c
mov edi, dword [ebp + 8]
mov esi, dword [ebp + 0xc]
mov ebx, dword [esp + 0x24]
jmp 0x4034a0
mov edi, dword [ebp + 8]
mov esi, dword [ebp + 0xc]
mov ebx, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
cmp byte [esp + 0x430], 0
je 0x401e62
push dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_realloc]
lea eax, [esp + 0x434]
push 0
push eax
lea eax, [esp + 0x40]
push eax
push 0
call fcn.0047c8c0
add esp, 0x14
test eax, eax
je 0x40365f
mov eax, dword [esp + 0x28]
inc ebx
mov ecx, dword [esp + 0x20]
inc eax
mov edx, dword [ebp + 0x10]
xorps xmm0, xmm0
mov dword [esp + 0x24], ebx
jmp 0x40193c
mov edi, esi
jmp 0x401e5b
mov eax, dword [esp + 0x28]
mov edi, esi
mov esi, dword [ebp + 0xc]
inc eax
mov edx, dword [ebp + 0x10]
xorps xmm0, xmm0
jmp 0x40193c
mov eax, dword [esp + 0x28]
xorps xmm0, xmm0
mov edi, dword [ebp + 8]
inc eax
mov edx, dword [ebp + 0x10]
jmp 0x40193c
cmp dword [esp + 0x58], 0
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x28]
je 0x403542
test ecx, ecx
je 0x403562
cmp dword [ecx], 0
je 0x403546
mov esi, dword [esp + 0x60]
dec edx
mov dword [ebp + 0xc], esi
mov dword [ebp + 0x10], edx
jmp 0x403546
test ecx, ecx
je 0x403556
mov ebx, dword [esp + 0x50]
cmp ebx, dword [ecx]
mov ebx, dword [esp + 0x24]
jl 0x401892
mov ebx, dword [esp + 0x24]
test eax, eax
js 0x401892
mov ebx, dword [esp + 0x24]
lea eax, [eax + eax*2]
add eax, eax
cmp dword [edi + eax*8], 0
jne 0x401892
test ebx, ebx
je 0x403622
lea esi, [edx + edx*2]
mov edi, 0x12b
cmp esi, 0x12b
mov eax, esi
cmovg eax, edi
push eax
lea eax, [esp + 0x94]
push 0x20
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea eax, [esp + 0x90]
cmp esi, edi
cmovg esi, edi
push str._send_r_n
push eax
push 0x3d8
push 0x4ef374
push str._send_r_n
lea eax, [esp + 0x444]
mov byte [esp + esi + 0xa4], 0
push 0x2710
push eax
call fcn.00482bc0
mov esi, dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_realloc]
lea eax, [esp + 0x44c]
add esp, 0x1c
push esi
push 0
push eax
lea eax, [esp + 0x40]
push eax
push 0
call fcn.0047c8c0
add esp, 0x14
test eax, eax
je 0x40365f
mov eax, dword [esp + 0x34]
push esi
push 0
add eax, 4
push eax
push dword [esp + 0x74]
push 0
call fcn.0047c8c0
add esp, 0x14
test eax, eax
je 0x40365f
mov edi, 1
cmp dword [esp + 0x44], 0
je 0x4036e7
lea eax, [esp + 0x44]
push eax
call fcn.0047e900
mov esi, dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 4
push dword [esp + 0x44]
call esi
add esp, 4
mov dword [esp + 0x44], 0
jmp 0x4036ed
mov ebx, dword [esp + 0x24]
call fcn.00493410
test eax, eax
je 0x4036e0
call fcn.00493410
cmp dword [eax], 0
je 0x4036e0
mov eax, dword [0x52e820]
test eax, eax
je 0x40368b
mov esi, dword [eax + 0x190]
jmp 0x403691
mov esi, dword [0x52e824]
call fcn.00493410
test eax, eax
je 0x4036a3
call fcn.00493410
mov edi, dword [eax]
jmp 0x4036a5
xor edi, edi
push str.Error_writing_to_file__s:__s
push 0
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
call fcn.0047f8c0
add esp, 8
push eax
push 0
push str.Error_writing_to_file__s:__s
push dword [0x52e820]
push esi
push 0
push 0x3e6
push 0x4ef374
push 0x103
call edi
add esp, 0x28
xor edi, edi
jmp 0x403627
mov esi, dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
cmp dword [esp + 0x30], 0
je 0x403712
lea eax, [esp + 0x30]
push eax
call fcn.0047e900
add esp, 4
push dword [esp + 0x30]
call esi
add esp, 4
mov dword [esp + 0x30], 0
cmp dword [esp + 0x34], 0
je 0x403737
lea eax, [esp + 0x34]
push eax
call fcn.0047e900
add esp, 4
push dword [esp + 0x34]
call esi
add esp, 4
mov dword [esp + 0x34], 0
cmp dword [esp + 0x2c], 0
je 0x403754
lea eax, [esp + 0x2c]
push eax
call fcn.0047e900
add esp, 4
push dword [esp + 0x2c]
call esi
add esp, 4
or eax, 0xffffffff
test edi, edi
cmovne eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret