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

Disassembly:
push ecx
push eax
add esp, 4
or ecx, 0xc142
or ecx, 0x3b91
add ecx, 0xd43c
pop ecx
push edi
add edi, 0x17de3
call 0x5090db
add byte [esi + ecx*2 + 0x3b], al
inc esi
cmp al, byte [ecx + 0x34]
dec edx
inc esp
add esp, 4
pop edi
mov edx, dword [ebp - 0x30]
add edx, 0x138
imul eax, dword [ebp - 0x2c], 0x138
add eax, 0x44f3644b
imul ecx, dword [ebp - 0x2c], 0x138
sub eax, ecx
xor edx, eax
imul edx, dword [ebp - 0x2c]
mov dword [ebp - 0x1c80], edx
push eax
push esi
add esp, 4
add eax, 0x15d94
or eax, 0x14574
and eax, 0x6b96
pop eax
push edx
push esi
add esp, 4
or edx, 0x1e1a
sub edx, 0xb777
pop edx
push ecx
and ecx, 0x10d4c
pop ecx
mov edx, dword [ebp - 0x1c80]
add edx, 1
mov dword [ebp - 0x1494], edx
push ebx
push ecx
add esp, 4
or ebx, 0x46c0
pop ebx
push esi
push edi
add esp, 4
add esi, 0xa07c
pop esi
push esi
xor esi, 0x1182d
sub esi, 0x10264
and esi, 0x436e
xor esi, 0x17262
pop esi
push ecx
push ecx
add esp, 4
xor ecx, 0x2b56
pop ecx
push esi
push esi
add esp, 4
and esi, 0x58c8
or esi, 0x7e0f
xor esi, 0xc674
or esi, 0xa918
pop esi
push esi
and esi, 0xd228
pop esi
imul eax, dword [ebp - 0x2c], 0x138
add eax, 0x44f3644b
imul ecx, dword [ebp - 0x2c], 0x138
sub eax, ecx
xor eax, dword [ebp - 0x1494]
imul eax, dword [ebp - 0x2c]
imul edx, dword [ebp - 0x2c], 0x138
sub eax, edx
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x1494]
imul eax, dword [ebp - 0x2c]
mov dword [ebp - 0x1d24], eax
mov dword [ebp - 0x1520], 1
push edi
and edi, 0xd343
xor edi, 0x85b6
or edi, 0x135a0
sub edi, 0xb930
pop edi
push ecx
push eax
add esp, 4
and ecx, 0x53b9
sub ecx, 0x3467
and ecx, 0xafdd
pop ecx
imul ecx, dword [ebp - 0x1520], 0x138
add ecx, 0x44f3644b
imul edx, dword [ebp - 0x1520], 0x138
sub ecx, edx
xor ecx, dword [ebp - 0x1d24]
imul ecx, dword [ebp - 0x1520]
imul eax, dword [ebp - 0x1520], 0x138
sub ecx, eax
mov dword [ebp - 0x1524], ecx
mov ecx, dword [ebp - 0xfb0]
mov edx, dword [ebp - 0xfac]
mov dword [ebp - 0x152c], ecx
mov dword [ebp - 0x1528], edx
push edx
sub edx, 0x1221d
pop edx
push edi
push edi
add esp, 4
call 0x509292
add byte [eax + 0x4d], dl
cmp cl, byte [eax + 0x45]
aaa
inc ebx
add esp, 4
sub edi, 0x6334
xor edi, 0xea33
pop edi
push eax
xor eax, 0x1374f
pop eax
push ecx
and ecx, 0x5f49
and ecx, 0x10ba9
add ecx, 0xa28f
pop ecx
push ebx
push edx
add esp, 4
or ebx, 0x167df
pop ebx
push esi
push edi
add esp, 4
and esi, 0x1140
sub esi, 0x4add
pop esi
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 edi
sub edi, 0x127d6
xor edi, 0x978f
call 0x509322
add byte [edx + 0x32], al
cmp byte [eax + 0x35], cl
inc esp
inc ebp
dec esp
dec edx
add esp, 4
pop edi
push ebx
push eax
add esp, 4
sub ebx, 0x5878
xor ebx, 0x739b
pop ebx
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 0x509394
mov dword [ebp - 0x149c], 1
jmp 0x50939e
mov dword [ebp - 0x149c], 0
mov dl, byte [ebp - 0x149c]
mov byte [ebp - 0x382], dl
movzx eax, byte [ebp - 0x382]
test eax, eax
je 0x50c411
push eax
xor eax, 0x101f5
xor eax, 0x18387
pop eax
push edi
push ecx
add esp, 4
and edi, 0x10a2d
or edi, 0x8ae4
add edi, 0x9b37
pop edi
push edx
push edi
add esp, 4
jmp 0x5093ea
pop edx
push eax
push edx
add esp, 4
add eax, 0x14630
and eax, 0x11596
add eax, 0xb11
pop eax
push eax
push esi
add esp, 4
xor eax, 0x148ad
pop eax
push ecx
and ecx, 0x327c
jmp 0x50941c
pop ecx
mov ecx, dword [ebp - 0x30]
add ecx, 0x138
imul edx, dword [ebp - 0x2c], 0x138
add edx, 0x44f3644b
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 0x509598
push eax
jmp 0x50946e
pop eax
push ebx
sub ebx, 0xb347
add byte [eax], al
pop ebx
push edx
push ecx
add esp, 4
and edx, 0x16136
add edx, 0x64c3
pop edx
push ebx
and ebx, 0x63ae
jmp 0x509495
pop ebx
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 esi
or esi, 0x13d8e
xor esi, 0xba39
jmp 0x5094fa
xor esi, 0x6102
pop esi
push esi
push ecx
add esp, 4
or esi, 0x233c
sub esi, 0x2d62
xor esi, 0xf65b
pop esi
imul ecx, dword [ebp - 0xfb4], 0x138
cmp byte [ecx], al
add byte [eax], al
add ecx, 0x44f3644b
imul edx, dword [ebp - 0xfb4], 0x138
sub ecx, edx
xor ecx, dword [ebp - 0x1d44]
imul ecx, dword [ebp - 0xfb4]
scasd eax, dword es:[edi]
lea ecx, [eax + esi*8 - 1]
jmp [ecx - 0x7b]
dec esp
invalid
invalid
invalid
cmp byte [ecx], al
add byte [eax], al
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 edi
push ebx
add esp, 4
xor edi, 0xc5ce
and edi, 0xa73
pop edi
push esi
push esi
add esp, 4
or esi, 0x638e
pop esi
push ecx
push ecx
add esp, 4
jmp 0x509591
and ecx, 0x3642
pop ecx
push esi
push eax
add esp, 4
jmp 0x5095a5
add esi, 0x11554
or esi, 0x5e64
and esi, 0x12308
pop esi
push edi
push ebx
add esp, 4
sub edi, 0x101f3
sub edi, 0x9dab
pop edi
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 edx
and edx, 0x9b0e
call 0x50962d
add byte [ebp + 0x38], cl
inc esp
dec ebx
inc edi
cmp al, 0x4e
add esp, 4
or edx, 0x30be
jmp 0x50963e
pop edx
push edx
push edx
add esp, 4
sub edx, 0x4f22
pop edx
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 ecx
push eax
add esp, 4
xor ecx, 0xa7eb
and ecx, 0xb4db
or ecx, 0x5f3
xor ecx, 0x2f2d
pop ecx
push eax
sub eax, 0x1733f
jmp 0x5096c8
add eax, 0x32d4
pop eax
mov dword [ebp - 0x14a4], 1
push ecx
push ebx
add esp, 4
xor ecx, 0x13f38
pop ecx
push ecx
push edi
add esp, 4
xor ecx, 0x13850
and ecx, 0x5cb2
pop ecx
push edi
sub edi, 0xd423
sub edi, 0x16ae7
or edi, 0x5568
pop edi
mov dword [ebp - 0x1f5c], 0x38
mov dword [ebp - 0x1f60], 0xe6
mov dword [ebp - 0x1f64], 0x6e
mov dword [ebp - 0x1f68], 0x6e
mov dword [ebp - 0x1f6c], 0x78
mov dword [ebp - 0x1530], 1
push esi
push edi
add esp, 4
sub esi, 0x10b6c
or esi, 0x799d
or esi, 0x11765
xor esi, 0x13afe
pop esi
push edx
jmp 0x50976d
jmp 0x509772
and edx, 0x1231b
pop edx
imul edx, dword [ebp - 0x1530], 0x138
add edx, 0x44f3644b
imul eax, dword [ebp - 0x1530], 0x138
sub edx, eax
xor edx, 0xe6
imul edx, dword [ebp - 0x1530]
imul ecx, dword [ebp - 0x1530], 0x138
sub edx, ecx
mov dword [ebp - 0x1534], edx
push ebx
push esi
add esp, 4
and ebx, 0x4217
sub ebx, 0x4921
sub ebx, 0x171f7
pop ebx
push ebx
sub ebx, 0xae76
xor ebx, 0x2855
and ebx, 0xe776
xor ebx, 0x8136
pop ebx
push edi
push eax
add esp, 4
xor edi, 0xae8c
xor edi, 0x53e6
and edi, 0xe857
pop edi
push ebx
push ebx
add esp, 4
xor ebx, 0xeded
xor ebx, 0xcaf1
retf 0
jmp 0x509817
pop ebx
mov edx, dword [ebp - 0x928]
add edx, 0x138
imul eax, dword [ebp - 0x924], 0x138
add eax, 0x44f3644b
imul ecx, dword [ebp - 0x924], 0x138
sub eax, ecx
xor edx, eax
imul edx, dword [ebp - 0x924]
mov dword [ebp - 0x1d4c], edx
mov edx, dword [ebp - 0x1d4c]
mov dword [ebp - 0x1d50], edx
mov eax, dword [ebp - 0x1d50]
sub eax, 0x6e
mov dword [ebp - 0x1d54], eax
mov dword [ebp - 0xa08], 1
push esi
call 0x509883
add byte [edi + 0x33], cl
xor cl, byte [ebp + 0x3f]
dec eax
inc edx
cmp byte [0x8104c483], dh
out 0xe8, al
inc esp
add dword [eax], eax
call 0x50989b
add byte [edi], dh
dec ebx
dec eax
cmp ecx, dword [edx + esi + 0x35]
cmp al, 0x3c
add esp, 4
and esi, 0x11be4
pop esi
imul ecx, dword [ebp - 0xa08], 0x138
add ecx, 0x44f3644b
imul edx, dword [ebp - 0xa08], 0x138
sub ecx, edx
xor ecx, dword [ebp - 0x1d54]
imul ecx, dword [ebp - 0xa08]
imul eax, dword [ebp - 0xa08], 0x138
sub ecx, eax
mov dword [ebp - 0xa0c], ecx
push edx
or edx, 0x56aa
pop edx
push eax
push eax
add esp, 4
and eax, 0x64f5
add eax, 0x10eb4
pop eax
push esi
push eax
add esp, 4
or esi, 0x11229
pop esi
push eax
push ecx
add esp, 4
or eax, 0x13228
pop eax
mov ecx, dword [ebp - 0x928]
add ecx, 0x138
imul edx, dword [ebp - 0x924], 0x138
add edx, 0x44f3644b
imul eax, dword [ebp - 0x924], 0x138
sub edx, eax
xor ecx, edx
imul ecx, dword [ebp - 0x924]
mov dword [ebp - 0x1d58], ecx
mov ecx, dword [ebp - 0x1d58]
mov dword [ebp - 0x1d5c], ecx
mov edx, dword [ebp - 0x1d5c]
add edx, 0x38
mov dword [ebp - 0x1d60], edx
mov dword [ebp - 0xa10], 1
push edi
push esi
add esp, 4
and edi, 0xd825
jmp 0x509980
call fcn.00509990
add byte [esi], dh
xor eax, 0x4a413d3c
inc esi
xor esi, dword [ebx + ecx*2]
sub esi, 0x10f27
pop esi
push ecx
push edi
add esp, 4
xor ecx, 0xf10b
add ecx, 0xd194
or ecx, 0xb0c0
or ecx, 0xd53f
pop ecx
mov ecx, dword [ebp - 0x938]
add ecx, 0x138
imul edx, dword [ebp - 0x934], 0x138
add edx, 0x44f3644b
invalid
test esp, ecx
idiv bh
invalid
invalid