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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x58570f
sub esp, 0x74
mov edx, dword [esp + 0x78]
mov eax, dword [edx + 0xc]
test eax, eax
je 0x5854ad
mov ebx, dword [edx]
mov ecx, dword [edx + 4]
cmp ecx, eax
jbe 0x585709
lea ebp, [eax + eax*2]
mov eax, edx
lea edx, [ebx + ebp*8]
cmp byte [edx], 3
jne 0x5854a1
lea edx, [ebx + ebp*8 + 8]
mov edx, dword [edx]
test dl, 4
je 0x5854a1
mov dword [esp + 0x14], ecx
xor edx, edx
jmp 0x5854c3
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 0x58555e
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 0x585702
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 0x58551e
cmp dl, 4
je 0x58553a
mov edx, dword [esp + 0x40]
cmp edx, ecx
jae 0x5856fb
lea ecx, [edx + edx*2]
lea ecx, [ebp + ecx*8]
cmp byte [ecx], 4
jne 0x5854b9
jmp 0x58553a
cmp bl, 3
jne 0x585533
cmp dl, 4
jne 0x5854b9
mov ecx, dword [esp + 0x40]
test cl, 8
jne 0x5854b9
jmp 0x585546
cmp dl, 4
jne 0x5854b9
jmp 0x585552
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.005836f0
mov eax, dword [esp + 4]
mov dword [esp], eax
call fcn.00583b00
mov eax, dword [esp + 4]
test eax, eax
je 0x585590
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 0x5855a2
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 0x585590
lea edi, [esp + 0x20]
mov esi, edx
call fcn.00463f64
movzx ecx, byte [esp + 0x20]
cmp cl, 6
ja 0x585607
cmp cl, 1
jbe 0x58560c
mov ebp, dword [eax]
mov ecx, dword [eax + 4]
cmp ebx, ecx
jae 0x5856f4
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 [0x7e2780]
test ebx, ebx
jne 0x5855fa
mov dword [ebp + ecx*4 + 0x18], 0
jmp 0x585598
mov ecx, eax
xor eax, eax
call fcn.00463860
mov eax, ecx
jmp 0x585598
cmp cl, 7
jne 0x585610
mov esi, ebx
jmp 0x585598
cmp cl, 0xa
ja 0x5856df
mov ebp, dword [eax]
mov ecx, dword [eax + 4]
cmp ebx, ecx
jae 0x5856ed
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 [0x7e2780]
test edx, edx
jne 0x585653
mov dword [ebp + ecx*4 + 0x18], 0
jmp 0x58565e
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 0x5856e6
mov ecx, dword [esp + 0x10]
lea edi, [ebp + ecx*4]
mov ecx, dword [0x7e2780]
test ecx, ecx
jne 0x5856a4
lea esi, [esp + 0x50]
call fcn.00463f46
jmp 0x5856d2
mov dword [esp + 0xc], ebx
mov dword [esp + 0x1c], eax
lea eax, [0x5fc3a0]
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 0x585598
mov esi, ebx
jmp 0x585598
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.00585450