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

Disassembly:
mov ecx, dword [0x9ec7ac]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x14]
cmp eax, dword [ecx + 8]
jbe 0x60fc27
sub esp, 0x94
mov ebx, dword [esp + 0xa0]
cmp ebx, 1
jle 0x60f581
mov ebp, dword [esp + 0x9c]
mov esi, ebp
xor eax, eax
xor ecx, ecx
mov edx, 0x1b
jmp 0x60f76a
test ebx, ebx
jne 0x60f621
mov ecx, dword [0x9eca70]
mov edi, dword [esp + 0x98]
mov edx, dword [edi]
mov ebx, dword [edi + 8]
mov ebp, dword [edi + 0xc]
mov esi, dword [edi + 0x14]
test ecx, ecx
je 0x60f5ec
mov dword [esp + 0x44], esi
mov dword [esp + 0x5c], ebp
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x64], edx
mov eax, edi
call fcn.00468460
mov dword [edi], edx
mov ecx, dword [eax]
mov dword [edi + 4], ecx
lea ecx, [0x715ec0]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00411930
mov edx, dword [esp + 0x64]
mov ebx, dword [esp + 0x4c]
mov ebp, dword [esp + 0x5c]
mov esi, dword [esp + 0x44]
mov edi, dword [esp + 0x98]
xor eax, eax
call fcn.004686f5
mov ecx, dword [esp + 0x98]
mov dword [ecx], edx
mov dword [ecx + 8], ebx
mov edx, dword [0x9eca70]
test edx, edx
je 0x60f616
call fcn.00468460
mov dword [edi], ebp
mov eax, dword [ecx + 0xc]
mov dword [edi + 4], eax
mov dword [ecx + 0xc], ebp
mov dword [ecx + 0x14], esi
jmp 0x60f735
mov ebx, dword [esp + 0x9c]
mov ebp, dword [ebx + 8]
test ebp, ebp
jne 0x60f748
mov ebp, dword [esp + 0x98]
mov eax, dword [ebp + 8]
mov ecx, dword [ebp]
mov ebx, dword [ebx]
test eax, eax
jne 0x60f687
mov dword [esp + 0x48], ebx
mov dword [esp], ecx
mov dword [esp + 4], 1
mov dword [esp + 8], 0
mov dword [esp + 0xc], 1
lea eax, [0x6e44c0]
mov dword [esp + 0x10], eax
call fcn.0044e230
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x48]
mov ebp, dword [esp + 0x98]
shl ebx, 5
mov dword [ecx], ebx
mov dword [ebp + 4], 1
mov dword [ebp + 8], eax
mov ebx, dword [0x9eca70]
test ebx, ebx
je 0x60f6ad
call fcn.00468460
mov dword [edi], ecx
mov ebx, dword [ebp]
mov dword [edi + 4], ebx
mov dword [ebp], ecx
cmp eax, 1
jb 0x60f73c
mov dword [esp + 0x64], ecx
mov edx, dword [ebp + 0xc]
mov ebx, dword [ebp + 0x14]
lea edi, [esp + 0x68]
mov esi, eax
xor eax, eax
call fcn.004686f5
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x68], ecx
mov dword [esp + 0x6c], 1
mov dword [esp + 0x70], esi
mov dword [esp + 0x74], edx
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x90], 1
mov ecx, dword [0x9eca70]
test ecx, ecx
je 0x60f72a
lea eax, [0x715ec0]
mov dword [esp], eax
mov dword [esp + 4], ebp
lea eax, [esp + 0x68]
mov dword [esp + 8], eax
call fcn.00411960
mov ebp, dword [esp + 0x98]
mov edi, ebp
lea esi, [esp + 0x68]
call fcn.00468ba2
add esp, 0x94
ret
mov ecx, 1
xor edx, edx
call fcn.00468500
lea eax, [0x6e41c0]
mov dword [esp], eax
lea eax, [0x7aad20]
mov dword [esp + 4], eax
call fcn.004386b0
add edi, 0x10
inc eax
mov ecx, edx
mov edx, ebp
mov ebp, edi
cmp ebx, eax
jle 0x60f791
mov edi, ebp
mov ebp, dword [ebp + 8]
cmp edx, ebp
jbe 0x60f77b
mov edx, ebp
jmp 0x60f789
mov dword [esp + 0x50], eax
mov eax, edx
mov edx, ebp
mov ebp, eax
mov eax, dword [esp + 0x50]
cmp ecx, edx
jb 0x60f760
mov edx, ecx
jmp 0x60f760
mov ebp, dword [esp + 0x98]
mov dword [ebp + 0x28], ebx
mov dword [ebp + 0x24], edx
mov dword [ebp + 0x20], ecx
cmp ecx, 9
jbe 0x60f7ad
mov dword [ebp + 0x20], 9
mov edi, dword [ebp + 0x20]
mov eax, ecx
mov ecx, edi
mov ebx, 1
shl ebx, cl
mov edx, dword [ebp + 8]
cmp ecx, 0x20
sbb ecx, ecx
and ecx, ebx
cmp edx, ecx
jl 0x60f7d4
jb 0x60fc21
mov ebx, dword [ebp]
jmp 0x60f820
mov dword [esp + 0x34], ecx
mov dword [esp + 0x48], eax
lea eax, [0x6e44c0]
mov dword [esp], eax
mov dword [esp + 4], ecx
lea edx, [ecx + ecx*2]
mov ebx, edx
shr edx, 0x1f
add edx, ebx
sar edx, 1
mov dword [esp + 0x28], edx
mov dword [esp + 8], edx
call fcn.0044e0b0
mov ebx, dword [esp + 0xc]
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x34]
mov ebp, dword [esp + 0x98]
mov esi, dword [esp + 0x9c]
mov edx, dword [esp + 0x28]
mov dword [ebp + 4], ecx
mov dword [ebp + 8], edx
mov edi, dword [0x9eca70]
test edi, edi
je 0x60f83d
call fcn.00468460
mov dword [edi], ebx
mov edx, dword [ebp]
mov dword [edi + 4], edx
mov dword [ebp], ebx
lea ebx, [ecx - 1]
mov dword [ebp + 0x18], ebx
mov dword [ebp + 0x10], 0
mov dword [ebp + 0x1c], 0
mov ebx, dword [ebp + 0x20]
cmp eax, ebx
jbe 0x60f8b4
sub eax, ebx
mov ecx, eax
mov ebx, 1
shl ebx, cl
cmp eax, 0x20
sbb ecx, ecx
and ecx, ebx
mov dword [esp + 0x30], ecx
lea ebx, [ecx - 1]
mov dword [ebp + 0x1c], ebx
mov ebx, dword [ebp + 4]
test ebx, ebx
je 0x60f8a2
shl ebx, 2
mov eax, dword [ebp]
mov dword [esp], eax
mov dword [esp + 4], ebx
call fcn.00468c20
mov ecx, dword [esp + 0x30]
mov ebp, dword [esp + 0x98]
mov esi, dword [esp + 0x9c]
mov ebx, esi
mov edi, dword [esp + 0xa0]
xor eax, eax
xor edx, edx
jmp 0x60f9c2
mov edx, dword [esp + 0xa0]
xor eax, eax
jmp 0x60f8db
mov ebx, dword [esp + 0x60]
lea esi, [ebx + 0x10]
mov ebx, dword [esp + 0x44]
lea eax, [ebx + 1]
mov edx, dword [esp + 0xa0]
mov ebp, dword [esp + 0x98]
cmp edx, eax
jle 0x60f96a
mov dword [esp + 0x44], eax
mov dword [esp + 0x60], esi
mov ecx, dword [esi + 8]
mov ebx, dword [esi]
shl ebx, 5
mov edi, dword [ebp + 0x20]
mov edx, dword [esi + 0xc]
or ebx, ecx
cmp edi, ecx
jb 0x60f912
mov edi, 1
shl edi, cl
cmp ecx, 0x20
sbb ecx, ecx
and ecx, edi
jmp 0x60f9a1
mov eax, dword [ebp + 4]
mov esi, dword [ebp + 0x18]
and esi, edx
cmp eax, esi
jbe 0x60f990
mov eax, dword [ebp]
mov eax, dword [eax + esi*4]
shr eax, 5
mov esi, dword [ebp + 0x10]
cmp esi, eax
jbe 0x60f989
mov dword [esp + 0x40], ebx
mov esi, dword [ebp + 0xc]
lea eax, [eax + eax*2]
sub ecx, edi
mov dword [esp + 0x48], ecx
mov ebp, 1
shl ebp, cl
mov ecx, edi
shr edx, cl
mov ebx, dword [esi + eax*4 + 4]
mov esi, dword [esi + eax*4]
mov eax, esi
mov esi, dword [esp + 0x48]
cmp esi, 0x20
sbb esi, esi
and ebp, esi
cmp ecx, 0x20
sbb esi, esi
and esi, edx
mov edx, dword [esp + 0x40]
jmp 0x60f976
add esp, 0x94
ret
mov dword [eax + esi*4], edx
add esi, ebp
cmp esi, ebx
jge 0x60f8bf
jb 0x60f971
mov eax, esi
mov ecx, ebx
call fcn.004684c0
mov ecx, esi
call fcn.004684d0
mov ecx, eax
mov eax, esi
call fcn.004684d0
mov edi, dword [ebp]
mov dword [edi + edx*4], ebx
add edx, ecx
mov edi, dword [ebp + 4]
cmp edx, edi
jge 0x60f8bf
jb 0x60f999
mov eax, edx
mov ecx, edi
call fcn.004684c0
add esi, 0x10
inc eax
mov ebx, dword [esp + 0x9c]
cmp edi, eax
jle 0x60fa1f
mov ebx, dword [ebp + 0x20]
cmp dword [esi + 8], ebx
jbe 0x60f9b7
mov ecx, dword [esi + 0xc]
mov edi, dword [ebp + 4]
and ecx, dword [ebp + 0x18]
cmp edi, ecx
jbe 0x60fc18
mov edi, dword [ebp]
mov ebp, dword [edi + ecx*4]
test ebp, ebp
jne 0x60fa0b
mov ebp, edx
shl edx, 5
inc ebx
or ebx, edx
mov dword [edi + ecx*4], ebx
lea edx, [ebp + 1]
mov ecx, dword [esp + 0x30]
mov ebp, dword [esp + 0x98]
mov edi, dword [esp + 0xa0]
jmp 0x60f9b7
mov ecx, dword [esp + 0x30]
mov ebp, dword [esp + 0x98]
mov edi, dword [esp + 0xa0]
jmp 0x60f9b7
mov esi, dword [ebp + 0x14]
mov eax, dword [ebp + 0xc]
cmp edx, esi
jg 0x60fa34
jbe 0x60fabd
jmp 0x60fc0f
mov dword [esp + 0x2c], esi
mov dword [esp + 0x58], eax
mov dword [esp + 0x38], edx
lea eax, [0x6d7de0]
mov dword [esp], eax
mov dword [esp + 4], edx
lea ecx, [edx + edx*2]
mov ebx, ecx
shr ecx, 0x1f
add ecx, ebx
sar ecx, 1
mov dword [esp + 0x24], ecx
mov dword [esp + 8], ecx
call fcn.0044e0b0
mov eax, dword [esp + 0xc]
mov dword [esp + 0x60], eax
lea ecx, [0x6d7de0]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov ecx, dword [esp + 0x38]
mov dword [esp + 8], ecx
mov edx, dword [esp + 0x58]
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x10], edx
call fcn.00411a00
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x38]
mov ebx, dword [esp + 0x9c]
mov ebp, dword [esp + 0x98]
mov edi, dword [esp + 0xa0]
mov esi, dword [esp + 0x24]
mov eax, dword [esp + 0x60]
mov dword [ebp + 0x10], edx
mov dword [ebp + 0x14], esi
mov esi, dword [0x9eca70]
test esi, esi
je 0x60fae1
call fcn.00468460
mov dword [edi], eax
mov esi, dword [ebp + 0xc]
mov dword [edi + 4], esi
mov edi, dword [esp + 0xa0]
mov dword [ebp + 0xc], eax
mov esi, dword [ebp + 0x10]
test esi, esi
jbe 0x60fc06
mov esi, dword [eax + 8]
imul edx, ecx
cmp esi, edx
jl 0x60fb03
jb 0x60fbfd
mov eax, dword [eax]
jmp 0x60fb4a
lea eax, [0x6e44c0]
mov dword [esp], eax
mov dword [esp + 4], edx
lea eax, [edx + edx*2]
mov ecx, eax
shr eax, 0x1f
add eax, ecx
sar eax, 1
mov dword [esp + 0x20], eax
mov dword [esp + 8], eax
call fcn.0044e0b0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x30]
mov ebx, dword [esp + 0x9c]
mov ebp, dword [esp + 0x98]
mov edi, dword [esp + 0xa0]
mov esi, dword [esp + 0x20]
mov dword [esp + 0x20], esi
xor edx, edx
xor edx, edx
mov dword [esp + 0x3c], edx
xor edx, edx
jmp 0x60fb8f
mov dword [ebp + ebx*4], esi
inc edx
mov esi, dword [esp + 0x20]
mov ecx, dword [esp + 0x30]
mov ebp, dword [esp + 0x98]
mov ebx, dword [esp + 0x44]
mov ebx, dword [esp + 0x9c]
mov edi, dword [esp + 0xa0]
mov edi, dword [esp + 0x44]
mov dword [esp + 0x3c], edi
mov edi, dword [esp + 0xa0]
cmp dword [ebp + 0x10], edx
jle 0x60fbe4
mov edi, dword [esp + 0x3c]
lea ebx, [ecx + edi]
cmp esi, ebx
jb 0x60fbf4
cmp edi, ebx
ja 0x60fbeb
mov dword [esp + 0x44], ebx
mov ebp, dword [ebp + 0xc]
lea ebx, [edx + edx*2]
mov dword [ebp + ebx*4 + 4], ecx
sub esi, edi
mov dword [ebp + ebx*4 + 8], esi
mov ecx, dword [0x9eca70]
xchg esi, ebx
neg ebx
xchg esi, ebx
shl edi, 2
sar esi, 0x1f
and esi, edi
add esi, eax
test ecx, ecx
je 0x60fb5a
call fcn.00468460
mov dword [edi], esi
mov ecx, dword [ebp + ebx*4]
mov dword [edi + 4], ecx
jmp 0x60fb5a
mov esi, ebx
jmp 0x60f8b4
mov eax, edi
mov ecx, ebx
call fcn.00468520
mov ecx, ebx
mov edx, esi
call fcn.00468500
mov ecx, edx
mov edx, esi
call fcn.00468500
xor eax, eax
mov ecx, eax
call fcn.004684c0
mov ecx, edx
mov edx, esi
call fcn.00468500
mov eax, ecx
mov ecx, edi
call fcn.004684d0
call fcn.00468500
nop
call fcn.00467050
jmp fcn.0060f540