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

Disassembly:
sub esp, 0x6c
push esi
push edi
mov edi, dword [esp + 0x78]
xor esi, esi
cmp edi, esi
jne 0x60c428
pop edi
lea eax, [esi + 6]
pop esi
add esp, 0x6c
ret
mov eax, dword [esp + 0x7c]
cdq
sub eax, edx
mov ecx, eax
mov eax, dword [esp + 0x80]
cdq
sub eax, edx
sar ecx, 1
sar eax, 1
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x80], eax
cmp ecx, esi
jne 0x60c456
cmp eax, esi
je 0x60c9ae
push edi
call fcn.0060aee0
add esp, 4
mov dword [esp + 0x40], eax
cmp eax, 2
jne 0x60c478
movsx eax, word [edi]
neg eax
sbb eax, eax
pop edi
and eax, 6
pop esi
add esp, 0x6c
ret
mov edx, dword [edi + 4]
xor eax, eax
mov dword [esp + 0x34], edx
mov dword [esp + 0x30], esi
cmp ax, word [edi]
jge 0x60c9ae
push ebx
push ebp
jmp 0x60c498
mov edx, dword [esp + 0x3c]
mov edi, ecx
mov ecx, dword [edi + 0xc]
mov eax, dword [esp + 0x38]
movsx ebp, word [ecx + eax*2]
mov ecx, dword [edx + esi*8]
mov eax, dword [edx + esi*8 + 4]
mov edi, dword [edx + esi*8]
mov dword [esp + 0x74], ecx
mov ecx, dword [edx + ebp*8 + 4]
mov dword [esp + 0x78], eax
mov eax, dword [edx + ebp*8]
mov edx, dword [edx + esi*8 + 4]
mov ebx, edx
sub ebx, ecx
lea ecx, [esp + 0x5c]
mov dword [esp + 0x64], edi
sub edi, eax
push ecx
mov dword [esp + 0x38], ebp
mov dword [esp + 0x6c], edx
mov dword [esp + 0x60], edi
mov dword [esp + 0x64], ebx
call fcn.0060b930
add esp, 4
mov dword [esp + 0x14], eax
test eax, eax
je 0x60c510
push eax
push edi
call fcn.006094f0
mov edx, dword [esp + 0x1c]
push edx
mov edi, eax
push ebx
mov dword [esp + 0x6c], edi
call fcn.006094f0
mov ebx, eax
add esp, 0x10
mov dword [esp + 0x60], ebx
mov dword [esp + 0x30], esi
cmp esi, ebp
jg 0x60c98c
lea esp, [esp]
mov eax, dword [esp + 0x30]
cmp eax, dword [esp + 0x34]
jge 0x60c538
mov ecx, dword [esp + 0x3c]
mov ebp, dword [ecx + eax*8 + 8]
mov eax, dword [ecx + eax*8 + 0xc]
jmp 0x60c540
mov ebp, dword [esp + 0x74]
mov eax, dword [esp + 0x78]
mov dword [esp + 0x70], eax
sub eax, dword [esp + 0x68]
mov dword [esp + 0x6c], ebp
sub ebp, dword [esp + 0x64]
mov dword [esp + 0x58], eax
lea eax, [esp + 0x54]
push eax
mov dword [esp + 0x58], ebp
call fcn.0060b930
add esp, 4
mov dword [esp + 0x10], eax
test eax, eax
je 0x60c631
mov edx, eax
mov ecx, edx
mov eax, ebp
mov esi, 1
test ebp, ebp
jns 0x60c587
neg ebp
mov eax, ebp
or esi, 0xffffffff
test edx, edx
jns 0x60c591
mov ecx, edx
neg ecx
neg esi
test ecx, ecx
jne 0x60c59c
mov eax, SysReAllocString
jmp 0x60c5c5
cdq
shld edx, eax, 0x10
shl eax, 0x10
mov ebx, eax
mov eax, ecx
sar eax, 1
mov ebp, edx
cdq
add ebx, eax
adc ebp, edx
mov eax, ecx
cdq
push edx
push eax
push ebp
push ebx
call fcn.0065e7c0
mov ebx, dword [esp + 0x60]
mov edx, dword [esp + 0x10]
test esi, esi
jns 0x60c5cb
neg eax
mov ebp, eax
mov eax, dword [esp + 0x58]
mov dword [esp + 0x54], ebp
mov ecx, edx
mov esi, 1
test eax, eax
jns 0x60c5e5
neg eax
or esi, 0xffffffff
mov edx, dword [esp + 0x10]
test edx, edx
jns 0x60c5f3
mov ecx, edx
neg ecx
neg esi
test ecx, ecx
jne 0x60c5fe
mov eax, SysReAllocString
jmp 0x60c627
cdq
shld edx, eax, 0x10
shl eax, 0x10
mov ebx, eax
mov eax, ecx
sar eax, 1
mov ebp, edx
cdq
add ebx, eax
adc ebp, edx
mov eax, ecx
cdq
push edx
push eax
push ebp
push ebx
call fcn.0065e7c0
mov ebx, dword [esp + 0x60]
mov ebp, dword [esp + 0x54]
test esi, esi
jns 0x60c62d
neg eax
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x5c]
mov edx, dword [esp + 0x54]
imul edx
mov ecx, edx
sar ecx, 0x1f
add ecx, 0x8000
add eax, ecx
adc edx, 0
shr eax, 0x10
shl edx, 0x10
add eax, edx
mov dword [esp + 0x20], eax
mov esi, dword [esp + 0x20]
mov eax, dword [esp + 0x60]
mov edx, dword [esp + 0x58]
imul edx
mov ecx, edx
sar ecx, 0x1f
add ecx, 0x8000
add eax, ecx
adc edx, 0
shr eax, 0x10
shl edx, 0x10
add eax, edx
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x40]
add eax, esi
cmp eax, 0xffff1000
jle 0x60c923
mov esi, dword [esp + 0x58]
add eax, 0x10000
add esi, ebx
add edi, ebp
cmp dword [esp + 0x48], 0
mov dword [esp + 0x18], eax
jne 0x60c6ae
neg esi
jmp 0x60c6b0
neg edi
mov eax, dword [esp + 0x54]
mov edx, dword [esp + 0x60]
imul edx
mov ecx, edx
sar ecx, 0x1f
add ecx, 0x8000
add eax, ecx
adc edx, 0
shr eax, 0x10
shl edx, 0x10
add eax, edx
mov dword [esp + 0x24], eax
mov ebx, dword [esp + 0x24]
mov eax, dword [esp + 0x58]
mov edx, dword [esp + 0x5c]
imul edx
mov ecx, edx
sar ecx, 0x1f
add ecx, 0x8000
add eax, ecx
adc edx, 0
shr eax, 0x10
shl edx, 0x10
add eax, edx
mov dword [esp + 0x44], eax
sub ebx, dword [esp + 0x44]
cmp dword [esp + 0x48], 0
mov dword [esp + 0x1c], ebx
jne 0x60c715
neg ebx
mov dword [esp + 0x1c], ebx
mov eax, dword [esp + 0x10]
mov ebp, dword [esp + 0x14]
cmp dword [esp + 0x14], eax
jl 0x60c725
mov ebp, eax
mov dword [esp + 0x14], ebp
mov eax, dword [esp + 0x84]
mov edx, dword [esp + 0x1c]
imul edx
mov ecx, edx
sar ecx, 0x1f
add ecx, 0x8000
add eax, ecx
adc edx, 0
shr eax, 0x10
shl edx, 0x10
add eax, edx
mov dword [esp + 0x28], eax
mov ebx, dword [esp + 0x28]
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
imul edx
mov ecx, edx
sar ecx, 0x1f
add ecx, 0x8000
add eax, ecx
adc edx, 0
shr eax, 0x10
shl edx, 0x10
add eax, edx
mov dword [esp + 0x4c], eax
cmp ebx, dword [esp + 0x4c]
mov ebx, 1
jg 0x60c7d8
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x84]
test esi, esi
jns 0x60c79b
neg esi
or ebx, 0xffffffff
test edx, edx
jns 0x60c7a3
neg edx
neg ebx
mov eax, dword [esp + 0x18]
test eax, eax
jns 0x60c7b1
mov ecx, eax
neg ecx
neg ebx
test ecx, ecx
jle 0x60c820
mov eax, esi
imul edx
mov esi, eax
mov eax, ecx
sar eax, 1
mov ebp, edx
cdq
add esi, eax
adc ebp, edx
mov eax, ecx
cdq
push edx
push eax
push ebp
push esi
call fcn.0065e710
mov ebp, dword [esp + 0x14]
jmp 0x60c825
mov ecx, dword [esp + 0x1c]
mov edx, ebp
test esi, esi
jns 0x60c7e7
neg esi
or ebx, 0xffffffff
test ebp, ebp
jns 0x60c7f1
mov edx, ebp
neg edx
neg ebx
test ecx, ecx
jns 0x60c7fb
neg ecx
neg ebx
test ecx, ecx
jle 0x60c820
mov eax, esi
imul edx
mov esi, eax
mov eax, ecx
sar eax, 1
mov ebp, edx
cdq
add esi, eax
adc ebp, edx
mov eax, ecx
cdq
push edx
push eax
push ebp
push esi
call fcn.0065e710
mov ebp, dword [esp + 0x14]
jmp 0x60c825
mov eax, SysReAllocString
test ebx, ebx
jg 0x60c82b
neg eax
mov ebx, eax
mov eax, dword [esp + 0x88]
mov edx, dword [esp + 0x1c]
imul edx
mov ecx, edx
sar ecx, 0x1f
add ecx, 0x8000
add eax, ecx
adc edx, 0
shr eax, 0x10
shl edx, 0x10
add eax, edx
mov dword [esp + 0x2c], eax
mov esi, dword [esp + 0x2c]
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
imul edx
mov ecx, edx
sar ecx, 0x1f
add ecx, 0x8000
add eax, ecx
adc edx, 0
shr eax, 0x10
shl edx, 0x10
add eax, edx
mov dword [esp + 0x50], eax
cmp esi, dword [esp + 0x50]
mov esi, 1
jg 0x60c8d2
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x88]
test edi, edi
jns 0x60c89f
neg edi
or esi, 0xffffffff
test edx, edx
jns 0x60c8a7
neg edx
neg esi
test ecx, ecx
jns 0x60c8b1
neg ecx
neg esi
test ecx, ecx
jle 0x60c916
mov eax, edi
imul edx
mov edi, eax
mov eax, ecx
sar eax, 1
mov ebp, edx
cdq
add edi, eax
adc ebp, edx
mov eax, ecx
cdq
push edx
push eax
push ebp
push edi
call fcn.0065e710
jmp 0x60c91b
mov ecx, dword [esp + 0x1c]
mov edx, ebp
test edi, edi
jns 0x60c8e1
neg edi
or esi, 0xffffffff
test ebp, ebp
jns 0x60c8eb
neg ebp
mov edx, ebp
neg esi
test ecx, ecx
jns 0x60c8f5
neg ecx
neg esi
test ecx, ecx
jle 0x60c916
mov eax, edi
imul edx
mov edi, eax
mov eax, ecx
sar eax, 1
mov ebp, edx
cdq
add edi, eax
adc ebp, edx
mov eax, ecx
cdq
push edx
push eax
push ebp
push edi
call fcn.0065e710
jmp 0x60c91b
mov eax, SysReAllocString
test esi, esi
jg 0x60c927
neg eax
jmp 0x60c927
xor eax, eax
xor ebx, ebx
add ebx, dword [esp + 0x64]
add eax, dword [esp + 0x68]
add ebx, dword [esp + 0x84]
mov edx, dword [esp + 0x80]
mov esi, dword [edx + 4]
mov ecx, dword [esp + 0x30]
add eax, dword [esp + 0x88]
mov edi, dword [esp + 0x54]
mov dword [esi + ecx*8], ebx
mov edx, dword [edx + 4]
mov ebx, dword [esp + 0x58]
mov dword [edx + ecx*8 + 4], eax
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x6c]
inc ecx
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 0x5c], edi
mov dword [esp + 0x60], ebx
mov dword [esp + 0x64], edx
mov dword [esp + 0x68], eax
mov dword [esp + 0x30], ecx
cmp ecx, dword [esp + 0x34]
jle 0x60c520
mov ecx, dword [esp + 0x80]
mov eax, dword [esp + 0x38]
movsx edx, word [ecx]
mov esi, dword [esp + 0x34]
inc eax
inc esi
mov dword [esp + 0x38], eax
cmp eax, edx
jl 0x60c492
pop ebp
pop ebx
pop edi
xor eax, eax
pop esi
add esp, 0x6c
ret