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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x50c0ec
sub esp, 0x68
mov eax, dword [esp + 0x70]
mov ecx, dword [eax + 4]
mov edx, dword [eax + 8]
mov ebx, dword [eax + 0xc]
mov ebp, dword [esp + 0x74]
movzx esi, byte [ebp]
xchg esi, eax
test al, al
xchg esi, eax
je 0x50c0e5
mov ecx, dword [esp + 0x78]
test ecx, ecx
je 0x50bed7
mov edx, dword [ecx + 8]
test edx, edx
jne 0x50beff
mov eax, dword [esp + 0x6c]
mov dword [esp], eax
mov dword [esp + 4], 1
mov dword [esp + 8], 0
call fcn.0050afe0
mov eax, dword [esp + 0xc]
mov dword [esp + 0x7c], eax
add esp, 0x68
ret
mov byte [esp + 0x58], 0
mov dword [esp + 0x5c], 0
mov dword [esp + 0x60], 0
mov dword [esp + 0x64], 0
lea edx, [esp + 0x58]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.0050db20
mov eax, dword [esp + 0xc]
test eax, eax
je 0x50c0d9
mov ecx, dword [eax + 4]
mov edx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov ebx, dword [esp + 0x74]
mov ebp, dword [ebx + 8]
mov dword [esp + 0x3c], ebp
mov esi, dword [ebx + 4]
mov ebx, dword [ebx + 0xc]
mov dword [esp + 0x40], ebx
mov edi, dword [esp + 0x78]
test edi, edi
je 0x50c0ce
mov ebx, dword [edi + 4]
mov ebp, dword [edi + 8]
mov edi, dword [edi + 0xc]
mov dword [esp + 0x48], edi
mov dword [esp + 0x44], ebp
mov dword [esp + 0x54], ebx
mov dword [esp + 0x4c], esi
mov edi, dword [esp + 0x6c]
mov ebp, dword [edi + 4]
mov ebx, dword [edi + 8]
mov edi, dword [edi + 0xc]
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], edi
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], esi
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x1c], eax
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x24], ecx
mov edx, dword [esp + 0x44]
mov dword [esp + 0x28], edx
mov ebx, dword [esp + 0x48]
mov dword [esp + 0x2c], ebx
call fcn.005145a0
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x38]
mov ebx, dword [esp + 0x6c]
mov dword [ebx + 8], eax
mov dword [ebx + 0xc], edx
mov edx, dword [0x8326a0]
lea edi, [ebx + 4]
test edx, edx
jne 0x50c0be
mov dword [ebx + 4], ecx
test eax, eax
jle 0x50c0b7
mov eax, dword [esp + 0x70]
movzx eax, byte [eax]
test al, al
je 0x50c0b7
mov eax, dword [esp + 0x3c]
test eax, eax
jle 0x50c0b7
mov eax, dword [esp + 0x4c]
mov eax, dword [eax]
test eax, 1
setne al
mov byte [ebx], al
test al, al
je 0x50c03d
mov eax, dword [esp + 0x44]
test eax, eax
jg 0x50c045
mov dword [esp + 0x7c], ebx
add esp, 0x68
ret
mov dword [esp + 0x50], edi
mov ecx, dword [ebx + 4]
mov edx, dword [ebx + 8]
mov ebp, dword [ebx + 0xc]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
mov esi, dword [esp + 0x54]
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], edx
mov dword [esp + 0x20], ebp
call fcn.0050f1e0
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x24]
mov ebx, dword [esp + 0x6c]
mov dword [ebx + 8], eax
mov dword [ebx + 0xc], ecx
mov eax, dword [0x8326a0]
test eax, eax
jne 0x50c0aa
mov dword [ebx + 4], edx
mov byte [ebx], 0
jmp 0x50c03d
mov edi, dword [esp + 0x50]
mov eax, edx
call fcn.0045ace0
jmp 0x50c0a5
xor eax, eax
jmp 0x50c02f
mov edx, eax
mov eax, ecx
call fcn.0045ace0
mov eax, edx
jmp 0x50bffe
xor ebp, ebp
xor edi, edi
xor ebx, ebx
jmp 0x50bf6f
mov dword [esp + 0x7c], 0
add esp, 0x68
ret
mov eax, ebx
jmp 0x50bf45
call fcn.00459790
jmp fcn.0050be90