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

Disassembly:
sub esp, 0x34
push ebp
push esi
push edi
mov edi, dword [esp + 0x44]
mov eax, dword [edi + 0x34]
shl eax, 5
push eax
push dword [edi + 0x48]
call sub.MSVCRT.dll_realloc
mov dword [edi + 0x48], eax
mov eax, dword [edi + 0x34]
shl eax, 4
push eax
push dword [edi + 0x4c]
call sub.MSVCRT.dll_realloc
mov esi, dword [edi + 0x34]
mov dword [edi + 0x4c], eax
lea eax, [esi*4]
push eax
call sub.MSVCRT.dll_malloc
mov dword [edi + 0x40], eax
lea eax, [esi*8]
push eax
call sub.MSVCRT.dll_malloc
mov dword [edi + 0x3c], eax
mov eax, esi
shl eax, 4
push eax
call sub.MSVCRT.dll_malloc
xor ebp, ebp
mov dword [edi + 0x44], eax
add esp, 0x1c
mov dword [esp + 0x44], ebp
test esi, esi
jle 0x4313af
push ebx
test ebp, ebp
jne 0x4310d7
mov ecx, dword [edi + 0x40]
mov eax, dword [edi + 0x5c]
mov esi, dword [esp + 0x4c]
mov ebx, dword [esp + 0x50]
mov dword [ecx], eax
mov eax, dword [edi + 0x3c]
mov dword [eax], esi
mov dword [eax + 4], ebx
mov ecx, dword [edi]
test ecx, ecx
je 0x4310c2
mov eax, dword [edi + 0x2c4]
test eax, eax
je 0x4310c2
push ebp
push ebx
push esi
push ecx
call eax
add esp, 0x10
cmp eax, 0xffffffff
je 0x4310c2
lea eax, [edi + 0x18]
mov dword [edi + 8], esi
push eax
mov dword [edi + 0xc], ebx
call fcn.00446670
add esp, 4
jmp 0x43115b
mov eax, dword [edi + 0x3c]
mov dword [eax], 0xffffffff
mov dword [eax + 4], 0xffffffff
jmp 0x43115b
mov eax, dword [edi + 0x38]
mov ecx, dword [edi]
mov esi, dword [eax + ebp*8]
mov ebx, dword [eax + ebp*8 + 4]
test ecx, ecx
je 0x431149
mov eax, dword [edi + 0x2c4]
test eax, eax
je 0x431149
push 0
push ebx
push esi
push ecx
call eax
add esp, 0x10
cmp eax, 0xffffffff
je 0x431149
lea eax, [edi + 0x18]
mov dword [edi + 8], esi
push eax
mov dword [edi + 0xc], ebx
call fcn.00446670
mov eax, dword [edi + 0x40]
push 0
lea eax, [eax + ebp*4]
push eax
mov eax, ebp
shl eax, 4
add eax, dword [edi + 0x4c]
push eax
mov eax, ebp
shl eax, 5
add eax, dword [edi + 0x48]
push eax
push edi
call fcn.0042f9d0
add esp, 0x18
test eax, eax
js 0x431149
mov ecx, dword [edi + 0x3c]
mov eax, dword [edi + 8]
mov dword [ecx + ebp*8], eax
mov eax, dword [edi + 0xc]
mov dword [ecx + ebp*8 + 4], eax
jmp 0x43115b
mov eax, dword [edi + 0x3c]
mov dword [eax + ebp*8], 0xffffffff
mov dword [eax + ebp*8 + 4], 0xffffffff
mov ecx, dword [edi + 0x3c]
mov eax, dword [ecx + ebp*8]
and eax, dword [ecx + ebp*8 + 4]
cmp eax, 0xffffffff
je 0x4312b9
mov eax, dword [esp + 0x48]
lea ecx, [edi + 0x78]
xor ebx, ebx
xor ebp, ebp
or esi, 0xffffffff
lea edx, [eax*4]
mov eax, dword [edi + 0x40]
mov dword [esp + 0x10], edx
push dword [edx + eax]
push ecx
call fcn.00446430
push esi
push esi
lea eax, [esp + 0x24]
push eax
push edi
call fcn.0042fc80
add esp, 0x18
test edx, edx
jl 0x4312a5
jg 0x4311b5
test eax, eax
jb 0x4312a5
lea eax, [esp + 0x14]
push eax
call fcn.00445bd0
add esp, 4
test eax, eax
jne 0x431297
lea eax, [esp + 0x14]
push eax
call fcn.00445d30
mov ecx, dword [edi + 0x40]
add esp, 4
mov edx, dword [esp + 0x10]
cmp eax, dword [edx + ecx]
jne 0x43125d
lea eax, [esp + 0x14]
push eax
lea eax, [edi + 0x78]
push eax
call fcn.004460a0
lea eax, [esp + 0x2c]
push eax
lea eax, [edi + 0x78]
push eax
call fcn.00446060
add esp, 0x10
test eax, eax
je 0x431249
jle 0x431234
lea eax, [esp + 0x24]
push eax
mov eax, dword [esp + 0x4c]
shl eax, 5
add eax, dword [edi + 0x48]
push eax
call fcn.00434020
add esp, 8
mov ecx, eax
cmp esi, 0xffffffff
je 0x431232
lea eax, [ecx + esi]
sar eax, 2
cdq
add ebx, eax
adc ebp, edx
mov esi, ecx
lea eax, [esp + 0x24]
push eax
lea eax, [edi + 0x78]
push eax
call fcn.00446060
add esp, 8
test eax, eax
jne 0x431206
lea eax, [esp + 0x14]
push eax
call fcn.00445ca0
and eax, edx
add esp, 4
cmp eax, 0xffffffff
jne 0x431282
push 0xffffffffffffffff
push 0xffffffffffffffff
lea eax, [esp + 0x1c]
push eax
push edi
call fcn.0042fc80
add esp, 0x10
test edx, edx
jl 0x431297
jg 0x4311b5
test eax, eax
jb 0x431297
jmp 0x4311b5
lea eax, [esp + 0x14]
push eax
call fcn.00445ca0
add esp, 4
sub eax, ebx
mov ebx, eax
sbb edx, ebp
mov ebp, edx
test ebp, ebp
jg 0x4312a5
jl 0x4312a1
test ebx, ebx
jae 0x4312a5
xor ebx, ebx
xor ebp, ebp
mov ecx, dword [esp + 0x48]
mov eax, dword [edi + 0x44]
add ecx, ecx
mov dword [eax + ecx*8], ebx
mov dword [eax + ecx*8 + 4], ebp
mov ebp, dword [esp + 0x48]
mov eax, dword [edi + 0x38]
mov ecx, dword [edi]
mov esi, dword [eax + ebp*8 + 8]
mov ebx, dword [eax + ebp*8 + 0xc]
test ecx, ecx
je 0x431381
mov eax, dword [edi + 0x2c4]
test eax, eax
je 0x431381
push 0
push ebx
push esi
push ecx
call eax
add esp, 0x10
cmp eax, 0xffffffff
je 0x431381
lea eax, [edi + 0x18]
mov dword [edi + 8], esi
push eax
mov dword [edi + 0xc], ebx
call fcn.00446670
lea eax, [esp + 0x18]
push eax
push edi
call fcn.0042fd90
add esp, 0xc
mov ebx, edx
mov esi, eax
test ebx, ebx
jl 0x431381
jg 0x431320
test esi, esi
jb 0x431381
lea ebx, [ebx]
lea eax, [esp + 0x14]
push eax
call fcn.00445d30
mov ecx, dword [edi + 0x40]
add esp, 4
cmp eax, dword [ecx + ebp*4]
jne 0x431349
lea eax, [esp + 0x14]
push eax
call fcn.00445ca0
and eax, edx
add esp, 4
cmp eax, 0xffffffff
jne 0x43135f
lea eax, [esp + 0x14]
mov dword [edi + 8], esi
push eax
push edi
mov dword [edi + 0xc], ebx
call fcn.0042fd90
add esp, 8
jmp 0x43130c
mov esi, ebp
lea eax, [esp + 0x14]
shl esi, 4
add esi, dword [edi + 0x44]
push eax
call fcn.00445ca0
add esp, 4
sub eax, dword [esi]
sbb edx, dword [esi + 4]
mov dword [esi + 8], eax
mov dword [esi + 0xc], edx
jmp 0x4313a0
mov eax, ebp
shl eax, 5
add eax, dword [edi + 0x48]
push eax
call fcn.00434db0
mov eax, ebp
shl eax, 4
add eax, dword [edi + 0x4c]
push eax
call fcn.00434d00
add esp, 8
inc ebp
mov dword [esp + 0x48], ebp
cmp ebp, dword [edi + 0x34]
jl 0x431071
pop ebx
pop edi
pop esi
pop ebp
add esp, 0x34
ret