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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xb4
push ebx
mov ebx, ecx
push esi
push edi
lea ecx, [esp + 0x20]
mov dword [esp + 0x10], ebx
call fcn.0064dc20
mov eax, dword [ebx + 0x4c]
test eax, eax
mov dword [esp + 0x14], eax
je 0x605ba8
cmp eax, 1
jle 0x605b35
lea eax, [ebx + 0x44]
push eax
mov dword [esp + 0x4c], eax
call fcn.0046b810
mov esi, eax
add esp, 4
test esi, esi
mov dword [esp + 0x1c], esi
je 0x605ba8
mov eax, dword [ebp + 8]
cmp eax, 2
jl 0x605674
push eax
mov ecx, esi
call fcn.00500f30
mov eax, dword [ebx + 0x34]
mov ecx, dword [eax + 0x29c]
push ecx
push esi
call fcn.004937b0
mov edi, eax
add esp, 8
test edi, edi
je 0x605699
mov ecx, dword [ebx + 0x34]
push 1
mov edx, dword [ecx]
call dword [edx + 0x64]
jmp 0x6056a2
mov eax, dword [esi]
push 1
mov ecx, esi
call dword [eax + 4]
mov ecx, dword [esp + 0x14]
xor eax, eax
test ecx, ecx
mov dword [esp + 0x4c], eax
jle 0x605aa9
mov ecx, dword [ebx + 0x48]
mov esi, dword [ecx + eax*4]
mov ecx, esi
mov dword [esp + 0x3c], esi
call fcn.004d8830
xor ecx, ecx
mov dword [esp + 0x38], eax
test eax, eax
mov dword [esp + 0x18], ecx
jle 0x605942
push ecx
mov ecx, esi
call fcn.0048f180
mov esi, eax
mov ecx, esi
call fcn.0050ba10
cmp eax, 2
je 0x605929
test eax, eax
jne 0x605881
mov edx, dword [esi]
push eax
mov ecx, esi
call dword [edx + 0x68]
mov esi, eax
lea eax, [esp + 0x60]
push eax
mov ecx, esi
call fcn.004ac900
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], edx
mov ecx, dword [eax + 8]
mov edx, dword [eax + 0xc]
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], edx
mov ecx, dword [eax + 0x10]
mov edx, dword [eax + 0x14]
mov dword [esp + 0x30], ecx
mov ecx, esi
mov dword [esp + 0x34], edx
call fcn.0050be00
mov eax, dword [esp + 0x1c]
lea ecx, [esp + 0x58]
push ecx
lea edx, [esp + 0x24]
mov ebx, dword [eax]
sub esp, 0x18
mov ecx, esp
push edx
call fcn.0064dc70
mov edx, ebx
mov ebx, dword [esp + 0x38]
lea eax, [esp + 0xac]
push eax
mov ecx, ebx
call dword [edx + 0x98]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], edx
mov ecx, dword [eax + 8]
mov edx, dword [eax + 0xc]
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], edx
mov ecx, dword [eax + 0x10]
mov edx, dword [eax + 0x14]
mov dword [esp + 0x30], ecx
mov dword [esp + 0x34], edx
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0xb8]
fstp qword [esp + 0x50]
mov ebx, dword [ebx]
sub esp, 0x18
lea edx, [esp + 0x38]
mov ecx, esp
push edx
call fcn.0064dc70
mov ecx, dword [esp + 0x34]
call dword [ebx + 0xc0]
fstp qword [esp + 0x40]
fld qword [esp + 0x50]
fmul qword [0x691ac8]
fcomp qword [esp + 0x40]
fnstsw ax
test ah, 0x41
jne 0x6057ef
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x40]
push eax
push ecx
mov ecx, esi
call fcn.0050ba40
push 0
jmp 0x605806
fld qword [esp + 0x50]
fsub qword [esp + 0x40]
sub esp, 8
mov ecx, esi
fstp qword [esp]
call fcn.0050ba40
push 1
mov ecx, esi
call fcn.0050bc70
sub esp, 0x18
lea edx, [esp + 0x38]
mov ecx, esp
push edx
call fcn.0064dc70
mov ecx, esi
call fcn.004d54d0
push edi
mov ecx, esi
call fcn.004ac930
push edi
mov ecx, esi
call fcn.0050bab0
mov eax, dword [esp + 0x10]
push 0
push esi
mov ecx, dword [eax + 0x34]
mov edx, dword [ecx + 0x29c]
mov ecx, edi
push edx
call fcn.0048f190
mov ecx, esi
call fcn.004b8010
test eax, eax
je 0x60585e
push esi
mov ecx, eax
call fcn.004b8220
xor ebx, ebx
mov eax, dword [esp + 0x10]
push edi
mov ecx, dword [eax + 0x48]
mov edx, dword [ecx + ebx*4]
mov ecx, esi
push edx
call fcn.004bd1e0
mov eax, dword [esp + 0x14]
inc ebx
cmp ebx, eax
jl 0x605860
jmp 0x605929
cmp eax, 1
jne 0x605929
mov ecx, esi
call fcn.004ac920
mov ebx, eax
test ebx, ebx
je 0x605929
mov ecx, dword [esp + 0x48]
xor eax, eax
mov edx, dword [ecx + 8]
test edx, edx
jle 0x6058bd
mov ecx, dword [ecx + 4]
cmp ebx, dword [ecx]
je 0x6058b9
inc eax
add ecx, 4
cmp eax, edx
jl 0x6058ab
jmp 0x6058bd
test eax, eax
jge 0x605929
mov eax, dword [esi]
push 0
mov ecx, esi
call dword [eax + 0x68]
mov esi, eax
push ebx
mov ecx, esi
call fcn.004ac930
push esi
mov ecx, ebx
call fcn.004903c0
push edi
mov ecx, esi
call fcn.0050bab0
mov ecx, dword [esp + 0x10]
push 0
push esi
mov edx, dword [ecx + 0x34]
mov ecx, edi
mov eax, dword [edx + 0x29c]
push eax
call fcn.0048f190
mov ecx, esi
call fcn.004b8010
test eax, eax
je 0x60590b
push esi
mov ecx, eax
call fcn.004b8220
xor ebx, ebx
mov ecx, dword [esp + 0x10]
push edi
mov edx, dword [ecx + 0x48]
mov ecx, esi
mov eax, dword [edx + ebx*4]
push eax
call fcn.004bd1e0
mov eax, dword [esp + 0x14]
inc ebx
cmp ebx, eax
jl 0x60590d
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x38]
mov esi, dword [esp + 0x3c]
inc ecx
cmp ecx, eax
mov dword [esp + 0x18], ecx
jl 0x6056d7
mov ecx, esi
call fcn.004da3c0
cmp eax, 2
mov dword [esp + 0x38], eax
jle 0x605a90
mov ecx, 2
mov dword [esp + 0x18], ecx
push ecx
mov ecx, dword [esp + 0x40]
call fcn.0048ee80
mov edx, dword [eax]
push 0
mov ecx, eax
call dword [edx + 0x68]
mov esi, eax
lea eax, [esp + 0x78]
push eax
mov ecx, esi
call fcn.004ac900
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], edx
mov ecx, dword [eax + 8]
mov edx, dword [eax + 0xc]
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], edx
mov ecx, dword [eax + 0x10]
mov edx, dword [eax + 0x14]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x30], ecx
lea ecx, [esp + 0x58]
mov dword [esp + 0x34], edx
mov ebx, dword [eax]
push ecx
sub esp, 0x18
lea edx, [esp + 0x3c]
mov ecx, esp
push edx
call fcn.0064dc70
mov ecx, dword [esp + 0x38]
lea eax, [esp + 0xc4]
push eax
call dword [ebx + 0x98]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], edx
mov ecx, dword [eax + 8]
mov edx, dword [eax + 0xc]
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], edx
mov ecx, dword [eax + 0x10]
mov edx, dword [eax + 0x14]
sub esp, 0x18
mov dword [esp + 0x48], ecx
lea eax, [esp + 0x38]
mov ecx, esp
push eax
mov dword [esp + 0x50], edx
call fcn.0064dc70
mov ecx, esi
call fcn.004d54d0
push edi
mov ecx, esi
call fcn.004ac930
push esi
mov ecx, edi
call fcn.0048ee90
mov ecx, edi
call fcn.0048fc00
test eax, eax
je 0x605a37
push esi
mov ecx, eax
call fcn.004d90d0
mov ecx, dword [esp + 0x10]
push esi
mov edx, dword [ecx + 0x34]
mov ecx, dword [edx + 0x29c]
call fcn.0049d780
mov ecx, esi
call fcn.004b8010
test eax, eax
je 0x605a5d
push esi
mov ecx, eax
call fcn.004b8220
xor ebx, ebx
mov eax, dword [esp + 0x10]
push edi
mov ecx, dword [eax + 0x48]
mov edx, dword [ecx + ebx*4]
mov ecx, esi
push edx
call fcn.004bd1e0
mov eax, dword [esp + 0x14]
inc ebx
cmp ebx, eax
jl 0x605a5f
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x38]
inc ecx
cmp ecx, eax
mov dword [esp + 0x18], ecx
jl 0x60595f
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x14]
mov ebx, dword [esp + 0x10]
inc eax
cmp eax, ecx
mov dword [esp + 0x4c], eax
jl 0x6056b4
mov eax, dword [esp + 0x14]
xor esi, esi
test eax, eax
jle 0x605ad3
mov eax, dword [ebx + 0x34]
mov edx, dword [ebx + 0x48]
push 0
mov ecx, dword [eax + 0x29c]
push ecx
mov ecx, dword [edx + esi*4]
call fcn.004933f0
mov eax, dword [esp + 0x14]
inc esi
cmp esi, eax
jl 0x605ab3
mov ebx, dword [esp + 0x48]
xor esi, esi
mov eax, dword [ebx + 8]
test eax, eax
jle 0x605af9
mov eax, dword [ebx + 4]
mov ecx, dword [eax + esi*4]
test ecx, ecx
je 0x605af1
mov edx, dword [ecx]
push 1
call dword [edx + 4]
mov eax, dword [ebx + 8]
inc esi
cmp esi, eax
jl 0x605ae0
mov eax, dword [ebx + 4]
mov dword [ebx + 0x10], 0xa
test eax, eax
je 0x605b17
push eax
call fcn.0065e732
add esp, 4
mov dword [ebx + 4], 0
push 1
xor eax, eax
push 1
push 1
mov ecx, edi
mov dword [ebx + 0xc], eax
mov dword [ebx + 8], eax
call fcn.00498b40
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
jne 0x605ba8
mov eax, dword [ebx + 0x48]
mov edi, dword [eax]
mov ecx, edi
call fcn.004da3a0
mov esi, eax
cmp dword [esi + 0x10], 4
je 0x605b66
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x164]
test esi, esi
mov ebx, eax
je 0x605b64
mov eax, dword [esi]
push 1
mov ecx, esi
call dword [eax + 4]
mov esi, ebx
mov eax, dword [ebp + 8]
cmp eax, 2
jge 0x605b73
mov eax, 5
push eax
mov ecx, esi
call fcn.00500f30
push esi
mov ecx, edi
call fcn.004da3b0
push 1
push 1
push 1
mov ecx, edi
call fcn.00498b40
push 3
mov ecx, edi
call fcn.004d8810
test eax, eax
je 0x605ba8
push 0
push 3
mov ecx, edi
call fcn.0048ed30
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4