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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x50ac7d
sub esp, 0x68
mov edx, dword [esp + 0x88]
mov ecx, dword [esp + 0x94]
mov ebx, edx
sub edx, ecx
lea eax, [ecx - 1]
cmp ecx, eax
jbe 0x50ac77
mov ebp, dword [esp + 0x90]
mov ebp, dword [ebp + ecx*4 - 4]
nop
nop
cmp ebp, 0x10000
jb 0x50a875
shr ebp, 0x10
mov eax, 0x10
jmp 0x50a877
xor eax, eax
cmp ebp, 0x100
jb 0x50a885
shr ebp, 8
add eax, 8
cmp ebp, 0x100
jae 0x50ac6b
mov dword [esp + 0x4c], edx
mov dword [esp + 0x48], eax
lea eax, [0x649bcc]
movzx eax, byte [eax + ebp]
mov dword [esp + 0x54], eax
mov dword [esp], ecx
call fcn.00505890
mov eax, dword [esp + 4]
mov dword [esp + 0x60], eax
mov ecx, dword [eax]
mov dword [esp + 0x64], ecx
mov edx, dword [eax + 4]
mov dword [esp + 0x38], edx
mov ebx, dword [eax + 8]
mov dword [esp + 0x3c], ebx
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov ebp, dword [esp + 0x90]
mov dword [esp + 0xc], ebp
mov ebp, dword [esp + 0x94]
mov dword [esp + 0x10], ebp
mov esi, dword [esp + 0x98]
mov dword [esp + 0x14], esi
mov esi, dword [esp + 0x48]
mov edi, dword [esp + 0x54]
lea esi, [edi + esi - 0x20]
xchg esi, ebx
neg ebx
xchg esi, ebx
mov dword [esp + 0x34], esi
mov dword [esp + 0x18], esi
call fcn.0050c7e0
mov ecx, dword [esp + 0x88]
lea eax, [ecx + 1]
mov edx, dword [esp + 0x80]
cmp edx, eax
jl 0x50a937
jb 0x50ac64
mov ebx, dword [esp + 0x78]
jmp 0x50a9a8
test ecx, ecx
jne 0x50a972
lea eax, [0x6124c0]
mov dword [esp], eax
mov dword [esp + 4], 1
mov dword [esp + 8], 1
call fcn.004476a0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x88]
mov edx, 1
mov ebx, eax
mov eax, 1
jmp 0x50a9a8
mov dword [esp + 0x44], eax
lea edx, [0x6124c0]
mov dword [esp], edx
mov dword [esp + 4], eax
lea ebx, [ecx + 5]
mov dword [esp + 0x30], ebx
mov dword [esp + 8], ebx
call fcn.004476a0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x30]
mov ebx, eax
mov eax, dword [esp + 0x44]
cmp ecx, edx
ja 0x50ac5f
mov dword [esp + 0x30], edx
mov dword [esp + 0x28], eax
mov dword [esp + 0x5c], ebx
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov eax, dword [esp + 0x84]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x18], eax
call fcn.0050c7e0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x28]
cmp ecx, edx
jae 0x50ac56
mov ebx, dword [esp + 0x5c]
mov dword [ebx + ecx*4], eax
mov eax, dword [esp + 0x74]
test eax, eax
je 0x50aa30
mov ebp, dword [esp + 0x6c]
lea esi, [ebp + eax*4 - 4]
mov edi, dword [esp + 0x30]
mov ecx, edi
lea edi, [ebx + edi*4 - 4]
cmp edi, esi
jne 0x50aa38
xor eax, eax
xor ebp, ebp
jmp 0x50aa38
mov ecx, dword [esp + 0x30]
mov ebp, dword [esp + 0x6c]
mov esi, dword [esp + 0x4c]
lea edi, [esi + 1]
cmp eax, edi
jl 0x50aa4a
jae 0x50aac1
jmp 0x50ac4d
test esi, esi
jne 0x50aa88
lea eax, [0x6124c0]
mov dword [esp], eax
mov dword [esp + 4], 1
mov dword [esp + 8], 1
call fcn.004476a0
mov ebp, dword [esp + 0xc]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x28]
mov ebx, dword [esp + 0x5c]
mov edi, 1
mov eax, 1
jmp 0x50aac1
mov dword [esp + 0x40], edi
lea eax, [0x6124c0]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esi + 5]
mov dword [esp + 0x2c], eax
mov dword [esp + 8], eax
call fcn.004476a0
mov ebp, dword [esp + 0xc]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x28]
mov ebx, dword [esp + 0x5c]
mov edi, dword [esp + 0x40]
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x24], edi
mov dword [esp + 0x58], ebp
mov dword [esp + 0x2c], eax
mov esi, dword [esp + 0x94]
cmp esi, 0x64
jge 0x50ab0f
mov dword [esp], ebp
mov dword [esp + 4], edi
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], ecx
mov esi, dword [esp + 0x64]
mov dword [esp + 0x18], esi
mov esi, dword [esp + 0x38]
mov dword [esp + 0x1c], esi
mov esi, dword [esp + 0x3c]
mov dword [esp + 0x20], esi
call fcn.0050ac90
jmp 0x50ab43
mov dword [esp], ebp
mov dword [esp + 4], edi
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], ecx
mov esi, dword [esp + 0x64]
mov dword [esp + 0x18], esi
mov esi, dword [esp + 0x38]
mov dword [esp + 0x1c], esi
mov esi, dword [esp + 0x3c]
mov dword [esp + 0x20], esi
call fcn.0050b1d0
lea eax, [0x7ba450]
mov dword [esp], eax
lea eax, [0x635a60]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 8], eax
call fcn.00473270
nop
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x58]
mov edx, eax
jmp 0x50ab72
mov eax, ebx
test eax, eax
jle 0x50ab89
lea ebx, [eax - 1]
cmp edx, ebx
jbe 0x50ac44
mov ebp, dword [ecx + eax*4 - 4]
test ebp, ebp
je 0x50ab70
mov edx, dword [esp + 0x2c]
cmp eax, edx
ja 0x50ac3d
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x5c]
mov dword [esp], eax
mov ecx, dword [esp + 0x28]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x30]
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
mov ebx, dword [esp + 0x34]
mov dword [esp + 0x18], ebx
call fcn.0050c830
nop
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x5c]
mov edx, eax
jmp 0x50abd8
mov eax, ebx
test eax, eax
jle 0x50abeb
lea ebx, [eax - 1]
cmp edx, ebx
jbe 0x50ac34
mov ebp, dword [ecx + eax*4 - 4]
test ebp, ebp
je 0x50abd6
mov edx, dword [esp + 0x30]
cmp eax, edx
ja 0x50ac2d
mov ebx, dword [esp + 0x58]
mov dword [esp + 0x9c], ebx
mov ebx, dword [esp + 0x50]
mov dword [esp + 0xa0], ebx
mov ebx, dword [esp + 0x2c]
mov dword [esp + 0xa4], ebx
mov dword [esp + 0xa8], ecx
mov dword [esp + 0xac], eax
mov dword [esp + 0xb0], edx
add esp, 0x68
ret
mov ecx, eax
call fcn.0045e570
mov eax, ebx
mov ecx, edx
call fcn.0045e530
mov ecx, eax
call fcn.0045e570
mov eax, ebx
mov ecx, edx
call fcn.0045e530
mov ecx, edi
mov edx, eax
call fcn.0045e570
mov eax, ecx
mov ecx, edx
call fcn.0045e530
call fcn.0045e570
mov ecx, eax
call fcn.0045e570
mov eax, ebp
mov ecx, 0x100
call fcn.0045e540
call fcn.0045e530
nop
call fcn.0045d0a0
jmp fcn.0050a820