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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x5114a5
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 0x51149c
mov ecx, dword [esp + 0x78]
test ecx, ecx
je 0x511297
mov edx, dword [ecx + 8]
test edx, edx
jne 0x5112bf
mov eax, dword [esp + 0x6c]
mov dword [esp], eax
mov dword [esp + 4], 1
mov dword [esp + 8], 0
call fcn.0050f4c0
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.00512a90
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + 4]
mov edx, dword [eax + 0xc]
mov eax, dword [eax + 8]
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 0x511491
mov ebx, dword [edi + 4]
mov ebp, dword [edi + 8]
mov edi, dword [edi + 0xc]
mov dword [esp + 0x4c], esi
mov dword [esp + 0x44], ebp
mov dword [esp + 0x54], ebx
mov dword [esp + 0x48], edi
mov edi, dword [esp + 0x6c]
mov ebp, dword [edi + 8]
mov ebx, dword [edi + 4]
mov edi, dword [edi + 0xc]
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], edi
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
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.0051c560
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0x6c]
mov dword [ebx + 8], ecx
mov dword [ebx + 0xc], eax
mov eax, dword [0xb91180]
lea edi, [ebx + 4]
test eax, eax
jne 0x511485
mov dword [ebx + 4], edx
test ecx, ecx
jle 0x51147e
mov eax, dword [esp + 0x70]
movzx eax, byte [eax]
test al, al
je 0x511477
mov eax, dword [esp + 0x3c]
test eax, eax
jle 0x511470
mov eax, dword [esp + 0x4c]
mov eax, dword [eax]
and eax, 1
cmp eax, 1
sete al
mov byte [ebx], al
test al, al
je 0x5113f6
mov eax, dword [esp + 0x44]
test eax, eax
jg 0x5113fe
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.00517020
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 [0xb91180]
test eax, eax
jne 0x511463
mov dword [ebx + 4], edx
mov byte [ebx], 0
jmp 0x5113f6
mov edi, dword [esp + 0x50]
mov eax, edx
call fcn.0044f0d0
jmp 0x51145e
xor eax, eax
jmp 0x5113e8
xor eax, eax
jmp 0x5113e8
xor eax, eax
jmp 0x5113e8
mov eax, edx
call fcn.0044f0d0
jmp 0x5113b6
xor ebp, ebp
xor ebx, ebx
xor edi, edi
jmp 0x511327
mov eax, edx
mov edx, ebx
jmp 0x5112fd
call fcn.0044d880
jmp fcn.00511250