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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0xa8]
cmp eax, dword [ecx + 8]
jbe 0x50ae42
sub esp, 0x128
mov dword [esp + 0x150], 0
mov dword [esp + 0x154], 0
mov dword [esp + 0x158], 0
mov dword [esp + 0x15c], 0
mov eax, dword [esp + 0x148]
test eax, eax
je 0x50aadf
lea eax, [0x74cee0]
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.00404b70
mov eax, dword [esp + 8]
mov dword [esp + 0x9c], eax
mov dword [esp + 0xc0], 0
mov dword [esp + 0xc4], 0
lea ecx, [0x50b090]
mov dword [esp + 0xc0], ecx
mov dword [esp + 0xc4], eax
lea ecx, [esp + 0xc0]
mov dword [esp + 0x84], ecx
lea ecx, [esp + 0x78]
mov dword [esp], ecx
call fcn.00435320
test eax, eax
jne 0x50aad3
lea eax, [0x74cca0]
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.00404b70
mov eax, dword [esp + 8]
mov dword [esp + 0xa0], eax
lea ecx, [0x78c580]
mov dword [esp], ecx
call fcn.0040bcc0
mov eax, dword [esp + 4]
lea ecx, [0x50af30]
mov dword [eax], ecx
mov ecx, dword [esp + 0x13c]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x140]
mov dword [eax + 0xc], ecx
mov ecx, dword [0xaab020]
test ecx, ecx
jne 0x50a8a0
mov ecx, dword [esp + 0x138]
mov dword [eax + 4], ecx
jmp 0x50a8b3
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0x138]
call fcn.004643b0
mov eax, ecx
mov dword [esp + 0xb4], eax
mov ecx, dword [esp + 0x148]
mov dword [eax + 0x14], ecx
mov ecx, dword [esp + 0x14c]
mov dword [eax + 0x18], ecx
mov ecx, dword [0xaab020]
test ecx, ecx
jne 0x50a902
mov ecx, dword [esp + 0x144]
mov dword [eax + 0x10], ecx
mov ecx, dword [esp + 0x12c]
mov dword [eax + 0x1c], ecx
mov edx, dword [esp + 0xa0]
mov dword [eax + 0x20], edx
mov ebx, dword [esp + 0x9c]
mov dword [eax + 0x24], ebx
jmp 0x50a940
lea edi, [eax + 0x10]
mov ecx, eax
mov eax, dword [esp + 0x144]
call fcn.004643b0
lea edi, [ecx + 0x1c]
mov eax, dword [esp + 0x12c]
call fcn.004643b0
lea edi, [ecx + 0x20]
mov eax, dword [esp + 0xa0]
call fcn.004643b0
lea edi, [ecx + 0x24]
mov eax, dword [esp + 0x9c]
call fcn.004643b0
lea edi, [esp + 0xec]
xor eax, eax
call fcn.0046465b
lea edi, [esp + 0x100]
call fcn.0046465b
mov ecx, dword [esp + 0x130]
mov dword [esp], ecx
mov edx, dword [esp + 0x134]
mov dword [esp + 4], edx
call fcn.004febc0
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
mov dword [esp + 0xa4], edx
mov ebx, dword [esp + 8]
mov dword [esp + 0xb0], ebx
mov dword [esp + 0x60], ecx
lea ecx, [esp + 0x54]
mov dword [esp], ecx
call fcn.00435320
test eax, eax
jne 0x50aac7
lea eax, [0x7702a0]
mov dword [esp], eax
call fcn.0040bcc0
mov eax, dword [esp + 4]
lea ecx, [0x50aee0]
mov dword [eax], ecx
mov ecx, dword [0xaab020]
test ecx, ecx
jne 0x50a9d6
mov ecx, dword [esp + 0xb4]
mov dword [eax + 4], ecx
jmp 0x50a9f0
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xb4]
call fcn.004643b0
mov eax, ecx
mov ecx, dword [esp + 0xb4]
mov edx, dword [esp + 0xb0]
mov dword [eax + 8], edx
mov edx, dword [0xaab020]
test edx, edx
jne 0x50aa10
mov edx, dword [esp + 0xa4]
mov dword [eax + 0xc], edx
jmp 0x50aa23
lea edi, [eax + 0xc]
mov edx, eax
mov eax, dword [esp + 0xa4]
call fcn.004643b0
mov eax, edx
mov dword [esp], eax
call fcn.00441c50
mov eax, dword [esp + 0x12c]
mov ecx, dword [eax + 0x28]
test ecx, ecx
seta dl
mov eax, dword [eax + 0x2c]
test eax, eax
sete bl
xchg ebp, ebx
setg bl
xchg ebp, ebx
and ebx, edx
or ebp, ebx
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x50aa5a
xor eax, eax
mov ecx, 0x11e1a300
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0048a1e0
mov eax, dword [esp + 8]
mov dword [esp + 0xa8], eax
mov dword [esp + 0xb8], 0
mov dword [esp + 0xbc], 0
lea ecx, [0x50aea0]
mov dword [esp + 0xb8], ecx
mov dword [esp + 0xbc], eax
lea ecx, [esp + 0xb8]
mov dword [esp + 0x3c], ecx
lea ecx, [esp + 0x30]
mov dword [esp], ecx
call fcn.00435320
test eax, eax
jne 0x50aabb
jmp 0x50ab5d
call fcn.004358f0
add esp, 0x128
ret
call fcn.004358f0
add esp, 0x128
ret
call fcn.004358f0
add esp, 0x128
ret
mov eax, dword [esp + 0x12c]
mov dword [esp], eax
mov eax, dword [esp + 0x130]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x134]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x138]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x13c]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x140]
mov dword [esp + 0x14], eax
call fcn.0050b0d0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x24]
mov dword [esp + 0x150], eax
mov dword [esp + 0x154], edx
mov dword [esp + 0x158], ecx
mov dword [esp + 0x15c], ebx
call fcn.004358f0
add esp, 0x128
ret
mov ecx, dword [esp + 0xa8]
mov edx, dword [ecx]
lea edi, [esp + 0x114]
xor eax, eax
call fcn.0046465b
mov dword [esp + 0xc8], 0
mov dword [esp + 0xcc], 0
mov dword [esp + 0xd0], 0
mov dword [esp + 0xd4], 0
mov dword [esp + 0xd0], edx
mov ecx, dword [esp + 0xa0]
mov dword [esp + 0xc8], ecx
lea edx, [esp + 0x114]
mov dword [esp + 0xcc], edx
lea ebx, [esp + 0xc8]
mov dword [esp], ebx
lea ebx, [esp + 0x28]
mov dword [esp + 4], ebx
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 2
mov byte [esp + 0x14], 1
call fcn.00447d90
mov ecx, dword [esp + 0x18]
test ecx, ecx
jne 0x50acd3
lea edi, [esp + 0xd8]
lea esi, [esp + 0x114]
call fcn.00464b3e
mov ecx, dword [esp + 0xe0]
test ecx, ecx
je 0x50addf
movzx ecx, byte [esp + 0xe8]
test cl, cl
je 0x50ac46
lea edi, [esp + 0xec]
lea esi, [esp + 0x114]
call fcn.00464b3e
jmp 0x50ac59
lea edi, [esp + 0x100]
lea esi, [esp + 0x114]
call fcn.00464b3e
movzx ecx, byte [esp + 0xfd]
test cl, cl
je 0x50ac75
movzx ecx, byte [esp + 0x111]
test cl, cl
jne 0x50ada1
movzx ecx, byte [esp + 0xe8]
test cl, cl
je 0x50ab5d
mov eax, dword [esp + 0xa8]
mov ecx, dword [eax + 0x18]
test ecx, ecx
je 0x50ae29
lea ecx, [eax + 4]
mov dword [esp], ecx
call fcn.00462840
movzx eax, byte [esp + 4]
test al, al
je 0x50ab5d
mov eax, dword [esp + 0xa8]
mov dword [esp], eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0
call fcn.0048a2d0
jmp 0x50ab5d
mov eax, dword [esp + 0x130]
mov dword [esp], eax
mov ecx, dword [esp + 0x134]
mov dword [esp + 4], ecx
call fcn.004febc0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0xac], ecx
mov edx, dword [esp + 8]
mov dword [esp + 0xb0], edx
mov dword [esp], eax
call fcn.00435240
test eax, eax
jne 0x50ae1d
lea eax, [0x770300]
mov dword [esp], eax
call fcn.0040bcc0
mov eax, dword [esp + 4]
lea ecx, [0x50ae50]
mov dword [eax], ecx
mov edx, dword [0xaab020]
test edx, edx
jne 0x50ad47
mov edx, dword [esp + 0xb4]
mov dword [eax + 4], edx
jmp 0x50ad61
lea edi, [eax + 4]
mov edx, eax
mov eax, dword [esp + 0xb4]
call fcn.004643b0
mov eax, edx
mov edx, dword [esp + 0xb4]
mov ebx, dword [esp + 0xb0]
mov dword [eax + 8], ebx
mov ebx, dword [0xaab020]
test ebx, ebx
jne 0x50ad81
mov ebx, dword [esp + 0xac]
mov dword [eax + 0xc], ebx
jmp 0x50ad94
lea edi, [eax + 0xc]
mov ebx, eax
mov eax, dword [esp + 0xac]
call fcn.004643b0
mov eax, ebx
mov dword [esp], eax
call fcn.00441c50
jmp 0x50ab5d
mov eax, dword [esp + 0xf4]
mov ecx, dword [esp + 0xf8]
mov dword [esp + 0x150], 0
mov dword [esp + 0x154], 0
mov dword [esp + 0x158], eax
mov dword [esp + 0x15c], ecx
call fcn.004358f0
add esp, 0x128
ret
mov eax, dword [esp + 0xd8]
mov ecx, dword [esp + 0xdc]
mov dword [esp + 0x150], eax
mov dword [esp + 0x154], ecx
mov dword [esp + 0x158], 0
mov dword [esp + 0x15c], 0
call fcn.004358f0
add esp, 0x128
ret
call fcn.004358f0
add esp, 0x128
ret
lea eax, [0x758c80]
mov dword [esp], eax
lea eax, [0x843d40]
mov dword [esp + 4], eax
call fcn.00436340
nop
call fcn.00462fa0
jmp fcn.0050a770