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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x48]
cmp eax, dword [ecx + 8]
jbe 0x601b0d
sub esp, 0xc8
mov eax, dword [esp + 0xcc]
mov ecx, dword [eax + 0x20]
mov edx, dword [eax + 0x1c]
test edx, edx
je 0x601a91
lea ebx, [eax + 0x24]
test byte [ebx], al
mov ebp, dword [esp + 0xd0]
mov esi, dword [ebp + 8]
mov edi, dword [ebp + 4]
mov ebp, dword [ebp]
cmp esi, 5
jb 0x601b06
mov dword [esp + 0xc4], ecx
mov ecx, dword [esp + 0xd4]
add ecx, 5
cmp ecx, edi
ja 0x601b06
mov dword [esp + 0x7c], edi
mov edx, dword [edx + 0x10]
mov dword [esp + 0x78], edx
mov edx, dword [eax + 0x64]
mov edi, dword [eax + 0x60]
mov eax, dword [eax + 0x5c]
mov dword [esp + 4], eax
mov dword [esp + 8], edi
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], 8
mov dword [esp + 0x18], 8
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x20], 5
mov dword [esp + 0x24], esi
sub esi, ecx
mov eax, esi
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and esi, ecx
lea edx, [ebp + esi]
mov dword [esp + 0x28], edx
mov edx, dword [esp + 0x7c]
sub edx, ecx
mov dword [esp + 0x2c], edx
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], 0
mov dword [esp + 0x38], 0
mov dword [esp + 0x3c], 0
mov eax, dword [esp + 0xc4]
mov dword [esp], eax
mov eax, dword [esp + 0x78]
call eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x64], eax
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x60], ecx
mov edx, dword [esp + 0x40]
mov dword [esp + 0xa0], edx
mov ebx, dword [esp + 0xd0]
mov ebp, dword [ebx + 4]
mov dword [esp + 0x7c], ebp
mov dword [esp], ebx
lea esi, [ecx + ebp]
mov dword [esp + 4], esi
call fcn.00601b20
mov eax, dword [esp + 0xcc]
lea ecx, [eax + 0x5c]
mov edx, dword [esp + 0xd0]
mov ebx, dword [edx + 8]
mov ebp, dword [edx + 4]
mov esi, dword [edx]
mov edi, dword [esp + 0x7c]
cmp edi, ebp
ja 0x601aff
mov dword [esp + 0xc0], ecx
sub ebp, edi
sub ebx, edi
neg ebx
sar ebx, 0x1f
and ebx, edi
add ebx, esi
mov esi, dword [esp + 0x60]
cmp ebp, esi
jle 0x601a8a
mov dword [esp], ebx
mov eax, dword [esp + 0xa0]
mov dword [esp + 4], eax
mov dword [esp + 8], esi
call fcn.0044e470
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0xcc]
mov dword [ecx + 0x60], eax
mov eax, dword [esp + 0x64]
mov dword [ecx + 0x64], eax
mov eax, dword [0xcc2260]
test eax, eax
jne 0x601a64
mov eax, dword [esp + 0xa0]
mov dword [ecx + 0x5c], eax
mov eax, dword [esp + 0xd0]
mov edx, dword [eax + 8]
mov ebx, dword [eax + 4]
mov ebp, dword [eax]
cmp ebx, 5
jb 0x601af8
add edx, 0xfffffffb
mov esi, edx
neg edx
sar edx, 0x1f
and edx, 5
add edx, ebp
mov ebp, dword [ecx + 0x18]
mov edi, dword [ecx + 0x14]
test edi, edi
je 0x6015e3
je 0x601ade
mov dword [esp + 0x7c], esi
mov dword [esp + 0x9c], edx
mov dword [esp + 0x74], ebx
mov dword [esp + 0xc4], ebp
mov dword [esp + 0xbc], edi
lea eax, [0x7e1420]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], ebp
call fcn.0040caf0
mov eax, dword [esp + 0x74]
add eax, 0xfffffffb
mov ecx, dword [esp + 0xc]
movzx edx, byte [esp + 0x14]
mov ebx, dword [esp + 0x10]
test dl, dl
je 0x60163a
mov ecx, dword [ecx + 0x10]
mov edx, dword [esp + 0x9c]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov ebp, dword [esp + 0x7c]
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], ebp
mov dword [esp], ebx
call ecx
mov eax, dword [esp + 0xd0]
mov ecx, dword [eax + 4]
mov edx, dword [eax]
cmp ecx, 3
jbe 0x601a9f
add ecx, 0xfffffffb
mov ebx, ecx
sar ecx, 8
mov byte [edx + 3], cl
mov ecx, dword [eax + 4]
mov eax, dword [eax]
cmp ecx, 4
jbe 0x601a98
mov byte [eax + 4], bl
mov eax, dword [esp + 0xcc]
mov dword [esp], eax
call fcn.00600740
mov byte [esp + 0xd8], 1
mov byte [esp + 0xd9], 0
add esp, 0xc8
ret
mov dword [esp + 0x54], eax
lea eax, [0x803000]
mov dword [esp], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 4], eax
mov ecx, dword [esp + 0xc4]
mov dword [esp + 8], ecx
call fcn.0040caf0
mov eax, dword [esp + 0xc]
movzx ecx, byte [esp + 0x14]
mov edx, dword [esp + 0x10]
test cl, cl
je 0x601835
mov dword [esp + 0xa8], eax
mov dword [esp + 0xb4], edx
mov ecx, dword [esp + 0xd0]
mov ebx, dword [ecx + 4]
mov dword [esp + 0x7c], ebx
mov ebp, dword [eax + 0x18]
mov dword [esp], edx
call ebp
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xd0]
mov dword [esp], ecx
mov edx, dword [esp + 0x7c]
add eax, edx
mov dword [esp + 4], eax
call fcn.00601b20
mov eax, dword [esp + 0x7c]
add eax, 0xfffffffb
mov ecx, dword [esp + 0xd4]
sub eax, ecx
mov edx, dword [esp + 0xd0]
mov ebx, dword [edx + 8]
mov ebp, dword [edx + 4]
mov esi, dword [edx]
lea edi, [ecx + 5]
cmp edi, 5
jb 0x601ad7
cmp edi, ebx
ja 0x601ad7
lea edx, [ebx - 5]
mov dword [esp + 0x5c], edx
neg edx
sar edx, 0x1f
and edx, 5
add edx, esi
test ecx, ecx
jne 0x601810
mov ecx, dword [esp + 0xcc]
lea edx, [ecx + 0x24]
test byte [edx], al
mov dword [esp + 0x90], eax
mov eax, 8
mov dword [esp + 0x5c], eax
mov dword [esp + 0x88], ecx
mov ecx, 8
mov dword [esp + 0x58], ecx
mov eax, dword [esp + 0x90]
mov ecx, dword [esp + 0x88]
cmp edi, ebp
ja 0x601ad0
sub ebx, edi
mov ebp, ebx
neg ebx
sar ebx, 0x1f
and ebx, edi
add ebx, esi
cmp eax, ebp
ja 0x601ac9
lea esi, [ecx + 0x30]
mov dword [esp + 0xb8], esi
test byte [esi], al
lea edi, [ecx + 0x24]
test byte [edi], al
mov edi, dword [ecx + 0x24]
mov esi, dword [ecx + 0x28]
mov dword [ecx + 0x30], edi
mov dword [ecx + 0x34], esi
mov esi, dword [esp + 0xd0]
mov edi, dword [esi + 8]
mov esi, dword [esi]
cmp edi, 3
jb 0x601ac2
movzx edi, byte [esi + 2]
movzx esi, word [esi]
mov word [ecx + 0x38], si
xchg edi, eax
mov byte [ecx + 0x3a], al
xchg edi, eax
mov esi, eax
sar eax, 8
mov byte [ecx + 0x3b], al
xchg esi, eax
mov byte [ecx + 0x3c], al
xchg esi, eax
mov eax, dword [esp + 0xa8]
mov eax, dword [eax + 0x1c]
mov dword [esp + 4], ebx
mov dword [esp + 8], 0
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x58]
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x5c]
mov dword [esp + 0x18], edx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], esi
mov dword [esp + 0x24], ebp
mov edx, dword [esp + 0xb8]
mov dword [esp + 0x28], edx
mov dword [esp + 0x2c], 0xd
mov dword [esp + 0x30], 0xd
mov edx, dword [esp + 0xb4]
mov dword [esp], edx
call eax
jmp 0x6015e3
mov ecx, dword [esp + 0xcc]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x80]
jmp 0x60173e
lea eax, [0x7ef900]
mov dword [esp], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 8], eax
call fcn.0040caf0
movzx eax, byte [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test al, al
je 0x601ade
mov dword [esp + 0xb0], ecx
mov dword [esp + 0xac], edx
mov eax, dword [edx + 0x10]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 4]
mov dword [esp + 0x70], eax
mov ecx, dword [esp + 0xd4]
test ecx, ecx
jle 0x601a50
mov edx, dword [esp + 0x7c]
cmp ecx, edx
ja 0x601abb
mov eax, dword [esp + 0xac]
mov ebx, dword [eax + 0x18]
mov ebp, dword [esp + 0x9c]
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
mov esi, dword [esp + 0xb0]
mov dword [esp], esi
call ebx
mov eax, dword [esp + 0xd4]
mov ecx, dword [esp + 0x54]
cmp eax, ecx
ja 0x601ab4
sub ecx, eax
mov edx, dword [esp + 0x7c]
sub edx, eax
mov ebx, edx
neg edx
sar edx, 0x1f
and edx, eax
mov ebp, dword [esp + 0x9c]
add edx, ebp
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
mov eax, dword [esp + 0x70]
mov dword [esp + 0xc], eax
call fcn.00601220
mov eax, dword [esp + 0x24]
mov dword [esp + 0x6c], eax
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x68], ecx
mov edx, dword [esp + 0x1c]
mov dword [esp + 0xa4], edx
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x4c], ebx
mov ebp, dword [esp + 0x18]
mov dword [esp + 0x50], ebp
mov esi, dword [esp + 0x10]
mov dword [esp + 0x98], esi
mov edi, dword [esp + 0xd0]
mov dword [esp], edi
mov eax, dword [esp + 0xd4]
lea edx, [ebx + eax]
lea edx, [edx + ecx + 5]
mov dword [esp + 4], edx
call fcn.00601b20
mov eax, dword [esp + 0xd0]
mov ecx, dword [eax]
mov edx, dword [eax + 8]
mov ebx, dword [eax + 4]
mov ebp, dword [esp + 0xd4]
lea esi, [ebp + 5]
cmp esi, ebx
ja 0x601aad
mov eax, dword [esp + 0xac]
mov ebp, dword [eax + 0x14]
sub edx, esi
mov edi, edx
neg edx
sar edx, 0x1f
and edx, esi
add ecx, edx
mov dword [esp + 4], ecx
sub ebx, esi
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edi
mov ecx, dword [esp + 0x98]
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x14], ecx
mov edx, dword [esp + 0x50]
mov dword [esp + 0x18], edx
mov edx, dword [esp + 0xb0]
mov dword [esp], edx
call ebp
mov eax, dword [esp + 0xd0]
mov ecx, dword [eax + 8]
mov edx, dword [eax + 4]
mov ebx, dword [eax]
mov ebp, dword [esp + 0xd4]
mov esi, dword [esp + 0x4c]
lea ebp, [esi + ebp + 5]
cmp ebp, edx
ja 0x601aa6
mov eax, dword [esp + 0xac]
mov eax, dword [eax + 0x14]
sub ecx, ebp
mov esi, ecx
neg ecx
sar ecx, 0x1f
and ecx, ebp
add ecx, ebx
mov dword [esp + 4], ecx
sub edx, ebp
mov dword [esp + 8], edx
mov dword [esp + 0xc], esi
mov ecx, dword [esp + 0xa4]
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x68]
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0xb0]
mov dword [esp], ecx
call eax
jmp 0x6015e3
mov ebx, dword [esp + 0x7c]
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x9c]
jmp 0x6018fd
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov eax, dword [esp + 0xa0]
mov dword [esp + 4], eax
call fcn.0040f360
mov ecx, dword [esp + 0xcc]
jmp 0x60152e
mov esi, ebp
jmp 0x6014ea
mov ecx, eax
jmp 0x60152e
call fcn.00426a70
ud2
call fcn.00426a70
ud2
call fcn.00426ad0
ud2
call fcn.00426ad0
ud2
call fcn.00426ad0
ud2
call fcn.00426ad0
ud2
call fcn.00426ad0
ud2
call fcn.00426ad0
ud2
call fcn.00426ad0
ud2
call fcn.00426ad0
ud2
lea eax, [0x7cfea0]
mov dword [esp], eax
lea eax, [0x9afd38]
mov dword [esp + 4], eax
call fcn.004278c0
ud2
call fcn.00426ad0
ud2
call fcn.00426ad0
ud2
call fcn.00426ad0
ud2
call fcn.0044c200
jmp fcn.00601370