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

Disassembly:
mov ecx, dword [0x95eda0]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0xf0]
cmp eax, dword [ecx + 8]
jbe 0x602ce3
sub esp, 0x170
mov eax, dword [esp + 0x174]
mov ecx, dword [eax + 0x138]
test ecx, ecx
je 0x602596
mov edx, dword [eax + 0x13c]
mov dword [esp + 0x168], ecx
mov dword [esp + 0x16c], edx
mov ecx, dword [esp + 0x168]
test ecx, ecx
je 0x60258e
movzx edx, byte [ecx + 0xf]
mov ebx, edx
and edx, 0x1f
test bl, 0x20
jne 0x602585
or edx, 0x80
mov ebx, dword [esp + 0x16c]
jmp 0x60259c
xor edx, edx
xor ecx, ecx
xor ebx, ebx
jmp 0x60259c
xor edx, edx
xor ecx, ecx
xor ebx, ebx
mov dword [esp + 0x3c], edx
mov dword [esp + 0x160], ebx
mov dword [esp + 0x15c], ecx
mov dword [esp], ecx
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x18
call fcn.004d1160
mov eax, dword [esp + 0x18]
and eax, 0x1f
mov dword [esp + 0x158], eax
mov ecx, dword [esp + 0x14]
nop
cmp eax, 9
ja 0x6025ff
cmp eax, 7
jne 0x6025e7
mov eax, dword [ecx]
jmp 0x60261c
cmp eax, 8
jne 0x6025f1
movzx eax, byte [ecx]
jmp 0x60261c
cmp eax, 9
jne 0x602ca5
movzx eax, word [ecx]
jmp 0x60261c
cmp eax, 0xa
jne 0x602608
mov eax, dword [ecx]
jmp 0x60261c
cmp eax, 0xb
jne 0x602611
mov eax, dword [ecx]
jmp 0x60261c
cmp eax, 0xc
jne 0x602ca5
mov eax, dword [ecx]
mov dword [esp + 0x2c], eax
mov ecx, dword [esp + 0x15c]
mov dword [esp], ecx
mov edx, dword [esp + 0x160]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0x3c]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 0x1d
call fcn.004d1160
mov eax, dword [esp + 0x18]
and eax, 0x1f
mov dword [esp + 0x158], eax
mov ecx, dword [esp + 0x14]
nop
cmp eax, 9
ja 0x602689
cmp eax, 7
jne 0x60266d
mov eax, dword [ecx]
xor ecx, ecx
jmp 0x6026ad
cmp eax, 8
jne 0x602679
movzx eax, byte [ecx]
xor ecx, ecx
jmp 0x6026ad
cmp eax, 9
jne 0x602c68
movzx eax, word [ecx]
xor ecx, ecx
jmp 0x6026ad
cmp eax, 0xa
jne 0x602694
mov eax, dword [ecx]
xor ecx, ecx
jmp 0x6026ad
cmp eax, 0xb
jne 0x6026a0
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
jmp 0x6026ad
cmp eax, 0xc
jne 0x602c68
mov eax, dword [ecx]
xor ecx, ecx
test ecx, ecx
sete dl
seta bl
test eax, eax
xchg ebp, ebx
seta bl
xchg ebp, ebx
and edx, ebp
or edx, ebx
test dl, dl
je 0x602908
mov dword [esp + 0x28], eax
mov edx, dword [esp + 0x2c]
and edx, 0xf0000000
mov ebx, dword [esp + 0x174]
movzx ebp, byte [ebx + 0x294]
shr edx, 0x1c
mov dword [esp + 0x154], edx
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x6027f7
mov eax, dword [esp + 0x15c]
mov dword [esp], eax
mov eax, dword [esp + 0x160]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0x1c
call fcn.004d1160
mov eax, dword [esp + 0x18]
and eax, 0x1f
mov dword [esp + 0x158], eax
mov ecx, dword [esp + 0x14]
nop
cmp eax, 9
ja 0x60275d
cmp eax, 7
jne 0x602745
mov ecx, dword [ecx]
jmp 0x60277a
cmp eax, 8
jne 0x60274f
movzx ecx, byte [ecx]
jmp 0x60277a
cmp eax, 9
jne 0x602c2b
movzx ecx, word [ecx]
jmp 0x60277a
cmp eax, 0xa
jne 0x602766
mov ecx, dword [ecx]
jmp 0x60277a
cmp eax, 0xb
jne 0x60276f
mov ecx, dword [ecx]
jmp 0x60277a
cmp eax, 0xc
jne 0x602c2b
mov ecx, dword [ecx]
mov dword [esp + 0x24], ecx
lea edi, [esp + 0x5c]
xor eax, eax
call fcn.00471a28
mov ecx, dword [esp + 0x174]
mov edx, dword [ecx + 0x78]
lea ebx, [0x6ea1a0]
cmp edx, ebx
jne 0x602c15
mov esi, dword [ecx + 0x7c]
lea edi, [esp + 0x5c]
call fcn.00471d40
mov eax, dword [esp + 0x24]
sub eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x174]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.005fc110
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x174]
mov ebx, dword [esp + 0x154]
mov ebp, 1
xor esi, esi
xor edi, edi
xor ebp, ebp
mov dword [esp + 0x48], ebp
mov ebp, 1
jmp 0x602b06
mov dword [esp + 0x30], ecx
mov eax, dword [esp + 0x15c]
mov dword [esp], eax
mov eax, dword [esp + 0x160]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0x1c
call fcn.004d1160
mov eax, dword [esp + 0x18]
and eax, 0x1f
mov dword [esp + 0x158], eax
mov ecx, dword [esp + 0x14]
nop
cmp eax, 9
ja 0x60285e
cmp eax, 7
jne 0x602846
mov ecx, dword [ecx]
jmp 0x60287b
cmp eax, 8
jne 0x602850
movzx ecx, byte [ecx]
jmp 0x60287b
cmp eax, 9
jne 0x602aad
movzx ecx, word [ecx]
jmp 0x60287b
cmp eax, 0xa
jne 0x602867
mov ecx, dword [ecx]
jmp 0x60287b
cmp eax, 0xb
jne 0x602870
mov ecx, dword [ecx]
jmp 0x60287b
cmp eax, 0xc
jne 0x602aad
mov ecx, dword [ecx]
mov dword [esp + 0x20], ecx
lea edi, [esp + 0x5c]
xor eax, eax
call fcn.00471a24
mov ecx, dword [esp + 0x174]
mov edx, dword [ecx + 0x78]
lea ebx, [0x6e9e20]
cmp edx, ebx
jne 0x602a97
mov esi, dword [ecx + 0x7c]
lea edi, [esp + 0x5c]
call fcn.00471d18
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x174]
mov dword [esp], ecx
mov edx, dword [esp + 0x20]
sub edx, eax
mov dword [esp + 4], edx
call fcn.005fc110
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x174]
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0x28]
mov ebp, dword [esp + 0x154]
mov esi, 1
xor edi, edi
xor esi, esi
mov dword [esp + 0x4c], esi
xor esi, esi
mov dword [esp + 0x164], esi
xor esi, esi
mov dword [esp + 0x48], esi
mov esi, 1
jmp 0x60295c
xor eax, eax
xor ecx, ecx
xor edx, edx
mov dword [esp + 0x178], edx
mov dword [esp + 0x17c], eax
mov dword [esp + 0x180], ecx
add esp, 0x170
ret
mov ecx, dword [esp + 0x164]
mov dword [ecx + edx*4 - 4], ebx
lea eax, [eax + ebp + 4]
add esi, 1
mov ebx, dword [esp + 0x54]
adc ebx, 0
mov ecx, dword [esp + 0x174]
mov dword [esp + 0x4c], edi
mov dword [esp + 0x48], edx
mov edx, dword [esp + 0x30]
mov edi, ebx
mov ebx, dword [esp + 0x28]
mov dword [esp + 0x54], edi
cmp edi, edx
setb dl
xchg edi, ebx
sete bl
xchg edi, ebx
cmp esi, ebx
setbe bl
and ebx, edi
or ebx, edx
test bl, bl
je 0x602a70
mov edx, dword [ecx + 0x2ac]
add edx, 0xfffffffc
cmp eax, edx
jbe 0x602994
mov edx, dword [0x932770]
xor ebx, ebx
jmp 0x6029c7
mov edx, dword [ecx + 0x28c]
cmp eax, edx
ja 0x602a90
mov ebx, dword [ecx + 0x290]
sub edx, eax
sub ebx, eax
neg ebx
sar ebx, 0x1f
and ebx, eax
cmp edx, 3
jbe 0x602a84
mov edi, dword [ecx + 0x288]
mov ebx, dword [ebx + edi]
xor edx, edx
test edx, edx
jne 0x602a45
mov edx, dword [esp + 0x48]
inc edx
mov edi, dword [esp + 0x4c]
cmp edi, edx
jae 0x60292a
mov dword [esp + 0x50], esi
mov dword [esp + 0x34], ebx
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x164]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], edi
mov dword [esp + 0xc], 1
lea eax, [0x6a72a0]
mov dword [esp + 0x10], eax
call fcn.0046c6b0
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x34]
mov ebp, dword [esp + 0x154]
mov esi, dword [esp + 0x50]
mov dword [esp + 0x164], eax
mov edi, ecx
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x174]
jmp 0x60292a
mov eax, dword [esp + 0x164]
mov dword [esp + 0x178], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x17c], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x180], eax
add esp, 0x170
ret
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x164]
jmp 0x60290e
mov eax, 3
mov ecx, edx
call fcn.00471840
mov ecx, edx
call fcn.004718b0
mov dword [esp], edx
mov dword [esp + 4], ebx
lea eax, [0x6a8ba0]
mov dword [esp + 8], eax
call fcn.0040a040
lea eax, [0x6bee00]
mov dword [esp], eax
call fcn.0040c000
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x12
lea ecx, [0x6fd962]
mov dword [eax], ecx
mov ecx, dword [esp + 0x158]
mov dword [eax + 8], ecx
lea ecx, [0x6b1a00]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.0046aeb0
mov ecx, dword [esp + 0x38]
mov dword [edi + edx*4 - 4], ecx
inc ebp
lea eax, [eax + ebx + 4]
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x48], edx
mov edx, dword [esp + 0x174]
cmp ebp, ecx
ja 0x602bf9
mov ecx, dword [edx + 0x2ac]
add ecx, 0xfffffffc
cmp eax, ecx
jbe 0x602b37
mov ecx, dword [0x932770]
mov dword [esp + 0x14c], eax
xor eax, eax
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x14c]
jmp 0x602b75
mov ecx, dword [edx + 0x28c]
cmp eax, ecx
ja 0x602c10
mov ebx, dword [edx + 0x290]
sub ecx, eax
sub ebx, eax
neg ebx
sar ebx, 0x1f
and ebx, eax
cmp ecx, 3
jbe 0x602c06
mov ecx, dword [edx + 0x288]
mov ebx, dword [ebx + ecx]
xor ecx, ecx
mov dword [esp + 0x38], ebx
mov ebx, dword [esp + 0x154]
test ecx, ecx
jne 0x602bd9
mov ecx, edx
mov edx, dword [esp + 0x48]
inc edx
cmp esi, edx
jae 0x602aea
mov dword [esp + 0x58], ebp
mov dword [esp + 0x44], eax
mov dword [esp], edi
mov dword [esp + 4], edx
mov dword [esp + 8], esi
mov dword [esp + 0xc], 1
lea eax, [0x6a72a0]
mov dword [esp + 0x10], eax
call fcn.0046c6b0
mov edi, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x174]
mov ebx, dword [esp + 0x154]
mov ebp, dword [esp + 0x58]
jmp 0x602aea
mov dword [esp + 0x178], edi
mov eax, dword [esp + 0x48]
mov dword [esp + 0x17c], eax
mov dword [esp + 0x180], esi
add esp, 0x170
ret
mov eax, dword [esp + 0x48]
mov ecx, esi
mov edx, edi
jmp 0x60290e
mov eax, 3
call fcn.00471840
call fcn.004718b0
mov dword [esp], edx
mov dword [esp + 4], ebx
lea eax, [0x6a8ba0]
mov dword [esp + 8], eax
call fcn.0040a040
lea eax, [0x6bee00]
mov dword [esp], eax
call fcn.0040c000
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x12
lea ecx, [0x6fd962]
mov dword [eax], ecx
mov ecx, dword [esp + 0x158]
mov dword [eax + 8], ecx
lea ecx, [0x6b1a00]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.0046aeb0
lea eax, [0x6bee00]
mov dword [esp], eax
call fcn.0040c000
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x12
lea ecx, [0x6fd962]
mov dword [eax], ecx
mov ecx, dword [esp + 0x158]
mov dword [eax + 8], ecx
lea ecx, [0x6b1a00]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.0046aeb0
lea eax, [0x6bee00]
mov dword [esp], eax
call fcn.0040c000
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x12
lea ecx, [0x6fd962]
mov dword [eax], ecx
mov ecx, dword [esp + 0x158]
mov dword [eax + 8], ecx
lea ecx, [0x6b1a00]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.0046aeb0
nop
call fcn.004703c0
jmp fcn.00602520