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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x50fc94
sub esp, 0x6c
call fcn.0050f700
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp]
mov ebp, dword [esp + 4]
test eax, eax
jne 0x50fc6a
mov dword [esp + 0x38], ebp
mov dword [esp + 0x48], ebx
mov eax, dword [esp + 0x70]
xor ecx, ecx
xor edx, edx
xor esi, esi
xor edi, edi
jmp 0x50f9f8
inc ecx
mov ebx, dword [esp + 0x48]
mov ebp, dword [esp + 0x38]
cmp ecx, ebp
jge 0x50fc61
mov ebx, dword [ebx + ecx*4]
mov ebp, dword [ebx + 4]
test ebp, ebp
jne 0x50fa0d
mov ebp, dword [ebx + 0x48]
mov dword [esp + 0x34], ecx
mov dword [esp + 0x3c], edi
mov dword [esp + 0x28], edx
mov dword [esp + 0x24], esi
mov dword [esp + 0x20], ebp
test eax, eax
je 0x50fa29
cmp eax, ebp
jne 0x50f9ef
mov dword [esp + 0x40], ebx
mov eax, dword [ebx + 0x28]
mov dword [esp], eax
call fcn.004a5720
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov dword [esp + 0x30], ecx
lea edi, [esp + 0x4c]
mov edx, eax
xor eax, eax
call fcn.0045e0a8
mov eax, dword [esp + 0x20]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x54], edx
mov eax, dword [esp + 0x30]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x40]
cmp dword [eax + 0x44], 1
jne 0x50fa77
mov dword [esp + 0x68], 1
mov ecx, dword [eax + 0x40]
cmp ecx, 0x18
ja 0x50fc26
cmp ecx, 9
ja 0x50fc04
cmp ecx, 6
jne 0x50fbf6
or dword [esp + 0x68], 0x12
mov ecx, dword [eax + 0x3c]
cmp ecx, 0xffffffff
jne 0x50fbed
mov dword [esp + 0x50], 0xffffffff
mov ecx, dword [eax + 0x34]
test ecx, ecx
ja 0x50fb96
mov eax, dword [esp + 0x24]
lea ecx, [eax + 1]
mov edx, dword [esp + 0x28]
cmp edx, ecx
jb 0x50fb5c
mov ebx, dword [esp + 0x3c]
mov dword [esp + 0x30], ecx
mov ebp, dword [0x7a0970]
shl eax, 5
lea edi, [ebx + eax]
test ebp, ebp
jne 0x50fb30
lea esi, [esp + 0x4c]
call fcn.0045e570
mov eax, dword [esp + 0x70]
cmp dword [esp + 0x4c], eax
je 0x50fb06
mov ecx, dword [esp + 0x34]
mov esi, dword [esp + 0x30]
mov edi, ebx
jmp 0x50f9ef
mov eax, dword [esp + 0x30]
mov dword [esp + 0x74], ebx
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], edx
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], 0
add esp, 0x6c
ret
mov dword [esp + 0x44], ebx
mov dword [esp + 0x2c], edx
lea eax, [0x5f7660]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x4c]
mov dword [esp + 8], eax
call fcn.004106a0
mov edx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x44]
jmp 0x50faed
lea ebx, [0x5f7660]
mov dword [esp], ebx
mov ebp, dword [esp + 0x3c]
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
call fcn.00445150
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
lea ecx, [eax + 1]
mov eax, dword [esp + 0x24]
jmp 0x50fad0
lea eax, [0x5db380]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ecx
call fcn.004450a0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x40]
mov edx, dword [ecx + 0x34]
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], edx
mov dword [esp + 0x64], edx
cmp edx, 8
jle 0x50fbcd
mov edx, 8
add ecx, 0x2c
cmp eax, ecx
je 0x50fab9
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.0045e7b0
jmp 0x50fab9
mov dword [esp + 0x50], ecx
jmp 0x50faae
cmp ecx, 9
je 0x50fa95
jmp 0x50fa9a
cmp ecx, 0x17
jne 0x50fc13
or dword [esp + 0x68], 0x18
jmp 0x50fa9a
cmp ecx, 0x18
jne 0x50fa9a
or dword [esp + 0x68], 0x14
jmp 0x50fa9a
cmp ecx, 0x47
ja 0x50fc48
cmp ecx, 0x25
jne 0x50fc3a
or dword [esp + 0x68], 0x1a
jmp 0x50fa9a
cmp ecx, 0x47
je 0x50fa95
jmp 0x50fa9a
cmp ecx, 0x83
je 0x50fc09
cmp ecx, 0x90
je 0x50fa95
jmp 0x50fa9a
mov eax, esi
mov ebx, edi
jmp 0x50fb0a
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
mov dword [esp + 0x80], ecx
mov dword [esp + 0x84], edx
add esp, 0x6c
ret
call fcn.0045c8b0
jmp fcn.0050f9a0