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

Disassembly:
sub esp, 0x6c
push ebx
push esi
push edi
mov esi, ecx
push ebp
mov edi, dword [0x4c32fc]
push 0x15
call edi
mov dword [esp + 0x54], eax
push 2
call edi
mov ecx, esi
mov dword [esp + 0x58], eax
call fcn.004a7e82
mov eax, dword [eax + 0x20]
mov edi, 1
push eax
call dword [0x4c324c]
push eax
call fcn.004a7f06
mov ebp, eax
test ebp, ebp
jne 0x4255b1
xor edi, edi
call dword [0x4c32f8]
push eax
call fcn.004a7f06
mov ebp, eax
cmp dword [esi + 0x50], 0
je 0x425973
cmp dword [esi + 0x54], 0
je 0x425973
mov ecx, esi
call fcn.004a7e82
mov eax, dword [eax + 0x20]
mov ebx, dword [0x4c3288]
push eax
call ebx
test eax, eax
jne 0x425967
call fcn.004a7f30
mov eax, dword [eax + 4]
mov ecx, dword [eax + 0x20]
mov edx, dword [ecx + 0x20]
push edx
call ebx
test eax, eax
jne 0x425967
mov ecx, esi
call fcn.004a7e82
mov eax, dword [eax + 0x20]
push eax
call dword [0x4c328c]
test eax, eax
je 0x42561a
xor eax, eax
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x6c
ret 0xc
lea eax, [esp + 0x24]
mov ecx, dword [ebp + 0x20]
push eax
push ecx
call dword [0x4c3298]
lea ecx, [esp + 0x34]
mov eax, dword [esi + 0x20]
push ecx
push eax
call dword [0x4c323c]
test edi, edi
je 0x42565a
lea eax, [esp + 0x34]
mov ecx, dword [ebp + 0x20]
push eax
mov ebx, dword [0x4c3244]
push ecx
call ebx
lea ecx, [esp + 0x3c]
mov eax, dword [ebp + 0x20]
push ecx
push eax
call ebx
jmp 0x425660
mov ebx, dword [0x4c3244]
mov ecx, esi
call fcn.004a7e82
lea ecx, [esp + 0x44]
mov eax, dword [eax + 0x20]
push ecx
push eax
call dword [0x4c323c]
test edi, edi
je 0x425690
lea eax, [esp + 0x44]
mov ecx, dword [ebp + 0x20]
push eax
push ecx
call ebx
lea ecx, [esp + 0x4c]
mov edx, dword [ebp + 0x20]
push ecx
push edx
call ebx
mov eax, dword [esp + 0x34]
sub eax, dword [esp + 0x44]
cdq
xor eax, edx
sub eax, edx
mov ebx, eax
mov eax, dword [esp + 0x4c]
sub eax, dword [esp + 0x3c]
cdq
xor eax, edx
sub eax, edx
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x38]
sub eax, dword [esp + 0x48]
cdq
xor eax, edx
sub eax, edx
mov ebp, eax
mov eax, dword [esp + 0x50]
sub eax, dword [esp + 0x40]
cdq
xor eax, edx
sub eax, edx
mov dword [esp + 0x78], eax
mov eax, dword [esi + 0x58]
test eax, eax
je 0x4256e2
cmp eax, 2
jne 0x4256ea
cmp dword [esi + 0x5c], 4
jae 0x4256ea
inc dword [esp + 0x74]
inc dword [esp + 0x78]
xor edi, edi
mov eax, 0x64
mov ecx, esi
mov dword [esp + 0x60], edi
mov dword [esp + 0x5c], edi
mov dword [esp + 0x68], eax
mov dword [esp + 0x64], eax
call fcn.004a83aa
push eax
push edi
lea eax, [esp + 0x64]
push edi
push eax
call dword [0x4c3290]
mov ecx, dword [esp + 0x64]
mov eax, dword [esp + 0x34]
sub ecx, dword [esp + 0x5c]
sub eax, ebx
sub ecx, 0x64
mov dword [esp + 0x20], edi
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x38]
sub eax, ebp
mov dword [esp + 0x14], eax
mov ebx, dword [esi + 0x48]
test ebx, ebx
jle 0x425748
mov ebp, dword [esi + 0x50]
imul ebp, ebx
jmp 0x425752
mov eax, dword [esi + 0x50]
cdq
idiv ebx
neg eax
mov ebp, eax
mov edi, dword [esi + 0x4c]
mov eax, dword [esi + 0x54]
test edi, edi
jle 0x425761
imul eax, edi
jmp 0x425766
cdq
idiv edi
neg eax
lea edx, [ecx + ebp]
add eax, ecx
add edx, dword [esp + 0x34]
add eax, dword [esp + 0x38]
add edx, dword [esp + 0x74]
add eax, dword [esp + 0x78]
mov dword [esp + 0x18], edx
mov dword [esp + 0x1c], eax
cmp dword [esp + 0x84], 0
je 0x4257e9
mov eax, dword [esp + 0x2c]
sub edx, dword [esp + 0x10]
sub eax, dword [esp + 0x24]
cmp eax, edx
jl 0x4257b1
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0x1c]
sub eax, dword [esp + 0x28]
sub edx, dword [esp + 0x14]
cmp eax, edx
jge 0x4257e9
dec ebx
dec edi
mov dword [esi + 0x48], ebx
mov dword [esi + 0x4c], edi
test ebx, ebx
jne 0x4257c4
mov dword [esi + 0x48], 0xfffffffe
test edi, edi
jne 0x4257cf
mov dword [esi + 0x4c], 0xfffffffe
mov edx, 1
mov eax, dword [esp + 0x88]
mov dword [esp + 0x20], edx
cmp dword [esi + 0x48], eax
jle 0x4257e9
cmp dword [esi + 0x4c], eax
jg 0x4257eb
xor edx, edx
test edx, edx
jne 0x425739
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x80]
cmp dword [esp + 0x2c], eax
jge 0x42584c
test ecx, ecx
je 0x425832
mov edx, eax
mov eax, dword [esp + 0x2c]
sub edx, dword [esp + 0x10]
sub eax, dword [esp + 0x18]
add eax, dword [esp + 0x10]
mov dword [esp + 0x10], 0
js 0x425828
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
add eax, edx
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x18]
cmp dword [esp + 0x2c], eax
jge 0x42584c
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x54]
mov dword [esp + 0x18], eax
add dword [esp + 0x1c], edx
mov eax, dword [esp + 0x1c]
cmp dword [esp + 0x30], eax
jge 0x4258b0
test ecx, ecx
je 0x425884
mov ecx, eax
mov eax, dword [esp + 0x30]
sub ecx, dword [esp + 0x14]
sub eax, dword [esp + 0x1c]
add eax, dword [esp + 0x14]
mov dword [esp + 0x14], 0
js 0x42587a
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x14]
add eax, ecx
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x1c]
cmp dword [esp + 0x30], eax
jge 0x4258b0
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x1c], eax
add dword [esp + 0x18], ecx
mov edx, dword [esp + 0x18]
cmp dword [esp + 0x2c], edx
jge 0x4258b0
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x18], eax
lea eax, [esp + 0x44]
lea ecx, [esp + 0x10]
push eax
push ecx
call dword [0x4c3294]
test eax, eax
jne 0x42591b
mov eax, dword [esp + 0x1c]
push 0x14
sub eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
push eax
mov eax, dword [esp + 0x20]
sub eax, dword [esp + 0x18]
push eax
push ecx
push edx
mov eax, dword [0x4c28a4]
push eax
mov ecx, esi
call fcn.004a7e82
mov ecx, eax
call fcn.004a7e2e
cmp dword [esp + 0x20], 0
je 0x42590f
mov eax, dword [esi + 0x4c]
mov ecx, dword [esi + 0x48]
push eax
mov ebx, dword [esi]
push ecx
mov ecx, esi
call dword [ebx + 0x110]
xor eax, eax
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x6c
ret 0xc
cmp dword [esp + 0x20], 0
je 0x42595b
mov eax, dword [esi + 0x4c]
mov ecx, dword [esi + 0x48]
push eax
mov ebx, dword [esi]
push ecx
mov ecx, esi
call dword [ebx + 0x110]
push 1
mov ecx, dword [esi + 0x20]
push 0
push ecx
call dword [0x4c325c]
mov ecx, dword [esi + 0x20]
push ecx
call dword [0x4c3260]
mov eax, 1
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x6c
ret 0xc
xor eax, eax
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x6c
ret 0xc
xor eax, eax
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x6c
ret 0xc
xor eax, eax
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x6c
ret 0xc