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

Disassembly:
mov ecx, dword [0xf33f68]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x40]
cmp eax, dword [ecx + 8]
jbe 0x6027e9
sub esp, 0xc0
mov edx, dword [esp + 0xc4]
mov ebx, dword [edx + 0x30]
mov ebp, dword [edx + 0x38]
test ebx, ebx
jbe 0x6027df
mov eax, dword [edx + 0x2c]
movzx eax, byte [eax]
mov ecx, dword [edx + 0x3c]
mov dword [esp + 0x58], ecx
cmp al, 0x74
je 0x601d3a
cmp al, 0x75
jne 0x601d03
mov dword [esp], edx
call fcn.00600000
xor eax, eax
xor ecx, ecx
lea edx, [esp + 0x24]
mov ebx, dword [esp + 0x58]
jmp 0x601e69
cmp al, 0x78
jne 0x601d21
mov dword [esp], edx
mov dword [esp + 4], 1
call fcn.00600280
mov eax, dword [esp + 8]
jmp 0x601de5
mov dword [esp], edx
mov dword [esp + 4], 2
call fcn.00600280
mov eax, dword [esp + 8]
jmp 0x601de5
mov dword [esp + 0x24], ebp
mov dword [esp], edx
call fcn.00600000
mov eax, dword [esp + 0xc4]
mov ecx, dword [eax + 0x30]
add ecx, 0xfffffffe
cmp ecx, 1
ja 0x601db3
mov ecx, dword [eax + 0x2c]
cmp byte [ecx + 1], 0x39
ja 0x601d67
mov ecx, dword [esp + 0x58]
jmp 0x601dd4
lea edi, [esp + 0x94]
xor eax, eax
call fcn.0046ca7b
mov ecx, dword [esp + 0xc4]
mov dword [esp], ecx
mov byte [esp + 4], 0
call fcn.006009e0
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x58], ecx
lea edi, [esp + 0x94]
lea esi, [esp + 8]
call fcn.0046cf5e
nop
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0xc4]
mov ebx, dword [esp + 0x24]
jmp 0x601df4
mov ecx, dword [esp + 0x58]
jmp 0x601dd4
mov dword [esp], eax
mov dword [esp + 4], 3
call fcn.00600280
mov ecx, dword [esp + 8]
mov eax, dword [esp + 0xc4]
cmp dword [eax + 0x30], 2
jne 0x601de3
mov edx, dword [eax + 0x2c]
cmp byte [edx + 1], 0x39
jbe 0x601db9
mov eax, ecx
mov dword [esp + 0xc8], eax
add esp, 0xc0
ret
inc ebx
cmp ebx, ecx
jge 0x601e1b
mov ebp, dword [edx + 4]
cmp ebx, ebp
jae 0x601e1f
mov ebp, dword [edx]
movzx esi, byte [ebp + ebx]
lea edi, [esi - 0x41]
xchg edi, eax
cmp al, 0x19
xchg edi, eax
ja 0x601df3
add esi, 0x20
xchg esi, eax
mov byte [ebp + ebx], al
xchg esi, eax
jmp 0x601df3
mov eax, edx
jmp 0x601dd4
mov eax, ebx
mov ecx, ebp
call fcn.0046c850
mov eax, dword [esp + 0xc4]
mov ecx, dword [eax + 0x30]
mov dword [esp + 0x38], ecx
mov edx, dword [eax + 0x34]
mov dword [esp + 0x40], edx
mov ebx, dword [eax + 0x2c]
mov dword [esp + 0x84], ebx
mov ebp, dword [eax + 0x3c]
mov dword [esp + 0x74], ebp
mov dword [esp], eax
call fcn.00600000
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x84]
mov ebx, dword [esp + 0x74]
mov ebp, dword [esp + 0xc4]
mov esi, dword [ebp + 0x30]
cmp esi, 2
jle 0x601ed5
mov dword [esp + 0x78], ebx
mov ebx, dword [ebp + 0x2c]
mov edi, dword [ebp + 0x34]
mov dword [esp], ebx
mov dword [esp + 4], esi
mov dword [esp + 8], edi
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], eax
call fcn.00403310
cmp dword [esp + 0x18], 0xffffffff
je 0x601e28
mov eax, dword [esp + 0x58]
lea ecx, [eax + 1]
mov dword [esp + 0x30], ecx
mov edx, dword [esp + 0xc4]
mov dword [edx + 0x40], ecx
mov dword [esp], edx
call fcn.00600000
xor eax, eax
lea ecx, [0xf33e00]
xor edx, edx
mov ebx, dword [esp + 0x78]
jmp 0x6025e2
mov dword [esp + 0x58], ebx
xor ecx, ecx
xor edx, edx
xor esi, esi
jmp 0x601ef6
mov ebp, eax
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x78]
mov esi, dword [esp + 0xbc]
mov ebx, dword [esp + 0x70]
mov dword [esp + 0x3c], ecx
mov edi, dword [ebp + 0x30]
mov eax, dword [ebp + 0x2c]
mov ecx, dword [ebp + 0x34]
cmp edi, 2
jne 0x601f97
mov dword [esp + 0x80], esi
mov dword [esp + 0x78], edi
mov dword [esp + 0xbc], eax
mov dword [esp + 0x74], ecx
mov dword [esp + 0x34], edx
mov eax, dword [ebp + 0x3c]
mov dword [esp + 0x70], eax
mov dword [esp], ebp
call fcn.00600000
mov eax, dword [esp + 0xc4]
mov ecx, dword [esp + 0x70]
jmp 0x601fb5
mov eax, dword [esp + 0xbc]
mov dword [esp], eax
mov ecx, dword [esp + 0x78]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x74]
mov dword [esp + 8], edx
mov ebx, dword [esp + 0x80]
mov dword [esp + 0xc], ebx
mov ebx, dword [esp + 0x34]
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0x3c]
mov dword [esp + 0x14], ebx
call fcn.00403310
cmp dword [esp + 0x18], 1
jne 0x601fcb
mov eax, dword [esp + 0xc4]
mov ecx, dword [eax + 0x44]
test ecx, ecx
je 0x601ee1
jmp 0x601fd2
mov eax, ebx
jmp 0x601de5
mov dword [esp + 0x70], edx
mov dword [esp], eax
call fcn.00600000
mov eax, dword [esp + 0xc4]
mov ecx, dword [esp + 0x70]
mov dword [esp + 0x70], ecx
mov edx, dword [eax + 0x3c]
cmp ecx, edx
jge 0x601f42
cmp dword [eax + 0x30], 2
jg 0x601f9e
jmp 0x601f42
mov eax, dword [esp + 0xc4]
mov ecx, dword [esp + 0x58]
lea edx, [ecx + 1]
mov dword [esp + 0x2c], edx
mov dword [eax + 0x40], edx
mov dword [esp], eax
call fcn.00600000
lea eax, [0xf33e00]
xor ecx, ecx
xor edx, edx
mov ebx, dword [esp + 0x70]
jmp 0x602006
mov dword [ebx + eax*4 - 0xc], edx
mov eax, ebx
mov ecx, ebp
mov edx, dword [esp + 0x48]
mov ebx, esi
mov dword [esp + 0x48], edx
mov dword [esp + 0x44], ecx
mov dword [esp + 0x88], eax
mov ebp, dword [esp + 0xc4]
cmp dword [ebp + 0x30], 2
jne 0x60211f
mov eax, dword [ebp + 0x38]
mov dword [esp + 0x4c], eax
mov ecx, dword [ebp + 0x3c]
mov dword [esp + 0x78], ecx
mov dword [esp], ebp
call fcn.00600000
mov eax, dword [esp + 0xc4]
mov ecx, dword [esp + 0x78]
jmp 0x602593
mov edx, dword [eax + 8]
cmp ecx, edx
ja 0x6025b0
mov ebx, dword [esp + 0x4c]
cmp ecx, ebx
jb 0x6025a9
mov ebp, dword [esp + 0x44]
inc ebp
mov esi, dword [eax]
sub edx, ebx
mov edi, edx
neg edx
sar edx, 0x1f
and edx, ebx
add edx, esi
mov esi, ecx
sub ecx, ebx
mov ebx, dword [esp + 0x48]
cmp ebx, ebp
jae 0x6020e7
mov dword [esp + 0x78], esi
mov dword [esp + 0x74], ecx
mov dword [esp + 0x70], edi
mov dword [esp + 0xbc], edx
mov eax, dword [esp + 0x88]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x76be60]
mov dword [esp + 0x10], eax
call fcn.00450c90
mov eax, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x74]
mov esi, dword [esp + 0x78]
mov edi, dword [esp + 0x70]
mov dword [esp + 0x88], eax
mov ebx, edx
mov edx, dword [esp + 0xbc]
mov dword [esp + 0x48], ebx
lea eax, [ebp + ebp*2]
mov ebx, dword [esp + 0x88]
mov dword [ebx + eax*4 - 8], ecx
mov dword [ebx + eax*4 - 4], edi
mov ecx, dword [0xf34078]
test ecx, ecx
je 0x601ff8
call fcn.0046c7e0
mov dword [edi], edx
mov ecx, dword [ebx + eax*4 - 0xc]
mov dword [edi + 4], ecx
jmp 0x601ff8
mov dword [esp + 0x78], ebx
mov dword [esp + 0xa8], eax
mov dword [esp + 0xac], ecx
mov dword [esp + 0xb0], edx
mov dword [esp + 0xb4], 2
lea ebx, [0x7a0780]
mov dword [esp], ebx
lea ebx, [esp + 0xa8]
mov dword [esp + 4], ebx
call fcn.0040aba0
mov eax, dword [esp + 8]
lea ecx, [0xc7fedc]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00497ef0
mov ecx, dword [esp + 0x44]
test ecx, ecx
je 0x60218d
mov ebx, dword [esp + 0x88]
mov eax, 1
xor edx, edx
jmp 0x602336
mov eax, dword [0xed2d08]
mov edx, dword [0xed2d0c]
mov ebx, dword [0xed2d10]
mov ebp, dword [esp + 0x88]
mov dword [esp], ebp
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x48]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], ebx
call fcn.004e9b80
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x58]
lea edx, [eax + ecx + 1]
mov ebx, dword [esp + 0x18]
lea ebp, [ecx + eax]
mov esi, dword [esp + 0x78]
cmp esi, edx
jle 0x6022b9
mov dword [esp + 0x7c], ebx
mov edi, dword [esp + 0xc4]
mov ebx, dword [edi + 4]
nop
cmp ebx, edx
jb 0x602322
mov dword [esp + 0x74], ebx
mov dword [esp + 0x28], eax
mov dword [esp + 0x70], ebp
mov eax, dword [edi]
mov ecx, dword [edi + 8]
mov dword [esp + 0x6c], ecx
sub ecx, ebp
dec ecx
neg ecx
sar ecx, 0x1f
and ecx, edx
add ecx, eax
sub ebx, ebp
mov ebp, dword [esp + 0x74]
cmp esi, ebp
ja 0x602319
dec ebx
sub ebp, esi
mov edi, dword [esp + 0x6c]
sub edi, esi
xchg edi, ebx
neg ebx
xchg edi, ebx
sar edi, 0x1f
and edi, esi
add edi, eax
cmp ebp, ebx
jl 0x602247
mov ebp, ebx
cmp edi, ecx
je 0x60226f
mov dword [esp + 0x68], edx
mov dword [esp + 0x74], ebp
mov dword [esp], ecx
mov dword [esp + 4], edi
mov dword [esp + 8], ebp
call fcn.0046d170
mov edx, dword [esp + 0x68]
mov ebp, dword [esp + 0x74]
mov esi, dword [esp + 0x78]
mov ebx, dword [esp + 0xc4]
mov edi, dword [ebx + 8]
mov eax, esi
mov esi, dword [esp + 0x70]
lea ecx, [ebp + esi + 1]
cmp edi, ecx
jb 0x602312
mov dword [ebx + 4], ecx
sub eax, esi
mov ebp, dword [ebx + 0x40]
sub ebp, eax
inc ebp
mov dword [ebx + 0x40], ebp
mov ebp, dword [ebx + 0x38]
sub ebp, eax
inc ebp
mov dword [ebx + 0x38], ebp
mov ebp, dword [ebx + 0x3c]
sub ebp, eax
inc ebp
mov dword [ebx + 0x3c], ebp
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x58]
mov ebx, dword [esp + 0x7c]
mov esi, edx
mov edx, dword [esp + 0xc4]
mov ebp, dword [edx + 4]
mov edi, dword [esp + 0x2c]
cmp ebp, edi
jb 0x602309
mov dword [esp + 0x58], esi
mov esi, dword [edx]
mov edx, dword [edx + 8]
sub ebp, ecx
sub edx, ecx
lea ecx, [ebp - 1]
dec edx
neg edx
sar edx, 0x1f
and edi, edx
lea edx, [edi + esi]
cmp eax, ecx
jl 0x6022ec
mov eax, ecx
cmp ebx, edx
je 0x602300
mov dword [esp], edx
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
call fcn.0046d170
mov ebx, dword [esp + 0x58]
jmp 0x601f97
mov eax, edi
mov ecx, ebp
call fcn.0046c8b0
mov edx, edi
call fcn.0046c890
mov eax, esi
mov ecx, ebp
call fcn.0046c8b0
mov eax, edx
mov ecx, ebx
call fcn.0046c8b0
mov esi, dword [esp + 0x54]
inc esi
mov ebx, ebp
mov edx, eax
mov eax, esi
cmp eax, ecx
jge 0x602544
cmp edx, ecx
jae 0x602575
lea ebp, [edx + edx*2]
mov esi, dword [ebx + ebp*4 + 8]
mov edi, dword [ebx + ebp*4]
cmp esi, 2
jb 0x602569
mov dword [esp + 0x54], eax
lea esi, [eax + eax*2]
mov dword [esp + 0x74], esi
mov eax, dword [ebx + esi*4 + 8]
mov ecx, dword [ebx + esi*4]
lea esi, [ebx + esi*4]
cmp eax, 2
jb 0x60255d
mov dword [esp + 0xb8], esi
mov dword [esp + 0x70], ebp
mov dword [esp + 0x50], edx
mov dword [esp], edi
mov dword [esp + 4], ecx
mov dword [esp + 8], 2
call fcn.00403420
movzx eax, byte [esp + 0xc]
test al, al
je 0x6024ef
mov ebx, dword [esp + 0x70]
mov ebp, dword [esp + 0x88]
mov esi, dword [ebp + ebx*4 + 4]
mov ebx, dword [ebp + ebx*4]
mov edi, dword [esp + 0x74]
mov edi, dword [ebp + edi*4]
mov eax, edi
mov edi, dword [esp + 0xb8]
cmp dword [edi + 4], esi
je 0x6023d4
xor eax, eax
jmp 0x6023f0
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], esi
call fcn.00403420
movzx eax, byte [esp + 0xc]
mov ebp, dword [esp + 0x88]
test al, al
je 0x602400
mov ebx, dword [esp + 0xc4]
jmp 0x6024e2
mov ebx, dword [esp + 0xc4]
mov esi, dword [ebx + 0x44]
mov edi, dword [0xed1b60]
mov eax, dword [0xed1b64]
test esi, esi
je 0x6024c5
mov dword [esp + 0x5c], edi
mov dword [esp + 0x8c], eax
cmp dword [0xed1b58], edi
je 0x602435
xor ecx, ecx
jmp 0x60246b
mov ecx, dword [0xed1b5c]
mov dword [esp], edi
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00404f40
movzx eax, byte [esp + 0xc]
mov ebx, dword [esp + 0xc4]
mov ebp, dword [esp + 0x88]
mov edi, dword [esp + 0x5c]
mov ecx, eax
mov eax, dword [esp + 0x8c]
test cl, cl
je 0x6024bf
mov esi, dword [ebx + 0x44]
cmp dword [0xed1b58], esi
je 0x602481
mov ecx, 1
jmp 0x6024c1
mov eax, dword [ebx + 0x48]
mov ecx, dword [0xed1b5c]
mov dword [esp], esi
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00404f40
movzx eax, byte [esp + 0xc]
xor eax, 1
mov ebx, dword [esp + 0xc4]
mov ebp, dword [esp + 0x88]
mov edi, dword [esp + 0x5c]
mov ecx, eax
mov eax, dword [esp + 0x8c]
jmp 0x6024c1
xor ecx, ecx
test cl, cl
je 0x6024e2
mov dword [ebx + 0x44], edi
mov esi, dword [0xf34078]
test esi, esi
je 0x6024df
call fcn.0046c7e0
mov dword [edi], eax
mov esi, dword [ebx + 0x48]
mov dword [edi + 4], esi
mov dword [ebx + 0x48], eax
mov ecx, dword [esp + 0x44]
mov eax, dword [esp + 0x50]
jmp 0x60232b
mov ebx, dword [esp + 0x50]
lea eax, [ebx + 1]
mov ebx, dword [esp + 0x74]
mov ebp, dword [esp + 0x88]
mov esi, dword [ebp + ebx*4 + 4]
mov edi, dword [ebp + ebx*4 + 8]
mov ebx, dword [ebp + ebx*4]
mov ecx, dword [esp + 0x44]
cmp ecx, eax
jbe 0x602558
mov edx, ebx
mov ebx, dword [esp + 0x70]
mov dword [ebp + ebx*4 + 0x10], esi
mov dword [ebp + ebx*4 + 0x14], edi
mov esi, dword [0xf34078]
test esi, esi
je 0x60253b
call fcn.0046c7e0
mov dword [edi], edx
mov esi, dword [ebp + ebx*4 + 0xc]
mov dword [edi + 4], esi
mov dword [ebp + ebx*4 + 0xc], edx
jmp 0x60232b
lea ecx, [edx + 1]
mov edx, dword [esp + 0x48]
cmp edx, ecx
jae 0x60218d
call fcn.0046c890
call fcn.0046c850
mov ecx, 2
mov edx, eax
call fcn.0046c890
mov ecx, 2
mov edx, esi
call fcn.0046c890
mov eax, edx
call fcn.0046c850
mov dword [esp + 0x78], ebx
mov dword [esp], eax
call fcn.00600000
mov eax, dword [esp + 0xc4]
mov ecx, dword [esp + 0x78]
mov ebx, dword [eax + 0x3c]
cmp ecx, ebx
jge 0x60204c
cmp dword [eax + 0x30], 2
jg 0x60257c
jmp 0x60204c
mov eax, ebx
call fcn.0046c8b0
call fcn.0046c890
mov dword [esp + 0x90], ecx
mov dword [ecx + eax*4 - 0xc], edi
mov eax, dword [ebp + 0x3c]
mov dword [esp + 0x78], eax
mov dword [esp], ebp
call fcn.00600000
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x90]
mov edx, dword [esp + 0x60]
mov ebx, dword [esp + 0x78]
mov dword [esp + 0x78], ebx
mov ebp, dword [esp + 0xc4]
mov esi, dword [ebp + 0x30]
mov edi, dword [ebp + 0x2c]
mov ebx, dword [ebp + 0x34]
cmp esi, 2
jle 0x60268f
inc edx
cmp eax, edx
jae 0x602657
mov dword [esp + 0x78], ebx
mov dword [esp + 0x74], esi
mov dword [esp + 0xbc], edi
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
lea eax, [0x76be60]
mov dword [esp + 0x10], eax
call fcn.00450c90
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x78]
mov ebp, dword [esp + 0xc4]
mov esi, dword [esp + 0x74]
mov edi, dword [esp + 0xbc]
mov dword [esp + 0x60], edx
mov dword [esp + 0x64], eax
lea eax, [edx + edx*2]
mov dword [ecx + eax*4 - 8], esi
mov dword [ecx + eax*4 - 4], ebx
mov ebx, dword [0xf34078]
test ebx, ebx
je 0x6025b5
mov ebx, edi
call fcn.0046c7e0
mov dword [edi], ebx
mov esi, dword [ecx + eax*4 - 0xc]
mov dword [edi + 4], esi
mov edi, ebx
jmp 0x6025b5
mov dword [esp + 0x70], eax
mov dword [esp + 0xb8], ecx
mov dword [esp + 0x60], edx
mov dword [esp + 0xa8], 0
mov dword [esp + 0xac], 0
mov dword [esp + 0xb0], 0
mov dword [esp + 0xb4], 0
mov dword [esp + 0xa8], ecx
mov dword [esp + 0xac], edx
mov dword [esp + 0xb0], eax
mov dword [esp + 0xb4], 3
lea ebx, [0x7a0780]
mov dword [esp], ebx
lea ebp, [esp + 0xa8]
mov dword [esp + 4], ebp
call fcn.0040aba0
mov eax, dword [esp + 8]
lea ecx, [0xc7fedc]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00497e40
mov eax, dword [esp + 0xc4]
mov ecx, dword [eax + 4]
mov edx, dword [esp + 0x30]
cmp ecx, edx
jb 0x6027d8
mov ebx, dword [eax]
mov dword [esp + 0xbc], ebx
mov ebp, dword [eax + 8]
mov esi, dword [esp + 0x58]
sub ebp, esi
sub ecx, esi
dec ecx
mov dword [esp + 0x74], ecx
dec ebp
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and edx, ebp
mov dword [esp + 0x6c], edx
mov ebp, dword [0xed2d08]
mov esi, dword [0xed2d0c]
mov edi, dword [0xed2d10]
mov eax, dword [esp + 0xb8]
mov dword [esp], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], edi
call fcn.004e9b80
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0xbc]
add ecx, edx
mov edx, dword [esp + 0x74]
cmp eax, edx
jl 0x6027b0
mov eax, edx
mov edx, dword [esp + 0x18]
cmp edx, ecx
je 0x6027c8
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.0046d170
mov ebp, dword [esp + 0xc4]
mov ebx, dword [esp + 0x78]
jmp 0x601ed5
mov eax, edx
call fcn.0046c8b0
xor eax, eax
mov ecx, eax
call fcn.0046c850
nop
call fcn.0046b3d0
jmp fcn.00601ca0