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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x50bb63
sub esp, 0x54
mov eax, dword [esp + 0x58]
mov ecx, dword [eax + 0x1c]
mov edx, dword [esp + 0x5c]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 4]
mov eax, dword [eax + 4]
mov dword [esp + 0x34], eax
mov ecx, dword [eax + 8]
mov edx, dword [eax + 4]
lea ebx, [ecx - 1]
test ebx, ebx
jl 0x50b918
mov edx, dword [edx + ecx*4 - 4]
nop
cmp edx, 0x10000
jb 0x50b8e8
shr edx, 0x10
mov ecx, 0x10
jmp 0x50b8ea
xor ecx, ecx
cmp edx, 0x100
jb 0x50b8f8
shr edx, 8
add ecx, 8
cmp edx, 0x100
jae 0x50bb56
shl ebx, 5
lea ebp, [0x650f2a]
movzx edx, byte [ebp + edx]
add ecx, edx
add ecx, ebx
jmp 0x50b91a
xor ecx, ecx
mov dword [esp + 0x24], ecx
lea eax, [0x60da40]
mov dword [esp], eax
lea eax, [ecx + 7]
sar eax, 0x1f
shr eax, 0x1d
lea eax, [eax + ecx + 7]
sar eax, 3
mov dword [esp + 0x28], eax
mov dword [esp + 4], eax
mov dword [esp + 8], eax
call fcn.00447550
mov eax, dword [esp + 0xc]
mov dword [esp + 0x40], eax
xor ecx, ecx
xor edx, edx
xor ebx, ebx
xor ebp, ebp
jmp 0x50b966
mov eax, dword [esp + 0x40]
mov ebx, dword [esp + 0x2c]
mov ebp, dword [esp + 0x30]
test ecx, ecx
jne 0x50bb11
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x38], edx
nop
mov ecx, dword [esp + 0x60]
mov dword [esp], ecx
mov edx, dword [esp + 0x64]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov ebx, dword [esp + 0x28]
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], ebx
call fcn.00483bc0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
test edx, edx
jne 0x50bade
mov ebx, dword [esp + 0x28]
test ebx, ebx
jbe 0x50bb4d
mov ebp, dword [esp + 0x40]
movzx esi, byte [ebp]
mov edi, dword [0x7e9ed4]
mov eax, edx
mov edx, dword [0x7e9ed0]
mov ebx, dword [esp + 0x24]
sar ebx, 0x1f
shr ebx, 0x1d
mov ebp, dword [esp + 0x24]
add ebx, ebp
sar ebx, 3
shl ebx, 3
sub ebp, ebx
cmp edi, ebp
jbe 0x50bb44
movzx edx, byte [edx + ebp]
and esi, edx
mov edx, dword [esp + 0x40]
xchg esi, eax
mov byte [edx], al
xchg esi, eax
mov ebx, dword [esp + 0x28]
cmp ebx, 1
jbe 0x50bb38
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], ecx
movzx eax, byte [edx + 1]
xor eax, 0x42
mov byte [edx + 1], al
mov byte [esp + 0x44], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], 0
mov dword [esp], 0
mov dword [esp + 4], 0
mov dword [esp + 8], 0
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], ebx
call fcn.004faf10
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x50], edx
mov byte [esp + 0x44], 0
lea eax, [esp + 0x44]
mov dword [esp], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 4], eax
call fcn.004f22a0
mov eax, dword [esp + 8]
test eax, eax
jl 0x50baad
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x38]
jmp 0x50b95a
mov eax, dword [esp + 0x58]
mov ecx, dword [eax + 0x20]
mov edx, dword [esp + 0x5c]
mov dword [esp], edx
mov ebx, dword [esp + 0x40]
mov dword [esp + 4], ebx
mov ebp, dword [esp + 0x28]
mov dword [esp + 8], ebp
mov dword [esp + 0xc], ebp
call ecx
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
jmp 0x50b95a
mov edx, dword [esp + 0x40]
mov dword [esp + 0x68], edx
mov edx, dword [esp + 0x28]
mov dword [esp + 0x6c], edx
mov dword [esp + 0x70], edx
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x74], edx
mov edx, dword [esp + 0x38]
mov dword [esp + 0x78], edx
mov dword [esp + 0x7c], eax
mov dword [esp + 0x80], ecx
add esp, 0x54
ret
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], edx
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x80], ebp
add esp, 0x54
ret
mov eax, 1
mov ecx, ebx
call fcn.0045e650
mov eax, ebp
mov ecx, edi
call fcn.0045e650
xor eax, eax
mov ecx, ebx
call fcn.0045e650
mov eax, edx
mov ecx, 0x100
call fcn.0045e660
nop
call fcn.0045d190
jmp fcn.0050b890