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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x585a2f
sub esp, 0x74
mov edx, dword [esp + 0x78]
mov eax, dword [edx + 0xc]
test eax, eax
je 0x5857cd
mov ebx, dword [edx]
mov ecx, dword [edx + 4]
cmp ecx, eax
jbe 0x585a29
lea ebp, [eax + eax*2]
mov eax, edx
lea edx, [ebx + ebp*8]
cmp byte [edx], 3
jne 0x5857c1
lea edx, [ebx + ebp*8 + 8]
mov edx, dword [edx]
test dl, 4
je 0x5857c1
mov dword [esp + 0x14], ecx
xor edx, edx
jmp 0x5857e3
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 0x58587e
lea edi, [esp + 0x38]
mov esi, ebx
call fcn.00463f64
mov ecx, dword [eax + 4]
mov ebp, dword [eax]
mov esi, edx
mov edx, dword [esp + 0x3c]
cmp edx, ecx
jae 0x585a22
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 0x58583e
cmp dl, 4
je 0x58585a
mov edx, dword [esp + 0x40]
cmp edx, ecx
jae 0x585a1b
lea ecx, [edx + edx*2]
lea ecx, [ebp + ecx*8]
cmp byte [ecx], 4
jne 0x5857d9
jmp 0x58585a
cmp bl, 3
jne 0x585853
cmp dl, 4
jne 0x5857d9
mov ecx, dword [esp + 0x40]
test cl, 8
jne 0x5857d9
jmp 0x585866
cmp dl, 4
jne 0x5857d9
jmp 0x585872
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.00583a10
mov eax, dword [esp + 4]
mov dword [esp], eax
call fcn.00583e20
mov eax, dword [esp + 4]
test eax, eax
je 0x5858b0
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 0x5858c2
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 0x5858b0
lea edi, [esp + 0x20]
mov esi, edx
call fcn.00463f64
movzx ecx, byte [esp + 0x20]
cmp cl, 6
ja 0x585927
cmp cl, 1
jbe 0x58592c
mov ebp, dword [eax]
mov ecx, dword [eax + 4]
cmp ebx, ecx
jae 0x585a14
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 [0x7e34c0]
test ebx, ebx
jne 0x58591a
mov dword [ebp + ecx*4 + 0x18], 0
jmp 0x5858b8
mov ecx, eax
xor eax, eax
call fcn.00463860
mov eax, ecx
jmp 0x5858b8
cmp cl, 7
jne 0x585930
mov esi, ebx
jmp 0x5858b8
cmp cl, 0xa
ja 0x5859ff
mov ebp, dword [eax]
mov ecx, dword [eax + 4]
cmp ebx, ecx
jae 0x585a0d
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 [0x7e34c0]
test edx, edx
jne 0x585973
mov dword [ebp + ecx*4 + 0x18], 0
jmp 0x58597e
mov edx, eax
xor eax, eax
call fcn.00463860
mov eax, edx
mov dword [esp + 0x10], ecx
lea edi, [esp + 0x50]
mov edx, eax
xor eax, eax
call fcn.00463a87
lea edi, [esp + 0x50]
mov eax, esi
lea esi, [esp + 0x20]
call fcn.00463f64
mov ecx, dword [edx + 4]
mov ebp, dword [edx]
cmp ebx, ecx
jae 0x585a06
mov ecx, dword [esp + 0x10]
lea edi, [ebp + ecx*4]
mov ecx, dword [0x7e34c0]
test ecx, ecx
jne 0x5859c4
lea esi, [esp + 0x50]
call fcn.00463f46
jmp 0x5859f2
mov dword [esp + 0xc], ebx
mov dword [esp + 0x1c], eax
lea eax, [0x5fc3e0]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x50]
mov dword [esp + 8], eax
call fcn.004108d0
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 0x5858b8
mov esi, ebx
jmp 0x5858b8
mov eax, ebx
call fcn.004638e0
mov eax, ebx
call fcn.004638e0
mov eax, ebx
call fcn.004638e0
mov eax, edx
call fcn.004638f0
mov eax, edx
call fcn.004638f0
call fcn.004638e0
nop
call fcn.00462450
jmp fcn.00585770