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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x4c]
cmp eax, dword [ecx + 8]
jbe 0x608c76
sub esp, 0xcc
mov eax, 0
mov dword [esp + 0xc8], eax
mov byte [esp + 0x37], 0
mov byte [esp + 0xd8], 0
mov eax, dword [esp + 0xd0]
movzx ecx, byte [eax + 0x68]
test cl, cl
jne 0x60873c
mov dword [esp], eax
call fcn.004664f0
mov dword [esp + 0x54], 0
mov dword [esp + 0x58], 0
lea eax, [0x608cc0]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0xd0]
mov dword [esp + 0x58], eax
lea ecx, [esp + 0x54]
mov dword [esp + 0xc8], ecx
mov byte [esp + 0x37], 1
mov byte [eax + 8], 0
mov ecx, dword [esp + 0xd4]
test ecx, ecx
je 0x60871d
lea edi, [esp + 0x70]
mov edx, eax
xor eax, eax
call fcn.0045f9eb
mov ecx, dword [edx + 0x78]
test ecx, ecx
seta cl
mov ebx, dword [edx + 0x7c]
test ebx, ebx
setg bl
xchg ebp, ebx
sete bl
xchg ebp, ebx
and ecx, ebp
or ebx, ecx
test bl, bl
je 0x6086d0
call fcn.004b0340
lea edi, [esp + 0x98]
lea esi, [esp]
call fcn.0045fece
mov eax, dword [esp + 0xd0]
mov ecx, dword [eax + 0x78]
mov dword [esp + 0x44], ecx
xor edx, edx
sub edx, ecx
mov ebx, dword [eax + 0x7c]
lea edi, [esp]
lea esi, [esp + 0x98]
call fcn.0045fece
xor ecx, ecx
mov ebp, dword [esp + 0x44]
sub ecx, ebp
mov ecx, 0
sbb ecx, ebx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x14], edx
call fcn.004af720
lea edi, [esp + 0x70]
lea esi, [esp + 0x1c]
call fcn.0045fece
mov edx, dword [esp + 0xd0]
mov eax, dword [edx + 0xc]
lea ecx, [0x65a440]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov eax, dword [esp + 0xd4]
lea ebx, [eax + 0x18]
mov dword [esp + 0x50], ebx
mov dword [esp + 8], ebx
call fcn.0040c4e0
mov eax, dword [esp + 0xc]
mov ecx, dword [eax]
movzx edx, byte [esp + 0x10]
mov ebx, dword [eax + 4]
mov eax, dword [eax + 8]
test dl, dl
je 0x60874b
mov dword [esp + 0x3c], eax
mov dword [esp + 0x4c], ecx
xor edx, edx
xor ebp, ebp
jmp 0x6088d8
mov byte [esp + 0xd8], 0
mov byte [esp + 0x37], 0
mov edx, dword [esp + 0xc8]
mov eax, dword [edx]
call eax
add esp, 0xcc
ret
mov byte [esp + 0xd8], 0
add esp, 0xcc
ret
mov eax, dword [esp + 0xd0]
mov ecx, dword [eax + 0x10]
test ecx, ecx
jne 0x60878a
call fcn.0040bf40
mov eax, dword [0x887d70]
mov ecx, dword [esp]
test eax, eax
jne 0x608777
mov eax, dword [esp + 0xd0]
mov dword [eax + 0x10], ecx
jmp 0x60878a
mov edx, dword [esp + 0xd0]
lea edi, [edx + 0x10]
mov eax, ecx
call fcn.0045f750
mov eax, edx
mov ecx, dword [eax + 0x10]
lea edx, [0x65a4c0]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x50]
mov dword [esp + 8], ecx
call fcn.0040c310
mov esi, dword [esp + 0xc]
lea edi, [esp + 0xac]
call fcn.0045feba
lea eax, [esp + 0xac]
mov dword [esp], eax
call fcn.00609810
nop
mov eax, dword [esp + 0xc0]
lea ecx, [eax + 1]
mov edx, dword [esp + 0xbc]
mov ebx, dword [esp + 0xc4]
cmp ebx, ecx
jae 0x60881b
lea ebp, [0x66e020]
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ecx
call fcn.00448460
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0xc4], ecx
mov dword [esp + 0xbc], edx
lea ecx, [eax + 1]
mov dword [esp + 0xc0], ecx
mov ecx, dword [0x887d70]
lea edi, [edx + eax*4]
test ecx, ecx
jne 0x60883e
mov ecx, dword [esp + 0xd4]
mov dword [edx + eax*4], ecx
jmp 0x60884a
mov eax, dword [esp + 0xd4]
call fcn.0045f750
mov eax, dword [esp + 0xd0]
mov eax, dword [eax + 0x10]
lea ecx, [0x65a4c0]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 8], eax
call fcn.0040c860
mov edi, dword [esp + 0xc]
test byte [edi], al
mov eax, dword [0x887d70]
test eax, eax
jne 0x60888c
lea esi, [esp + 0xac]
call fcn.0045feba
jmp 0x6088a9
lea eax, [0x66f8a0]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0xac]
mov dword [esp + 8], eax
call fcn.00410a60
mov byte [esp + 0xd8], 0
mov byte [esp + 0x37], 0
mov edx, dword [esp + 0xc8]
mov eax, dword [edx]
call eax
add esp, 0xcc
ret
mov ebx, dword [esp + 0x4c]
mov ebx, ecx
mov ebp, eax
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x4c]
xchg ebp, eax
mov byte [esp + 0x35], al
xchg ebp, eax
mov byte [esp + 0x34], dl
test ebx, ebx
je 0x608c16
mov dword [esp + 0x38], ebx
test dl, dl
jne 0x608bbf
mov eax, dword [ecx + ebx*4 - 4]
lea edi, [esp + 0x5c]
lea esi, [esp + 0x70]
call fcn.0045fece
mov ecx, dword [esp + 0x5c]
mov esi, edx
mov edx, dword [esp + 0x60]
test edx, 0x80000000
je 0x608952
shl edx, 1
mov edi, ecx
shr ecx, 0x1f
or edx, ecx
mov dword [esp + 0x44], edx
mov ecx, edi
shl edi, 1
shl edx, 1
shr edi, 0x1f
or edi, edx
mov edx, edi
add edi, 0xd7b17f80
mov ebp, dword [esp + 0x44]
shr ebp, 0x1f
add edx, 0xd7b17f80
adc ebp, 0xd
mov edx, ebp
movzx ebp, byte [esp + 0x35]
jmp 0x60895a
mov edi, dword [esp + 0x64]
mov edx, dword [esp + 0x68]
mov dword [esp + 0x48], eax
test edx, edx
sete dl
test edi, edi
mov edi, ebp
xchg ebp, ebx
sete bl
xchg ebp, ebx
and edx, ebp
test dl, dl
je 0x608980
test ecx, 0x3fffffff
jne 0x608980
xor ecx, ecx
jmp 0x6089ff
test byte [eax], al
lea esi, [eax + 0x64]
lea edi, [esp + 0x84]
call fcn.0045fece
lea edi, [esp]
lea esi, [esp + 0x84]
call fcn.0045fece
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
call fcn.004b1b80
lea edi, [esp + 0x98]
lea esi, [esp + 0x1c]
call fcn.0045fece
lea edi, [esp]
lea esi, [esp + 0x98]
call fcn.0045fece
lea edi, [esp + 0x14]
lea esi, [esp + 0x70]
call fcn.0045fece
call fcn.004ae3e0
movzx eax, byte [esp + 0x28]
mov ebx, dword [esp + 0x38]
movzx esi, byte [esp + 0x34]
movzx edi, byte [esp + 0x35]
mov ecx, eax
mov eax, dword [esp + 0x48]
mov byte [esp + 0x33], cl
test cl, cl
je 0x608a50
lea eax, [0x661620]
mov dword [esp], eax
call fcn.0040b470
mov eax, dword [esp + 4]
lea ecx, [0x608c80]
mov dword [eax], ecx
mov edx, dword [0x887d70]
test edx, edx
jne 0x608a34
mov edx, dword [esp + 0x48]
mov dword [eax + 4], edx
jmp 0x608a44
lea edi, [eax + 4]
mov edx, eax
mov eax, dword [esp + 0x48]
call fcn.0045f750
mov eax, edx
mov dword [esp], eax
call fcn.0043f470
mov eax, dword [esp + 0x48]
mov dword [esp], eax
call fcn.0060dc80
mov eax, dword [esp + 0x38]
lea ecx, [eax - 1]
movzx edx, byte [esp + 4]
test dl, dl
jne 0x608a71
movzx edx, byte [esp + 0x33]
test dl, dl
je 0x608a80
movzx edx, byte [esp + 0x34]
movzx eax, byte [esp + 0x35]
jmp 0x6088c8
mov dword [esp + 0x40], ecx
mov eax, dword [esp + 0xd4]
mov dword [esp], eax
mov ecx, dword [esp + 0x48]
mov dword [esp + 4], ecx
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
call fcn.006095b0
movzx eax, byte [esp + 0x10]
test al, al
je 0x608bb1
mov ecx, dword [esp + 0x48]
mov edx, dword [ecx]
test edx, edx
je 0x608acb
mov ecx, dword [esp + 0x38]
jmp 0x608bb5
mov byte [esp + 0x36], al
nop
mov eax, dword [esp + 0xd0]
mov edx, dword [eax + 0x18]
lea ebp, [0x659f80]
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.0040e070
mov eax, dword [esp + 0xc]
mov eax, dword [eax]
movzx ecx, byte [esp + 0x10]
test cl, cl
je 0x608ba6
mov ecx, dword [esp + 0xd0]
mov edx, dword [ecx + 0x14]
cmp dword [eax + 8], edx
jne 0x608b89
mov edi, dword [eax + 4]
test byte [edi], al
nop
mov ebx, dword [0x887d70]
mov ebp, dword [eax]
test ebx, ebx
jne 0x608b28
mov dword [edi], ebp
jmp 0x608b33
mov ebx, eax
mov eax, ebp
call fcn.0045f750
mov eax, ebx
mov ebx, dword [eax]
test byte [ebx], al
mov ebp, dword [0x887d70]
mov esi, dword [eax + 4]
test ebp, ebp
jne 0x608b5d
mov dword [ebx + 4], esi
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
jmp 0x608b86
lea edi, [ebx + 4]
mov ebx, eax
mov eax, esi
call fcn.0045f750
mov edi, ebx
xor eax, eax
call fcn.0045f750
lea ebp, [ebx + 4]
mov edi, ebp
call fcn.0045f750
lea edi, [ebx + 8]
xor eax, eax
call fcn.0045f750
dec dword [edx + 0x14]
mov eax, dword [esp + 0x48]
mov edx, dword [ecx + 0x18]
lea ebx, [0x659f80]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.0040e7a0
movzx eax, byte [esp + 0x36]
mov ecx, dword [esp + 0x40]
jmp 0x608bb5
mov ecx, dword [esp + 0x38]
mov edx, 1
jmp 0x6088c8
test ebx, ebx
je 0x608c16
mov eax, dword [esp + 0xd0]
mov ecx, dword [eax + 0xc]
lea edx, [0x65a440]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x50]
mov dword [esp + 8], ecx
call fcn.0040c860
mov edi, dword [esp + 0xc]
mov eax, dword [esp + 0x38]
mov dword [edi + 4], eax
mov eax, dword [esp + 0x3c]
mov dword [edi + 8], eax
mov eax, dword [0x887d70]
test eax, eax
jne 0x608c0b
mov eax, dword [esp + 0x4c]
mov dword [edi], eax
jmp 0x608c3a
mov eax, dword [esp + 0x4c]
call fcn.0045f750
jmp 0x608c3a
mov eax, dword [esp + 0xd0]
mov ecx, dword [eax + 0xc]
lea edx, [0x65a440]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x50]
mov dword [esp + 8], ecx
call fcn.0040cd40
movzx eax, byte [esp + 0x34]
test al, al
je 0x60874b
movzx eax, byte [esp + 0x35]
mov byte [esp + 0xd8], al
mov byte [esp + 0x37], 0
mov edx, dword [esp + 0xc8]
mov eax, dword [edx]
call eax
add esp, 0xcc
ret
call fcn.0045e340
jmp fcn.006085a0