Function at 0x584120
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 0x584484
sub esp, 0x9c
mov eax, dword [esp + 0xa0]
mov ecx, dword [eax + 0x34]
mov edx, dword [eax + 0x38]
mov ebx, dword [eax + 0x3c]
movzx ebp, byte [esp + 0xa4]
xchg ebp, eax
mov byte [esp], al
xchg ebp, eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
call fcn.005846f0
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x28]
mov dword [esp + 0x48], edx
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0x14]
mov esi, dword [esp + 0x10]
mov dword [esp + 0x44], esi
mov edi, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
test eax, eax
jne 0x58446b
mov dword [esp + 0x54], edi
lea edi, [esp + 0x74]
xor eax, eax
call fcn.0045e0ab
mov ecx, dword [esp + 0xa0]
mov edi, edx
movzx edx, byte [ecx + 0x2c]
test dl, dl
je 0x58445a
mov edx, 1
mov dword [esp + 0x38], ebp
mov byte [esp + 0x32], dl
mov dword [esp + 0x34], ebx
test ebp, ebp
seta dl
test ebx, ebx
seta bl
test ebp, ebp
xchg ebp, ebx
sete bl
xchg ebp, ebx
and ebp, ebx
or edx, ebp
test dl, dl
je 0x5843e5
mov dword [esp + 0x3c], esi
mov dword [esp + 0x40], edi
lea edi, [esp + 0x88]
call fcn.0045e0ab
mov ecx, dword [esp + 0xa0]
mov dword [esp], ecx
mov edx, dword [esp + 0x38]
mov dword [esp + 8], edx
mov edx, dword [esp + 0x34]
mov dword [esp + 4], edx
call fcn.00583930
movzx ecx, byte [esp + 0x20]
mov byte [esp + 0x33], cl
lea edi, [esp + 0x88]
lea esi, [esp + 0xc]
call fcn.0045e58e
lea edi, [esp + 0x60]
lea esi, [esp + 0x88]
call fcn.0045e58e
movzx ecx, byte [esp + 0x33]
test cl, cl
je 0x584384
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], ecx
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x54]
mov ebx, dword [esp + 0xa0]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
movzx eax, byte [esp + 0x32]
mov byte [esp + 0x10], al
call fcn.00584a50
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x28]
mov ebx, dword [esp + 0x28]
mov ebp, dword [esp + 0x2c]
mov dword [esp + 0x4c], ebp
mov esi, dword [esp + 0x1c]
mov edi, dword [esp + 0x24]
mov ebp, dword [esp + 0x20]
mov dword [esp + 0x7c], eax
mov dword [esp + 0x80], ecx
test edx, edx
jne 0x58436b
mov ecx, dword [esp + 0xa0]
mov dword [ecx + 0x38], ebp
mov dword [ecx + 0x3c], edi
mov edx, dword [0x7a0970]
test edx, edx
jne 0x58435f
mov dword [ecx + 0x34], esi
mov eax, dword [esp + 0xa8]
test eax, eax
je 0x58433a
cmp eax, 2
sete al
mov byte [esp + 0x84], al
mov dword [esp], ecx
lea edi, [esp + 4]
lea esi, [esp + 0x74]
call fcn.0045e58e
call fcn.00584490
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0xac], eax
mov dword [esp + 0xb0], ecx
add esp, 0x9c
ret
mov dword [esp], ecx
lea edi, [esp + 4]
lea esi, [esp + 0x74]
call fcn.0045e58e
call fcn.005836d0
mov eax, dword [esp + 0xa8]
mov ecx, dword [esp + 0xa0]
jmp 0x5842fb
lea edi, [ecx + 0x34]
mov eax, esi
call fcn.0045de10
jmp 0x5842f0
mov dword [esp + 0xac], ebx
mov eax, dword [esp + 0x4c]
mov dword [esp + 0xb0], eax
add esp, 0x9c
ret
mov dword [esp + 0x58], 0
mov dword [esp + 0x5c], 0
mov eax, dword [esp + 0x44]
mov dword [esp], eax
call fcn.00409020
mov eax, dword [esp + 4]
lea ecx, [0x65f040]
mov dword [esp + 0x58], ecx
mov dword [esp + 0x5c], eax
lea eax, [0x65f02c]
mov dword [esp], eax
lea eax, [esp + 0x58]
mov dword [esp + 4], eax
call fcn.004092a0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0xac], eax
mov dword [esp + 0xb0], ecx
add esp, 0x9c
ret
mov dword [esp], ecx
mov eax, dword [esp + 0x54]
mov dword [esp + 4], eax
mov dword [esp + 8], esi
mov dword [esp + 0xc], edi
movzx eax, byte [esp + 0x32]
mov byte [esp + 0x10], al
call fcn.00584a50
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x28]
mov ebx, dword [esp + 0x28]
mov ebp, dword [esp + 0x2c]
mov dword [esp + 0x50], ebp
mov esi, dword [esp + 0x1c]
mov edi, dword [esp + 0x20]
mov ebp, dword [esp + 0x24]
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], ecx
test edx, edx
jne 0x584441
mov eax, edi
mov ecx, ebp
mov edx, esi
jmp 0x58427b
mov dword [esp + 0xac], ebx
mov eax, dword [esp + 0x50]
mov dword [esp + 0xb0], eax
add esp, 0x9c
ret
mov edx, dword [esp + 0xa8]
test edx, edx
sete dl
jmp 0x5841cb
mov dword [esp + 0xac], ecx
mov eax, dword [esp + 0x48]
mov dword [esp + 0xb0], eax
add esp, 0x9c
ret
call fcn.0045c8b0
jmp fcn.00584120