Function at 0x50ab16
Capabilities:
Get number of processors
Resolve function by parsing pe exports

Disassembly:
add esp, 4
pop ebx
push edi
or edi, 0x165c0
and edi, 0x366f
pop edi
mov dword [ebp - 0x2c], 1
push ecx
jmp 0x50aaef
or ecx, 0x1845c
pop ecx
push edi
or edi, 0x5211
or edi, 0xad6d
xor edi, 0x6375
call 0x50ab16
add byte [ecx + 0x37], cl
cmp cl, byte [ebp + 0x4f]
dec eax
xor eax, dword [ebx + 0x695f04c4]
push ebp
aam 0x38
add dword [eax], eax
add byte [ecx - 0xc9bb43e], al
inc esp
imul eax, dword [ebp - 0x2c], 0x138
sub edx, eax
xor edx, 0
imul edx, dword [ebp - 0x2c]
imul ecx, dword [ebp - 0x2c], 0x138
sub edx, ecx
mov dword [ebp - 0x30], edx
jmp 0x50acfb
mov ecx, dword [ebp - 0xfb0]
mov edx, dword [ebp - 0xfac]
mov dword [ebp - 0x152c], ecx
mov dword [ebp - 0x1528], edx
push edx
push edx
add esp, 4
jmp 0x50ad1e
and edx, 0x2aff
jmp 0x50ad2a
pop edx
push edx
sub edx, 0x4ae4
sub edx, 0x580d
or edx, 0xe3ed
add edx, 0x2b59
pop edx
push esi
sub esi, 0x11d53
pop esi
push ebx
push edx
add esp, 4
or ebx, 0x11ea4
sub ebx, 0x61d9
call 0x50ad6a
add byte [ebx + 0x33], al
inc ebp
aas
dec ebp
dec esp
add esp, 4
jmp 0x50ad76
pop ebx
mov eax, dword [ebp - 0x30]
add eax, 0x138
imul ecx, dword [ebp - 0x2c], 0x138
add ecx, 0x44f3644b
imul edx, dword [ebp - 0x2c], 0x138
sub ecx, edx
xor eax, ecx
imul eax, dword [ebp - 0x2c]
mov dword [ebp - 0x1d2c], eax
push esi
add esi, 0x14891
sub esi, 0x37f4
pop esi
push esi
push esi
add esp, 4
sub esi, 0x13455
call 0x50adc8
add byte [esi + edi], bh
cmp dword [esi], esi
xor cl, byte [edi + 0x48]
aaa
add esp, 4
jmp 0x50add2
pop esi
mov eax, dword [ebp - 0x152c]
add eax, 0x138
imul ecx, dword [ebp - 0x1528], 0x138
add ecx, 0x44f3644b
imul edx, dword [ebp - 0x1528], 0x138
sub ecx, edx
xor eax, ecx
imul eax, dword [ebp - 0x1528]
mov dword [ebp - 0x1d28], eax
mov eax, dword [ebp - 0x1d28]
mov dword [ebp - 0x1d30], eax
mov ecx, dword [ebp - 0x1d2c]
cmp ecx, dword [ebp - 0x1d30]
jae 0x50ae2f
mov dword [ebp - 0x149c], 1
jmp 0x50ae39
mov dword [ebp - 0x149c], 0
mov dl, byte [ebp - 0x149c]
mov byte [ebp - 0x382], dl
movzx eax, byte [ebp - 0x382]
test eax, eax
je 0x50deac
push edx
push esi
add esp, 4
or edx, 0x11748
xor edx, 0x16cee
jmp 0x50ae6b
call 0x50ae7a
add byte [ebp + 0x44], cl
aaa
xor dl, byte [eax + 0x4a]
inc ecx
dec ecx
xor eax, dword [ebx + 0x525a04c4]
xor edx, 0x16d43
pop edx
push eax
jmp 0x50ae8c
call 0x50ae9b
add byte [esi], dh
dec edx
dec ecx
dec esp
inc edx
aaa
aas
add esp, 4
call 0x50aeae
add byte [esi + 0x3d], al
xor eax, 0x4335483a
aaa
aas
xor al, 0x83
les eax, [ecx + eax*4]
rcr byte [0x58000155], 0x8b
dec ebp
rol byte [ecx + 0x138c1], 1
add byte [ecx + 0x55], ch
aam 0x38
add dword [eax], eax
add byte [ecx - 0xc9bb43e], al
inc esp
imul eax, dword [ebp - 0x2c], 0x138
sub edx, eax
xor ecx, edx
imul ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x1d34], ecx
mov ecx, dword [ebp - 0x1d34]
mov dword [ebp - 0x1d38], ecx
cmp dword [ebp - 0x1d38], 0x63c1
jne 0x50b033
push edx
or edx, 0xfbbc
xor edx, 0xe44b
sub edx, 0x15bb0
pop edx
push esi
push ebx
add esp, 4
or esi, 0x91dc
add esi, 0xb870
xor esi, 0x1695c
or esi, 0x45e9
pop esi
mov edx, dword [ebp - 0x14]
add edx, 0x138
imul eax, dword [ebp - 0x10], 0x138
add eax, 0x44f3644b
imul ecx, dword [ebp - 0x10], 0x138
sub eax, ecx
xor edx, eax
imul edx, dword [ebp - 0x10]
mov dword [ebp - 0x1d3c], edx
mov edx, dword [ebp - 0x1d3c]
mov dword [ebp - 0x1d40], edx
mov eax, dword [ebp - 0x1d40]
sub eax, 0x898
mov dword [ebp - 0x1d44], eax
mov dword [ebp - 0xfb4], 1
push edi
push ebx
add esp, 4
or edi, 0xa2c
or edi, 0x5761
add edi, 0x8b0f
pop edi
push ebx
add ebx, 0xd89e
add ebx, 0x8ab7
add ebx, 0x11939
or ebx, 0x1345e
pop ebx
imul ecx, dword [ebp - 0xfb4], 0x138
add ecx, 0x44f3644b
imul edx, dword [ebp - 0xfb4], 0x138
sub ecx, edx
xor ecx, dword [ebp - 0x1d44]
imul ecx, dword [ebp - 0xfb4]
imul eax, dword [ebp - 0xfb4], 0x138
sub ecx, eax
mov dword [ebp - 0xfb8], ecx
mov ecx, dword [ebp - 0xfb8]
mov edx, dword [ebp - 0xfb4]
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x10], edx
push eax
sub eax, 0x63c
call 0x50b017
add byte [ebp + 0x3e], cl
inc ebp
aas
cmp dh, byte [ebx]
aas
inc eax
dec edx
add esp, 4
pop eax
push edx
push edi
add esp, 4
add edx, 0x1645b
sub edx, 0x9a81
sub edx, 0x5e87
pop edx
push ebx
push esi
add esp, 4
sub ebx, 0x9c17
or ebx, 0x15f7b
pop ebx
push ecx
or ecx, 0x6442
pop ecx
push esi
push edx
add esp, 4
jmp 0x50b058
or esi, 0x165ff
sub esi, 0x144dd
pop esi
mov eax, dword [ebp - 0x14]
add eax, 0x138
imul ecx, dword [ebp - 0x10], 0x138
add ecx, 0x44f3644b
imul edx, dword [ebp - 0x10], 0x138
sub ecx, edx
xor eax, ecx
imul eax, dword [ebp - 0x10]
mov dword [ebp - 0x1d48], eax
mov eax, dword [ebp - 0x1d48]
mov dword [ebp - 0x1db8], eax
lea ecx, [ebp - 0x928]
mov dword [ebp - 0x3bc], ecx
mov edx, dword [ebp - 0x3bc]
mov dword [edx + 4], 1
push ecx
push edx
add esp, 4
add ecx, 0x1688f
sub ecx, 0xc84c
jmp 0x50b0cb
pop ecx
push esi
and esi, 0xcec1
and esi, 0x88fc
add esi, 0x9961
sub esi, 0x4903
pop esi
mov eax, dword [ebp - 0x3bc]
imul ecx, dword [eax + 4], 0x138
add ecx, 0x44f3644b
mov edx, dword [ebp - 0x3bc]
imul eax, dword [edx + 4], 0x138
sub ecx, eax
xor ecx, 0x23
mov edx, dword [ebp - 0x3bc]
imul ecx, dword [edx + 4]
mov eax, dword [ebp - 0x3bc]
imul edx, dword [eax + 4], 0x138
sub ecx, edx
mov eax, dword [ebp - 0x3bc]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x3bc]
mov dword [ebp - 0x1f58], ecx
push edi
call 0x50b145
add byte [ebx + 0x3b], cl
dec ecx
xor eax, 0xc4833949
add al, 0x81
not dword [esi - 0x7effffb6]
iretd
mov dword [ebp - 0x3c0], 0
call 0x50debb
mov eax, 0x13379797
pop eax
mov dword [ebp - 0x3c0], eax
push edi
jmp 0x50dece
call fcn.0050deda
add byte [0x4b473232], dh
dec esi