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

Disassembly:
pop edi
push edx
jmp 0x408f64
add edx, 0x160d
sub edx, 0x9d52
pop edx
mov ecx, dword [ebp - 0x3e0]
mov dword [ebp - 0x1d24], ecx
push edi
call 0x408f8d
add byte [edi + eax*2 + 0x3a], cl
dec ebx
xor eax, 0x44454341
add esp, 4
or edi, 0x2e33
sub edi, 0x12d87
sub edi, 0x117b3
pop edi
push ebx
push edx
add esp, 4
add ebx, 0x11b22
pop ebx
mov edx, dword [ebp - 0x1d24]
mov dword [ebp - 0x199c], edx
lea eax, [ebp - 0x1754]
push eax
call dword [ebp - 0x199c]
test eax, eax
jne 0x40900d
push edi
push eax
add esp, 4
and edi, 0x945d
and edi, 0x6a26
xor edi, 0x2e88
or edi, 0x45a3
pop edi
push esi
and esi, 0x5f53
add esi, 0xcbb2
add esi, 0xc5e2
pop esi
mov dword [ebp - 0x7a0], 0
jmp 0x4096f8
push edi
sub edi, 0xb148
or edi, 0xa996
sub edi, 0x16240
xor edi, 0x135a3
pop edi
push edi
push edi
add esp, 4
add edi, 0x9eb2
xor edi, 0x7bdb
or edi, 0x26a6
pop edi
mov ecx, dword fs:[0x18]
mov dword [ebp - 0x19a0], ecx
mov edx, dword [ebp - 0x19a0]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0x19a4], eax
mov ecx, dword [ebp - 0x19a4]
mov dword [ebp - 0x160c], ecx
push ebx
push eax
add esp, 4
or ebx, 0x31a5
and ebx, 0x7065
pop ebx
push eax
push ebx
add esp, 4
jmp 0x409086
pop eax
push esi
push esi
add esp, 4
add esi, 0x17d57
add esi, 0x45b0
pop esi
cmp dword [ebp - 0x160c], 0
jne 0x4090b1
mov dword [ebp - 0x2f0], 0
jmp 0x409358
mov edx, dword [ebp - 0x160c]
mov eax, dword [edx + 0xc]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0xcc8], ecx
push eax
add eax, 0xcae5
xor eax, 0x11ed3
pop eax
push edi
or edi, 0x10043
pop edi
push esi
jmp 0x4090e0
xor esi, 0xe010
pop esi
push edx
sub edx, 0xf52e
xor edx, 0x3410
pop edx
cmp dword [ebp - 0xcc8], 0
jne 0x40910d
mov dword [ebp - 0x2f0], 0
jmp 0x409358
mov edx, dword [ebp - 0xcc8]
mov dword [ebp - 0x508], edx
push edi
push edi
add esp, 4
add edi, 0xae9b
sub edi, 0x2d9a
add edi, 0x6a6d
add edi, 0xd3e7
pop edi
push ebx
or ebx, 0xd39b
jmp 0x409144
add ebx, 0x15061
pop ebx
lea eax, [ebp - 0x1754]
mov dword [ebp - 0xcc4], eax
mov ecx, dword [ebp - 0x508]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0xcc0], edx
xor eax, eax
mov word [ebp - 0x234], ax
xor ecx, ecx
mov word [ebp - 0x48], cx
push eax
call 0x409186
add byte [ecx + 0x34], al
inc edi
dec ebp
dec ecx
dec ebx
xor eax, 0x4c48349
jmp 0x409192
sub eax, 0xe262
add eax, 0x15ccb
pop eax
push eax
add eax, 0x19e1
pop eax
mov edx, dword [ebp - 0xcc0]
mov ax, word [edx]
mov word [ebp - 0x104e], ax
mov ecx, dword [ebp - 0xcc0]
add ecx, 2
mov dword [ebp - 0xcc0], ecx
mov dx, word [ebp - 0x104e]
mov word [ebp - 0x234], dx
mov eax, dword [ebp - 0xcc4]
mov cx, word [eax]
mov word [ebp - 0x1050], cx
mov edx, dword [ebp - 0xcc4]
add edx, 2
mov dword [ebp - 0xcc4], edx
mov ax, word [ebp - 0x1050]
mov word [ebp - 0x48], ax
push esi
push esi
add esp, 4
xor esi, 0x5885
or esi, 0x10ef6
sub esi, 0x766b
pop esi
push esi
add esi, 0x12906
or esi, 0x161a7
and esi, 0x16609
add esi, 0x2c7
pop esi
movzx ecx, word [ebp - 0x48]
test ecx, ecx
jne 0x40924d
movzx edx, word [ebp - 0x234]
movzx eax, word [ebp - 0x48]
sub edx, eax
mov dword [ebp - 0x1614], edx
jmp 0x4092a7
movzx ecx, word [ebp - 0x234]
movzx edx, word [ebp - 0x48]
cmp ecx, edx
je 0x409175
movzx eax, word [ebp - 0x234]
xor eax, 0x20
movzx ecx, word [ebp - 0x48]
cmp eax, ecx
je 0x409175
movzx edx, word [ebp - 0x234]
movzx eax, word [ebp - 0x48]
cmp edx, eax
jge 0x409291
mov dword [ebp - 0x1610], 0xffffffff
jmp 0x40929b
mov dword [ebp - 0x1610], 1
mov ecx, dword [ebp - 0x1610]
mov dword [ebp - 0x1614], ecx
cmp dword [ebp - 0x1614], 0
jne 0x4092f0
push esi
push edi
add esp, 4
sub esi, 0x6f55
and esi, 0x14303
call 0x4092cd
add byte [ebx + 0x3f], al
inc ecx
cmp dword [ecx], edi
dec ebp
add esp, 4
pop esi
push edi
sub edi, 0x15071
pop edi
push ecx
jmp 0x4092e1
pop ecx
mov edx, dword [ebp - 0x508]
mov dword [ebp - 0x2f0], edx
jmp 0x409358
push edx
add edx, 0x12499
pop edx
push ecx
push edi
add esp, 4
and ecx, 0x13418
pop ecx
push eax
push ecx
add esp, 4
sub eax, 0x11a88
and eax, 0x168b2
and eax, 0x5998
sub eax, 0xe1b6
pop eax
mov eax, dword [ebp - 0x508]
mov ecx, dword [eax]
mov dword [ebp - 0x508], ecx
mov edx, dword [ebp - 0x508]
cmp edx, dword [ebp - 0xcc8]
je 0x40934e
mov eax, dword [ebp - 0x508]
cmp dword [eax + 0x30], 0
jne 0x409119
mov dword [ebp - 0x2f0], 0
push edx
or edx, 0x16fb8
pop edx
push eax
call 0x409371
add byte [edx], bh
dec ebx
xor bh, byte [ebx]
aaa
dec esp
dec ecx
dec eax
xor al, 0x83
les eax, [eax + ebp*8]
pop es
add byte [eax], al
add byte [eax], al
cmp eax, 0x35384246
dec edi
add esp, 4
or eax, 0x1853f
pop eax
mov ecx, dword [ebp - 0x2f0]
mov edx, dword [ecx + 0x18]
mov dword [ebp - 0x338], edx
push edi
xor edi, 0x16c76
pop edi
push edi
push edi
add esp, 4
add edi, 0x17b25
sub edi, 0x377b
sub edi, 0x14089
call 0x4093c7
add byte [0x50423a4d], bh
cmp eax, dword [edx + 0x35]
dec eax
add esp, 4
pop edi
mov dword [ebp - 0x774], 0
mov eax, dword [ebp - 0x338]
mov dword [ebp - 0x1618], eax
cmp dword [ebp - 0x1618], 0
jne 0x4093fb
mov ecx, dword [ebp - 0x774]
mov dword [ebp - 0x50c], ecx
jmp 0x4096ec
mov edx, dword [ebp - 0x1618]
mov eax, dword [ebp - 0x338]
add eax, dword [edx + 0x3c]
mov dword [ebp - 0x161c], eax
jne 0x409423
mov ecx, dword [ebp - 0x774]
mov dword [ebp - 0x50c], ecx
jmp 0x4096ec
mov edx, 8
imul eax, edx, 0
mov ecx, dword [ebp - 0x161c]
mov edx, dword [ecx + eax + 0x78]
mov dword [ebp - 0x1620], edx
cmp dword [ebp - 0x1620], 0
jne 0x409455
mov eax, dword [ebp - 0x774]
mov dword [ebp - 0x50c], eax
jmp 0x4096ec
mov ecx, dword [ebp - 0x338]
add ecx, dword [ebp - 0x1620]
mov dword [ebp - 0x768], ecx
jne 0x40947a
mov edx, dword [ebp - 0x774]
mov dword [ebp - 0x50c], edx
jmp 0x4096ec
mov eax, dword [ebp - 0x768]
mov ecx, dword [ebp - 0x338]
add ecx, dword [eax + 0x20]
mov dword [ebp - 0x19a8], ecx
mov edx, dword [ebp - 0x768]
mov eax, dword [ebp - 0x338]
add eax, dword [edx + 0x24]
mov dword [ebp - 0x19ac], eax
mov ecx, dword [ebp - 0x768]
mov edx, dword [ebp - 0x338]
add edx, dword [ecx + 0x1c]
mov dword [ebp - 0x19b0], edx
mov dword [ebp - 0x76c], 0
jmp 0x4094d4