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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x57f83f
sub esp, 0x74
mov edx, dword [esp + 0x78]
mov eax, dword [edx + 0xc]
test eax, eax
je 0x57f5dd
mov ebx, dword [edx]
mov ecx, dword [edx + 4]
cmp ecx, eax
jbe 0x57f839
lea ebp, [eax + eax*2]
mov eax, edx
lea edx, [ebx + ebp*8]
cmp byte [edx], 3
jne 0x57f5d1
lea edx, [ebx + ebp*8 + 8]
mov edx, dword [edx]
test dl, 4
je 0x57f5d1
mov dword [esp + 0x14], ecx
xor edx, edx
jmp 0x57f5f3
mov dword [esp + 0x7c], 0
add esp, 0x74
ret
mov dword [esp + 0x7c], 0
add esp, 0x74
ret
lea ebx, [edi + 0x18]
lea edx, [esi + 1]
mov ecx, dword [esp + 0x14]
cmp edx, ecx
jge 0x57f68e
lea edi, [esp + 0x38]
mov esi, ebx
call fcn.00463e34
mov ecx, dword [eax + 4]
mov ebp, dword [eax]
mov esi, edx
mov edx, dword [esp + 0x3c]
cmp edx, ecx
jae 0x57f832
lea edx, [edx + edx*2]
lea edx, [ebp + edx*8]
movzx edx, byte [edx]
mov edi, ebx
movzx ebx, byte [esp + 0x38]
cmp bl, 1
ja 0x57f64e
cmp dl, 4
je 0x57f66a
mov edx, dword [esp + 0x40]
cmp edx, ecx
jae 0x57f82b
lea ecx, [edx + edx*2]
lea ecx, [ebp + ecx*8]
cmp byte [ecx], 4
jne 0x57f5e9
jmp 0x57f66a
cmp bl, 3
jne 0x57f663
cmp dl, 4
jne 0x57f5e9
mov ecx, dword [esp + 0x40]
test cl, 8
jne 0x57f5e9
jmp 0x57f676
cmp dl, 4
jne 0x57f5e9
jmp 0x57f682
mov dword [esp + 0x7c], 0
add esp, 0x74
ret
mov dword [esp + 0x7c], 0
add esp, 0x74
ret
mov dword [esp + 0x7c], 0
add esp, 0x74
ret
mov dword [esp], eax
call fcn.0057d820
mov eax, dword [esp + 4]
mov dword [esp], eax
call fcn.0057dc30
mov eax, dword [esp + 4]
test eax, eax
je 0x57f6c0
mov dword [esp + 0x18], eax
nop
mov ecx, dword [esp + 0x78]
mov edx, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [esp + 0x14], ecx
xor ebx, ebx
jmp 0x57f6d2
mov dword [esp + 0x7c], eax
add esp, 0x74
ret
add edx, 0x18
lea ebx, [esi + 1]
mov ecx, dword [esp + 0x14]
cmp ebx, ecx
jge 0x57f6c0
lea edi, [esp + 0x20]
mov esi, edx
call fcn.00463e34
movzx ecx, byte [esp + 0x20]
cmp cl, 6
ja 0x57f737
cmp cl, 1
jbe 0x57f73c
mov ebp, dword [eax]
mov ecx, dword [eax + 4]
cmp ebx, ecx
jae 0x57f824
lea ecx, [ebx + ebx*8]
mov dword [ebp + ecx*4 + 0x1c], 0
mov dword [ebp + ecx*4 + 0x20], 0
lea edi, [ebp + ecx*4 + 0x18]
mov esi, ebx
mov ebx, dword [0x7c78f0]
test ebx, ebx
jne 0x57f72a
mov dword [ebp + ecx*4 + 0x18], 0
jmp 0x57f6c8
mov ecx, eax
xor eax, eax
call fcn.00463730
mov eax, ecx
jmp 0x57f6c8
cmp cl, 7
jne 0x57f740
mov esi, ebx
jmp 0x57f6c8
cmp cl, 0xa
ja 0x57f80f
mov ebp, dword [eax]
mov ecx, dword [eax + 4]
cmp ebx, ecx
jae 0x57f81d
lea ecx, [ebx + ebx*8]
mov dword [ebp + ecx*4 + 0x1c], 0
mov dword [ebp + ecx*4 + 0x20], 0
lea edi, [ebp + ecx*4 + 0x18]
mov esi, edx
mov edx, dword [0x7c78f0]
test edx, edx
jne 0x57f783
mov dword [ebp + ecx*4 + 0x18], 0
jmp 0x57f78e
mov edx, eax
xor eax, eax
call fcn.00463730
mov eax, edx
mov dword [esp + 0x10], ecx
lea edi, [esp + 0x50]
mov edx, eax
xor eax, eax
call fcn.00463957
lea edi, [esp + 0x50]
mov eax, esi
lea esi, [esp + 0x20]
call fcn.00463e34
mov ecx, dword [edx + 4]
mov ebp, dword [edx]
cmp ebx, ecx
jae 0x57f816
mov ecx, dword [esp + 0x10]
lea edi, [ebp + ecx*4]
mov ecx, dword [0x7c78f0]
test ecx, ecx
jne 0x57f7d4
lea esi, [esp + 0x50]
call fcn.00463e16
jmp 0x57f802
mov dword [esp + 0xc], ebx
mov dword [esp + 0x1c], eax
lea eax, [0x5ecf20]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x50]
mov dword [esp + 8], eax
call fcn.00410860
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0xc]
mov edx, eax
mov esi, ebx
mov eax, dword [esp + 0x18]
jmp 0x57f6c8
mov esi, ebx
jmp 0x57f6c8
mov eax, ebx
call fcn.004637b0
mov eax, ebx
call fcn.004637b0
mov eax, ebx
call fcn.004637b0
mov eax, edx
call fcn.004637c0
mov eax, edx
call fcn.004637c0
call fcn.004637b0
nop
call fcn.00462320
jmp fcn.0057f580