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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x248]
cmp eax, dword [ecx + 8]
jbe 0x601ba5
sub esp, 0x2c8
mov ecx, dword [esp + 0x2cc]
mov edx, dword [ecx + 0x14]
mov ebx, dword [esp + 0x2d4]
movzx ebp, byte [ebx + 0x295]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x6015e8
lea edi, [esp + 0x124]
xor eax, eax
call fcn.004635e4
mov ecx, dword [ebx + 0x78]
mov esi, dword [ebx + 0x7c]
lea ebp, [0x70d960]
cmp ecx, ebp
jne 0x601b8e
lea edi, [esp + 0x124]
call fcn.004638d8
mov ecx, dword [esp + 0x148]
jmp 0x601614
lea edi, [esp + 0x44]
xor eax, eax
call fcn.004635e8
mov ecx, dword [ebx + 0x78]
mov esi, dword [ebx + 0x7c]
lea ebp, [0x70dea0]
cmp ecx, ebp
jne 0x601b78
lea edi, [esp + 0x44]
call fcn.00463900
mov ecx, dword [esp + 0x68]
cmp ecx, 0x200
jbe 0x601709
test ecx, 1
je 0x601703
mov ebp, dword [ebx + 0x274]
lea esi, [ebp + 1]
mov eax, edx
mov edx, dword [ebx + 0x270]
mov edi, ecx
mov ecx, dword [ebx + 0x278]
cmp ecx, esi
jae 0x6016b1
mov dword [esp + 0x40], eax
mov dword [esp + 0x3c], edi
lea eax, [0x6cd520]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], esi
call fcn.0044baf0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x2d4]
mov dword [ebx + 0x278], edx
mov edx, dword [0x9b1930]
test edx, edx
jne 0x60169a
mov dword [ebx + 0x270], eax
jmp 0x6016a5
lea edi, [ebx + 0x270]
call fcn.00463350
mov edi, dword [esp + 0x3c]
mov ebp, ecx
mov edx, eax
mov eax, dword [esp + 0x40]
lea ecx, [ebp + 1]
mov dword [ebx + 0x274], ecx
mov ecx, dword [0x981888]
mov esi, dword [0x98188c]
lea ebx, [edx + ebp*8 + 4]
mov dword [ebx], esi
mov ebx, dword [0x9b1930]
lea edx, [edx + ebp*8]
test ebx, ebx
jne 0x6016e3
mov dword [edx], ecx
cmp edi, 0x200
jmp 0x6016f8
mov ebx, edi
mov edi, edx
mov ebp, eax
mov eax, ecx
call fcn.00463350
cmp ebx, 0x200
mov eax, ebp
mov edx, eax
mov ebx, dword [esp + 0x2d4]
jmp 0x601709
cmp ecx, 0x200
jb 0x601711
shr edx, 9
shl edx, 9
mov eax, dword [ebx + 0x28c]
sub eax, edx
mov ecx, dword [esp + 0x2cc]
mov edx, dword [ecx + 0x10]
cmp edx, eax
jbe 0x60172c
mov eax, dword [ecx + 8]
jmp 0x601735
mov eax, dword [ecx + 8]
cmp eax, edx
ja 0x601735
mov eax, edx
mov dword [esp + 0x24], eax
mov edx, dword [ecx + 0xc]
mov dword [esp], ebx
mov dword [esp + 4], edx
call fcn.005f4070
mov eax, dword [esp + 8]
mov dword [esp + 0x20], eax
mov ecx, dword [esp + 0x2d4]
mov edx, dword [ecx + 0xa4]
mov ebx, dword [ecx + 0xa0]
test edx, edx
je 0x601772
mov dword [esp + 0x38], edx
xor ebp, ebp
jmp 0x601abb
xor edx, edx
test edx, edx
je 0x601797
mov edx, dword [ecx + 0xa4]
mov ebx, dword [ecx + 0xa0]
test edx, edx
je 0x6019b4
mov dword [esp + 0x38], edx
xor ebp, ebp
jmp 0x6019e3
xor edx, edx
test dl, dl
je 0x6017bc
mov edx, dword [ecx + 0xa4]
mov ebx, dword [ecx + 0xa0]
test edx, edx
je 0x6018c9
mov dword [esp + 0x38], edx
xor ebp, ebp
jmp 0x6018f7
xor edx, edx
test dl, dl
je 0x6017da
mov edx, dword [ecx + 0xa4]
mov ebx, dword [ecx + 0xa0]
test edx, edx
je 0x601802
mov dword [esp + 0x38], edx
xor ebp, ebp
jmp 0x601823
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x2d0]
cmp edx, eax
jb 0x6017f2
add eax, ecx
cmp edx, eax
setb al
jmp 0x6017f4
xor eax, eax
mov byte [esp + 0x2d8], al
add esp, 0x2c8
ret
xor ecx, ecx
sub ecx, eax
jmp 0x6017de
mov edx, dword [esp + 0x214]
lea ebx, [edx + 0x2c]
mov ecx, dword [esp + 0x2d4]
mov edx, dword [esp + 0x38]
mov ebp, eax
mov eax, dword [esp + 0x20]
lea edi, [esp + 0x218]
mov esi, ebx
call fcn.00463ac2
mov ecx, dword [esp + 0x2d4]
mov ecx, dword [ecx + 0xa4]
dec ecx
cmp ebp, ecx
je 0x6018bd
mov dword [esp + 0x28], ebp
mov dword [esp + 0x214], ebx
mov eax, dword [esp + 0x2cc]
mov dword [esp], eax
lea ecx, [esp + 0x218]
mov dword [esp + 4], ecx
mov dword [esp + 8], 0x28
call fcn.00402990
movzx eax, byte [esp + 0xc]
test al, al
jne 0x60188f
mov eax, dword [esp + 0x28]
inc eax
mov ecx, dword [esp + 0x38]
cmp ecx, eax
jg 0x601808
mov eax, dword [esp + 0x20]
jmp 0x601802
mov edx, dword [esp + 0x2d4]
mov ecx, dword [edx + 0xa4]
mov edx, dword [edx + 0xa0]
mov ebx, dword [esp + 0x28]
lea eax, [ebx + 1]
cmp ecx, eax
jbe 0x6018c4
imul ebx, ebx, 0x2c
mov ecx, dword [ebx + edx + 0x38]
mov eax, dword [esp + 0x20]
jmp 0x601804
xor ecx, ecx
jmp 0x601804
call fcn.004633d0
xor edx, edx
mov ebx, dword [esp + 0x24]
lea ebp, [ebx + eax]
cmp edx, ebp
setb dl
jmp 0x6017be
mov edx, dword [esp + 0x214]
lea ebx, [edx + 0x2c]
mov ecx, dword [esp + 0x2d4]
mov edx, dword [esp + 0x38]
mov ebp, eax
mov eax, dword [esp + 0x20]
lea edi, [esp + 0x244]
mov esi, ebx
call fcn.00463ac2
mov ecx, dword [esp + 0x2d4]
mov esi, ecx
mov ecx, dword [ecx + 0xa4]
dec ecx
cmp ebp, ecx
je 0x6019a6
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x214], ebx
mov eax, dword [esp + 0x2cc]
mov dword [esp], eax
lea ecx, [esp + 0x244]
mov dword [esp + 4], ecx
mov dword [esp + 8], 0x28
call fcn.00402990
movzx eax, byte [esp + 0xc]
test al, al
jne 0x601974
mov eax, dword [esp + 0x2c]
inc eax
mov ecx, dword [esp + 0x38]
cmp ecx, eax
jg 0x6018dc
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x2d4]
jmp 0x6018c9
mov edx, dword [esp + 0x2d4]
mov ecx, dword [edx + 0xa4]
mov ebx, dword [edx + 0xa0]
mov ebp, dword [esp + 0x2c]
lea eax, [ebp + 1]
cmp ecx, eax
jbe 0x6019af
imul ebp, ebp, 0x2c
mov ebx, dword [ebp + ebx + 0x38]
mov eax, dword [esp + 0x20]
mov ecx, edx
mov edx, ebx
jmp 0x6018cb
mov ecx, esi
xor edx, edx
jmp 0x6018cb
call fcn.004633d0
xor edx, edx
mov ebx, dword [esp + 0x2cc]
cmp dword [ebx + 0xc], edx
setb dl
jmp 0x601799
mov edx, dword [esp + 0x214]
lea ebx, [edx + 0x2c]
mov ecx, dword [esp + 0x2d4]
mov edx, dword [esp + 0x38]
mov ebp, eax
mov eax, dword [esp + 0x20]
lea edi, [esp + 0x270]
mov esi, ebx
call fcn.00463ac2
mov ecx, dword [esp + 0x2d4]
mov esi, eax
mov eax, dword [ecx + 0xa4]
dec eax
cmp ebp, eax
je 0x601a92
mov dword [esp + 0x30], ebp
mov dword [esp + 0x214], ebx
mov eax, dword [esp + 0x2cc]
mov dword [esp], eax
lea ecx, [esp + 0x270]
mov dword [esp + 4], ecx
mov dword [esp + 8], 0x28
call fcn.00402990
movzx eax, byte [esp + 0xc]
test al, al
jne 0x601a60
mov eax, dword [esp + 0x30]
inc eax
mov ecx, dword [esp + 0x38]
cmp ecx, eax
jg 0x6019c8
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x2d4]
jmp 0x6019b4
mov edx, dword [esp + 0x2d4]
mov ecx, dword [edx + 0xa4]
mov ebx, dword [edx + 0xa0]
mov ebp, dword [esp + 0x30]
lea eax, [ebp + 1]
cmp ecx, eax
jbe 0x601a9b
imul ebp, ebp, 0x2c
mov ebx, dword [ebp + ebx + 0x38]
mov eax, dword [esp + 0x20]
mov ecx, edx
mov edx, ebx
jmp 0x6019b6
mov eax, esi
xor edx, edx
jmp 0x6019b6
call fcn.004633d0
mov edx, dword [esp + 0x214]
lea ebx, [edx + 0x2c]
mov ecx, dword [esp + 0x2d4]
mov edx, dword [esp + 0x38]
mov ebp, eax
mov eax, dword [esp + 0x20]
lea edi, [esp + 0x29c]
mov esi, ebx
call fcn.00463ac2
mov ecx, dword [esp + 0x2d4]
mov esi, eax
mov eax, dword [ecx + 0xa4]
dec eax
cmp ebp, eax
je 0x601b6a
mov dword [esp + 0x34], ebp
mov dword [esp + 0x214], ebx
mov eax, dword [esp + 0x2cc]
mov dword [esp], eax
lea ecx, [esp + 0x29c]
mov dword [esp + 4], ecx
mov dword [esp + 8], 0x28
call fcn.00402990
movzx eax, byte [esp + 0xc]
test al, al
jne 0x601b38
mov eax, dword [esp + 0x34]
inc eax
mov ecx, dword [esp + 0x38]
cmp ecx, eax
jg 0x601aa0
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x2d4]
jmp 0x601772
mov edx, dword [esp + 0x2d4]
mov ecx, dword [edx + 0xa4]
mov ebx, dword [edx + 0xa0]
mov ebp, dword [esp + 0x34]
lea eax, [ebp + 1]
cmp ecx, eax
jbe 0x601b73
imul ebp, ebp, 0x2c
mov ebx, dword [ebp + ebx + 0x38]
mov eax, dword [esp + 0x20]
mov ecx, edx
mov edx, ebx
jmp 0x601774
mov eax, esi
xor edx, edx
jmp 0x601774
call fcn.004633d0
mov dword [esp], ecx
mov dword [esp + 4], ebp
lea eax, [0x6ccda0]
mov dword [esp + 8], eax
call fcn.00408e20
mov dword [esp], ecx
mov dword [esp + 4], ebp
lea eax, [0x6ccda0]
mov dword [esp + 8], eax
call fcn.00408e20
nop
call fcn.00461f40
jmp fcn.00601570