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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x1c]
cmp eax, dword [ecx + 8]
jbe 0x571843
sub esp, 0x9c
mov edx, dword [esp + 0xa0]
movzx ebx, byte [edx + 0xa8]
test bl, bl
je 0x571809
mov eax, 1
test al, al
je 0x571802
mov ecx, dword [edx + 0x98]
mov ebx, dword [edx + 0x94]
mov eax, dword [edx + 0xa0]
cmp eax, ecx
jae 0x57183d
lea ebp, [eax + eax*8]
lea ebx, [ebx + ebp*8]
test ebx, ebx
je 0x5717f3
xor eax, eax
xor ecx, ecx
xor ebp, ebp
xor esi, esi
jmp 0x571387
mov ebx, dword [esp + 0xa0]
mov ebx, edx
mov ebp, edi
mov edx, dword [esp + 0xa0]
mov dword [esp + 0x58], ebx
mov dword [esp + 0x34], ebp
mov dword [esp + 0x30], ecx
mov dword [esp + 0x5c], esi
mov dword [esp + 0x54], eax
mov edi, ebx
mov ebx, dword [ebx]
cmp ebx, 3
jne 0x5716bb
je 0x5715c8
cmp ebx, 4
je 0x571487
nop
mov byte [edx + 0xa8], 0
inc dword [edx + 0xa4]
mov ebx, dword [edx + 0x98]
mov edi, ebp
mov ebp, dword [edx + 0x94]
mov edx, dword [edx + 0xa0]
cmp ebx, edx
jbe 0x571834
lea edx, [edx + edx*8]
lea edx, [ebp + edx*8]
cmp dword [edx], 2
sete dl
mov ebx, dword [esp + 0xa0]
mov byte [ebx + 0x8d], dl
inc dword [ebx + 0xa0]
movzx edx, byte [ebx + 0xa8]
test dl, dl
je 0x571451
mov edx, 1
test dl, dl
je 0x57144d
mov edx, dword [ebx + 0x98]
mov ebp, dword [ebx + 0x94]
mov ebx, dword [ebx + 0xa0]
cmp ebx, edx
jae 0x57182b
lea edx, [ebx + ebx*8]
lea edx, [ebp + edx*8]
test edx, edx
jne 0x571375
mov byte [esp + 0xac], 0
add esp, 0x9c
ret
xor edx, edx
jmp 0x571436
mov dword [esp + 0x48], ecx
mov dword [esp + 0x68], esi
mov dword [esp + 0x44], edi
mov dword [esp + 0x64], eax
mov dword [esp], ebx
call fcn.00574da0
movzx edx, byte [esp + 4]
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x48]
mov ebx, dword [esp + 0xa0]
mov esi, dword [esp + 0x68]
mov edi, dword [esp + 0x44]
jmp 0x571411
lea edi, [esp + 0x6c]
xor eax, eax
call fcn.0045e1fa
mov ecx, dword [esp + 0x58]
mov ebx, dword [ecx + 0x20]
mov ebp, dword [ecx + 0x24]
mov eax, edx
mov edx, dword [ecx + 0x28]
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x70], ebp
mov dword [esp + 0x74], edx
mov edx, dword [ecx + 0x38]
mov ebx, dword [ecx + 0x3c]
mov ebp, dword [ecx + 0x40]
mov dword [esp + 0x78], edx
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x80], ebp
mov edx, dword [ecx + 4]
mov ebx, dword [ecx + 8]
mov ecx, dword [ecx + 0xc]
mov dword [esp + 0x44], ecx
mov dword [esp], eax
lea edi, [esp + 4]
lea esi, [esp + 0x6c]
call fcn.0045e6d4
mov byte [esp + 0x1c], 0
mov dword [esp + 0x20], edx
mov dword [esp + 0x24], ebx
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x28], ecx
call fcn.00571850
movzx ecx, byte [esp + 0x2c]
test cl, cl
je 0x5715b9
mov ecx, dword [esp + 0x30]
lea edx, [ecx + 1]
mov ebx, dword [esp + 0x34]
cmp ebx, edx
jb 0x57157f
mov eax, dword [esp + 0x5c]
mov ebp, dword [0x770e60]
lea ecx, [ecx + ecx*2]
lea edi, [eax + ecx*8]
test ebp, ebp
jne 0x57154b
lea esi, [esp + 0x6c]
call fcn.0045e6d4
mov ebp, ebx
mov ecx, edx
mov esi, eax
mov eax, dword [esp + 0x54]
mov edx, dword [esp + 0xa0]
jmp 0x5713b7
mov dword [esp + 0x60], eax
mov dword [esp + 0x40], edx
mov dword [esp + 0x3c], ebx
lea eax, [0x5c9e00]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x6c]
mov dword [esp + 8], eax
call fcn.004106b0
mov eax, dword [esp + 0x60]
mov edx, dword [esp + 0x40]
mov ebx, dword [esp + 0x3c]
jmp 0x571535
lea eax, [0x5c9e00]
mov dword [esp], eax
mov ebp, dword [esp + 0x5c]
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], edx
call fcn.004450a0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
lea edx, [ecx + 1]
mov ecx, dword [esp + 0x30]
jmp 0x57151c
mov byte [esp + 0xac], 0
add esp, 0x9c
ret
test eax, eax
jne 0x571669
cmp byte [edi + 0x45], 1
jne 0x571617
cmp byte [edi + 0x46], 1
jne 0x571617
lea eax, [0x5c9e60]
mov dword [esp], eax
call fcn.0040b8e0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x58]
movzx edx, byte [ecx + 0x45]
mov byte [eax], dl
movzx ecx, byte [ecx + 0x46]
mov byte [eax + 1], cl
mov edx, dword [esp + 0xa0]
mov ecx, dword [esp + 0x30]
mov ebp, dword [esp + 0x34]
mov esi, dword [esp + 0x5c]
jmp 0x5713b7
nop
mov ecx, dword [edi + 8]
mov ebx, dword [edi + 0xc]
mov ebp, dword [edi + 4]
mov dword [edx], 4
mov dword [edx + 8], 0x20
mov esi, dword [0x770e60]
test esi, esi
jne 0x571659
lea eax, [0x5f631a]
mov dword [edx + 4], eax
mov dword [edx + 0x14], ebp
mov dword [edx + 0x18], ecx
mov dword [edx + 0x1c], ebx
mov byte [esp + 0xac], 0
add esp, 0x9c
ret
lea edi, [edx + 4]
lea eax, [0x5f631a]
call fcn.0045df70
jmp 0x571641
nop
mov ecx, dword [edi + 8]
mov ebx, dword [edi + 0xc]
mov ebp, dword [edi + 4]
mov dword [edx], 4
mov dword [edx + 8], 0x1f
mov esi, dword [0x770e60]
test esi, esi
jne 0x5716ab
lea eax, [0x5f5d58]
mov dword [edx + 4], eax
mov dword [edx + 0x14], ebp
mov dword [edx + 0x18], ecx
mov dword [edx + 0x1c], ebx
mov byte [esp + 0xac], 0
add esp, 0x9c
ret
lea edi, [edx + 4]
lea eax, [0x5f5d58]
call fcn.0045df70
jmp 0x571693
cmp ebx, 4
jne 0x5716c8
cmp ebx, 3
jmp 0x5713a8
mov ebx, dword [0x74db24]
mov dword [esp + 0x48], ebx
mov dword [esp + 0x4c], eax
xor eax, eax
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x4c]
jmp 0x57170a
mov eax, dword [esp + 0x38]
inc eax
mov ebx, dword [esp + 0x48]
mov edx, dword [esp + 0xa0]
mov edi, dword [esp + 0x58]
mov ecx, dword [esp + 0x30]
mov ebp, dword [esp + 0x34]
mov esi, dword [esp + 0x5c]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x54]
mov ebp, dword [esp + 0x38]
cmp ebx, ebp
jle 0x57179c
mov ebx, dword [0x74db24]
mov edx, dword [0x74db20]
cmp ebx, ebp
jbe 0x571822
lea eax, [ebp + ebp*2]
lea esi, [edx + eax*8]
mov eax, edi
lea edi, [esp + 0x84]
call fcn.0045e6d4
mov ecx, dword [eax + 4]
mov dword [esp + 0x44], ecx
mov edx, dword [eax + 8]
mov ebx, dword [eax + 0xc]
mov eax, dword [esp + 0xa0]
mov dword [esp], eax
lea edi, [esp + 4]
lea esi, [esp + 0x84]
call fcn.0045e6d4
mov byte [esp + 0x1c], 1
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], ebx
call fcn.00571850
movzx eax, byte [esp + 0x2c]
test al, al
jne 0x5716e2
mov byte [esp + 0xac], 0
add esp, 0x9c
ret
mov edi, dword [esp + 0xa4]
test edi, edi
je 0x5717b3
mov edx, dword [0x770e60]
test edx, edx
jne 0x5717ec
mov dword [edi], eax
mov edi, dword [esp + 0xa8]
test edi, edi
je 0x5717d4
mov dword [edi + 4], ecx
mov ecx, dword [esp + 0x34]
mov dword [edi + 8], ecx
mov ecx, dword [0x770e60]
test ecx, ecx
jne 0x5717e3
mov dword [edi], esi
mov byte [esp + 0xac], 1
add esp, 0x9c
ret
mov eax, esi
call fcn.0045df70
jmp 0x5717d4
call fcn.0045df70
jmp 0x5717b3
mov byte [esp + 0xac], 0
add esp, 0x9c
ret
xor ebx, ebx
jmp 0x571363
mov dword [esp], edx
call fcn.00574da0
movzx eax, byte [esp + 4]
mov edx, dword [esp + 0xa0]
jmp 0x57133b
mov eax, ebp
mov ecx, ebx
call fcn.0045dff0
mov eax, ebx
mov ecx, edx
call fcn.0045dff0
mov eax, edx
mov ecx, ebx
call fcn.0045dff0
call fcn.0045dff0
nop
call fcn.0045ca10
jmp fcn.00571300