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

Disassembly:
sub esp, 0x3c
push ebx
push ebp
mov ebp, dword [esp + 0x50]
push esi
mov esi, ecx
mov edx, dword [esi + 0x80]
mov eax, ebp
neg eax
mov ecx, eax
add edx, 1
cmp ecx, ebp
push edi
mov dword [esp + 0x10], edx
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], ecx
jg 0x60c503
cmp eax, ebp
mov dword [esp + 0x58], eax
jg 0x60c4f4
mov edi, dword [esp + 0x54]
lea ebx, [edi + ecx]
mov edi, dword [esp + 0x50]
add edi, eax
lea esp, [esp]
test ebx, ebx
jl 0x60c4e2
cmp ebx, edx
jge 0x60c4e2
test edi, edi
jl 0x60c4e2
cmp edi, edx
jge 0x60c4e2
mov edx, ecx
imul eax, eax
imul edx, ecx
add eax, edx
mov edx, ebp
imul edx, ebp
cmp eax, edx
jg 0x60c4da
sub esp, 8
mov eax, esp
mov dword [eax], edi
mov dword [eax + 4], ebx
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0xd0]
mov ecx, dword [esp + 0x5c]
push 0
add eax, ecx
push 0
push eax
sub esp, 8
mov eax, esp
mov dword [eax], edi
mov dword [eax + 4], ebx
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0xd4]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x58]
add eax, 1
add edi, 1
cmp eax, ebp
mov dword [esp + 0x58], eax
jle 0x60c480
mov eax, dword [esp + 0x18]
add ecx, 1
cmp ecx, ebp
mov dword [esp + 0x14], ecx
jle 0x60c460
mov ecx, dword [esp + 0x50]
mov ebx, dword [esp + 0x54]
mov eax, ecx
lea edi, [ecx + ebp]
lea edx, [ebx + ebp + 1]
sub eax, ebp
mov ecx, ebx
mov dword [esp + 0x38], edx
mov edx, dword [esi + 0x78]
sub ecx, ebp
cmp eax, edx
mov dword [esp + 0x2c], eax
mov dword [esp + 0x34], edi
mov dword [esp + 0x30], ecx
jge 0x60c537
mov eax, edx
mov dword [esp + 0x2c], eax
mov edx, dword [esi + 0x7c]
cmp ecx, edx
jge 0x60c542
mov dword [esp + 0x30], edx
mov ecx, dword [esi + 0x80]
cmp edi, ecx
jle 0x60c550
mov dword [esp + 0x34], ecx
mov ecx, dword [esi + 0x84]
cmp dword [esp + 0x38], ecx
jle 0x60c560
mov dword [esp + 0x38], ecx
or ecx, 0xffffffff
xor edi, edi
cmp dword [esp + 0x64], edi
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], ecx
mov dword [esp + 0x1c], edi
mov dword [esp + 0x20], edi
lea ecx, [esp + 0x1c]
jne 0x60c591
mov eax, dword [esi]
push ecx
lea edx, [esp + 0x30]
push edx
mov ecx, esi
call dword [eax + 0xa8]
jmp 0x60c5ba
push 1
push ecx
sub esp, 0x10
mov ecx, esp
mov dword [ecx], eax
mov edx, dword [esp + 0x48]
mov dword [ecx + 4], edx
mov eax, dword [esp + 0x4c]
mov dword [ecx + 8], eax
mov edx, dword [esp + 0x50]
mov dword [ecx + 0xc], edx
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0xc8]
cmp dword [esp + 0x5c], edi
mov dword [esp + 0x58], edi
jle 0x60c5d9
mov edx, dword [esi]
push 2
lea eax, [esp + 0x20]
push eax
mov ecx, esi
call dword [edx + 0xcc]
mov dword [esp + 0x58], eax
mov dword [esp + 0x40], edi
mov dword [esp + 0x44], edi
mov edi, dword [esp + 0x60]
test edi, edi
mov dword [esp + 0x48], 0xffffffff
mov dword [esp + 0x3c], 1
jl 0x60c606
mov edx, dword [esi]
push edi
lea eax, [esp + 0x30]
push eax
mov ecx, esi
call dword [edx + 0x74]
cmp dword [esp + 0x58], 0
jne 0x60c615
test edi, edi
jl 0x60c697
test byte [esi + 0x18], 1
je 0x60c670
mov eax, dword [esp + 0x28]
sub eax, dword [esp + 0x20]
add eax, 1
cdq
sub eax, edx
mov ecx, eax
mov eax, dword [esp + 0x24]
sub eax, dword [esp + 0x1c]
sar ecx, 1
add eax, 1
cdq
sub eax, edx
sar eax, 1
cmp eax, ecx
jg 0x60c643
mov eax, ecx
cmp eax, ebp
jg 0x60c649
mov eax, ebp
mov edx, dword [esp + 0x50]
lea ecx, [esp + 0x3c]
push ecx
add eax, 5
push eax
push 0x5a
push 0x55
sub esp, 8
mov eax, esp
mov dword [eax], edx
mov dword [eax + 4], ebx
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x98]
jmp 0x60c697
mov edx, dword [esp + 0x50]
push 0
lea ecx, [esp + 0x40]
push ecx
add ebp, 5
push ebp
push 0x5a
push 0x55
sub esp, 8
mov eax, esp
mov dword [eax], edx
mov dword [eax + 4], ebx
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x8c]
mov ecx, dword [esp + 0x6c]
test ecx, ecx
mov ebp, dword [esp + 0x68]
jne 0x60c6ab
test ebp, ebp
je 0x60c7ac
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
mov ebx, dword [esp + 0x24]
mov edx, dword [esp + 0x28]
sub edi, 1
sub eax, 1
add ebx, 1
add edx, 1
test ecx, ecx
mov dword [esp + 0x1c], edi
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], ebx
mov dword [esp + 0x28], edx
je 0x60c70e
sub esp, 0x10
mov eax, esp
mov dword [eax], edi
mov ecx, dword [esp + 0x30]
mov dword [eax + 4], ecx
mov edx, dword [esp + 0x34]
mov dword [eax + 8], edx
mov ecx, dword [esp + 0x38]
mov dword [eax + 0xc], ecx
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x54]
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x20]
mov ebx, dword [esp + 0x24]
mov edi, dword [esp + 0x1c]
test ebp, ebp
je 0x60c7ac
mov ecx, dword [esp + 0x3c]
sub edi, 1
sub eax, 1
add ebx, 1
add edx, 1
cmp ecx, dword [esp + 0x44]
jg 0x60c75e
mov ecx, dword [esp + 0x48]
cmp dword [esp + 0x40], ecx
jg 0x60c75e
mov ecx, dword [esp + 0x3c]
cmp ecx, edi
jge 0x60c740
mov edi, ecx
mov ecx, dword [esp + 0x40]
cmp ecx, eax
jge 0x60c74a
mov eax, ecx
mov ecx, dword [esp + 0x44]
cmp ecx, ebx
jle 0x60c754
mov ebx, ecx
mov ecx, dword [esp + 0x48]
cmp ecx, edx
jle 0x60c75e
mov edx, ecx
mov ecx, dword [esi + 0x78]
cmp edi, ecx
jge 0x60c767
mov edi, ecx
mov ecx, dword [esi + 0x7c]
cmp eax, ecx
jge 0x60c770
mov eax, ecx
mov ecx, dword [esi + 0x80]
cmp ebx, ecx
jle 0x60c77c
mov ebx, ecx
mov ecx, dword [esi + 0x84]
cmp edx, ecx
jle 0x60c788
mov edx, ecx
mov esi, dword [esi + 0x5c]
imul eax, esi
imul edx, esi
mov ecx, esi
imul ecx, edi
mov edi, eax
mov eax, esi
imul eax, ebx
sub eax, 1
mov dword [ebp], ecx
mov dword [ebp + 4], edi
mov dword [ebp + 8], eax
mov dword [ebp + 0xc], edx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x3c
ret 0x20