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

Disassembly:
sub esp, 0x74
push ebx
mov ebx, dword [esp + 0x80]
push edi
xor edi, edi
cmp dword [ebx], edi
jne 0x438fff
push 0xfffffffffffffffd
pop eax
jmp 0x4394f4
push ebp
mov ebp, dword [esp + 0x84]
push ebx
push ebp
call fcn.00437795
pop ecx
pop ecx
cmp eax, 0xffffffff
jne 0x43904d
cmp dword [esp + 0x90], edi
je 0x43902f
push dword [esp + 0x90]
push ebp
call fcn.00436354
pop ecx
pop ecx
mov edi, eax
cmp dword [esp + 0x8c], 0
je 0x439046
push dword [esp + 0x8c]
call fcn.004354f1
pop ecx
mov eax, edi
jmp 0x4394f3
mov eax, dword [ebp]
add eax, 2
push eax
lea eax, [esp + 0x64]
push eax
call fcn.00436b4a
pop ecx
pop ecx
test eax, eax
jne 0x4394f3
mov eax, dword [ebp]
add eax, 2
mov dword [esp + 0x60], eax
lea eax, [esp + 0x50]
push esi
push eax
call fcn.004351a2
mov esi, eax
pop ecx
test esi, esi
jne 0x4394e5
lea eax, [esp + 0x74]
push eax
call fcn.004351a2
mov esi, eax
pop ecx
test esi, esi
jne 0x4394da
lea eax, [esp + 0x34]
push ebp
push eax
call fcn.00436226
mov esi, eax
pop ecx
pop ecx
test esi, esi
jne 0x4394cf
lea eax, [esp + 0x44]
push ebx
push eax
call fcn.00436226
mov esi, eax
pop ecx
pop ecx
test esi, esi
jne 0x4394c4
mov eax, dword [ebp + 8]
xor ecx, ecx
cmp eax, dword [ebx + 8]
lea eax, [esp + 0x44]
push eax
setne cl
mov dword [esp + 0x50], edi
mov dword [esp + 0x34], ecx
mov dword [esp + 0x40], edi
call fcn.00436200
pop ecx
push 0x1c
pop ecx
cdq
idiv ecx
push 0x1b
pop ebx
cmp edx, ebx
jge 0x439134
lea eax, [esp + 0x34]
sub ebx, edx
push eax
push ebx
push eax
mov dword [esp + 0x2c], ebx
call fcn.00435536
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x4394b9
lea eax, [esp + 0x44]
push eax
push ebx
push eax
call fcn.00435536
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x4394b9
jmp 0x439138
mov dword [esp + 0x20], edi
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x44]
dec ecx
dec eax
mov dword [esp + 0x14], ecx
mov ebx, ecx
mov dword [esp + 0x10], eax
sub ebx, eax
lea eax, [esp + 0x44]
push ebx
push eax
mov dword [esp + 0x20], ebx
call fcn.004363ae
mov esi, eax
pop ecx
pop ecx
test esi, esi
jne 0x4394b9
shl ebx, 2
jmp 0x439196
mov eax, dword [esp + 0x70]
inc dword [ebx + eax]
lea eax, [esp + 0x34]
push eax
lea eax, [esp + 0x48]
push eax
lea eax, [esp + 0x3c]
push eax
call fcn.0043783c
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x4394b9
lea eax, [esp + 0x44]
push eax
lea eax, [esp + 0x38]
push eax
call fcn.00437766
pop ecx
pop ecx
cmp eax, 0xffffffff
jne 0x43916e
push dword [esp + 0x18]
lea eax, [esp + 0x48]
push eax
call fcn.004375e6
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
inc eax
mov dword [esp + 0x24], eax
pop ecx
pop ecx
cmp esi, eax
jl 0x439445
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
dec eax
mov dword [esp + 0x18], eax
cmp esi, dword [esp + 0x34]
jg 0x439430
mov ebp, dword [esp + 0x10]
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0x50]
mov ecx, dword [edx + esi*4]
mov eax, dword [eax + ebp*4]
mov ebp, dword [esp + 0x88]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], eax
cmp ecx, eax
jne 0x43921c
mov eax, dword [esp + 0x70]
mov edx, 0xfffffff
mov dword [ebx + eax - 4], edx
jmp 0x43925a
mov edx, dword [edx + esi*4 - 4]
xor eax, eax
mov esi, dword [esp + 0x24]
xor ecx, ecx
push edi
push dword [esp + 0x2c]
shld eax, esi, 0x1c
or ecx, eax
shl esi, 0x1c
or edx, esi
push ecx
push edx
call fcn.00464150
cmp edx, edi
mov ecx, eax
mov edx, 0xfffffff
ja 0x43924e
cmp ecx, edx
jbe 0x439250
mov ecx, edx
mov eax, dword [esp + 0x70]
and ecx, edx
mov dword [ebx + eax - 4], ecx
mov ecx, dword [esp + 0x70]
mov esi, dword [esp + 0x10]
mov eax, dword [ebx + ecx - 4]
inc eax
and eax, edx
dec esi
mov dword [ebx + ecx - 4], eax
mov dword [esp + 0x28], esi
mov ecx, dword [esp + 0x70]
mov eax, dword [ebx + ecx - 4]
dec eax
and eax, edx
mov dword [ebx + ecx - 4], eax
lea eax, [esp + 0x54]
push eax
call fcn.004354f1
pop ecx
test esi, esi
jns 0x439294
mov ecx, edi
jmp 0x4392a0
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x10]
mov ecx, dword [eax + ecx*4 - 4]
mov eax, dword [esp + 0x60]
mov dword [eax], ecx
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x10]
mov ecx, dword [eax + ecx*4]
mov eax, dword [esp + 0x60]
mov dword [eax + 4], ecx
lea eax, [esp + 0x54]
push eax
mov eax, dword [esp + 0x74]
mov dword [esp + 0x58], 2
push dword [ebx + eax - 4]
lea eax, [esp + 0x5c]
push eax
call fcn.004396ac
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x4394b9
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0x14]
dec eax
add eax, dword [esp + 0x10]
jns 0x4392f7
mov ecx, edi
jmp 0x4392ff
mov eax, dword [esp + 0x40]
mov ecx, dword [eax + esi*4 - 8]
mov eax, dword [esp + 0x80]
mov dword [eax], ecx
mov eax, dword [esp + 0x40]
mov ecx, dword [eax + esi*4 - 4]
mov eax, dword [esp + 0x80]
mov dword [eax + 4], ecx
mov eax, dword [esp + 0x40]
mov ecx, dword [eax + esi*4]
mov eax, dword [esp + 0x80]
mov dword [eax + 8], ecx
lea eax, [esp + 0x74]
push eax
lea eax, [esp + 0x58]
mov dword [esp + 0x78], 3
push eax
call fcn.00437795
mov esi, dword [esp + 0x30]
mov edx, 0xfffffff
pop ecx
pop ecx
cmp eax, 1
je 0x439272
lea eax, [esp + 0x54]
push eax
mov eax, dword [esp + 0x74]
push dword [ebx + eax - 4]
lea eax, [esp + 0x4c]
push eax
call fcn.004396ac
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x4394b9
push dword [esp + 0x18]
lea eax, [esp + 0x58]
push eax
call fcn.004363ae
mov esi, eax
pop ecx
pop ecx
test esi, esi
jne 0x4394b9
lea eax, [esp + 0x34]
push eax
lea eax, [esp + 0x58]
push eax
lea eax, [esp + 0x3c]
push eax
call fcn.0043783c
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x4394b9
cmp dword [esp + 0x3c], 1
jne 0x439424
lea eax, [esp + 0x54]
push eax
lea eax, [esp + 0x48]
push eax
call fcn.00436354
mov esi, eax
pop ecx
pop ecx
test esi, esi
jne 0x4394b9
push dword [esp + 0x18]
lea eax, [esp + 0x58]
push eax
call fcn.004363ae
mov esi, eax
pop ecx
pop ecx
test esi, esi
jne 0x4394b9
lea eax, [esp + 0x34]
push eax
lea eax, [esp + 0x58]
push eax
lea eax, [esp + 0x3c]
push eax
call fcn.004377e5
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x4394b9
mov ecx, dword [esp + 0x70]
mov eax, dword [ebx + ecx - 4]
dec eax
and eax, 0xfffffff
mov dword [ebx + ecx - 4], eax
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0x14]
dec esi
sub ebx, 4
dec eax
mov dword [esp + 0x14], esi
mov dword [esp + 0x18], eax
cmp esi, ecx
jge 0x4391de
cmp dword [esp + 0x34], edi
jne 0x439451
mov dword [esp + 0x3c], edi
jmp 0x439458
mov eax, dword [ebp + 8]
mov dword [esp + 0x3c], eax
mov esi, dword [esp + 0x90]
test esi, esi
je 0x439482
lea eax, [esp + 0x64]
push eax
call fcn.0043550d
lea eax, [esp + 0x68]
push esi
push eax
call fcn.00436b20
mov eax, dword [esp + 0x3c]
add esp, 0xc
mov dword [esi + 8], eax
cmp dword [esp + 0x94], edi
je 0x4394b7
push edi
lea eax, [esp + 0x38]
push eax
push dword [esp + 0x28]
push eax
call fcn.0043625c
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x4394b9
push dword [esp + 0x94]
lea eax, [esp + 0x38]
push eax
call fcn.00436b20
pop ecx
pop ecx
mov esi, edi
lea eax, [esp + 0x44]
push eax
call fcn.00435248
pop ecx
lea eax, [esp + 0x34]
push eax
call fcn.00435248
pop ecx
lea eax, [esp + 0x74]
push eax
call fcn.00435248
pop ecx
lea eax, [esp + 0x54]
push eax
call fcn.00435248
pop ecx
lea eax, [esp + 0x64]
push eax
call fcn.00435248
pop ecx
mov eax, esi
pop esi
pop ebp
pop edi
pop ebx
add esp, 0x74
ret