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

Disassembly:
sub edi, 0xc524
pop edi
cmp dword [ebp - 0x750], 0
jne 0x405d02
push eax
call 0x405cd0
add byte [ecx + 0x40], cl
aaa
inc esp
cmp eax, 0x83503a39
les eax, [ecx + eax*4]
sal byte [0x81000125], 0xc0
pop esp
add al, byte [ecx]
add byte [eax + 0x56], bl
and esi, 0x8fc4
jmp 0x405cec
add esi, 0x118ff
pop esi
mov dword [ebp - 0x79c], 0
jmp 0x406829
push esi
push edi
add esp, 4
and esi, 0x6c7e
or esi, 0x184d4
xor esi, 0xdc0c
and esi, 0x86e4
pop esi
push ecx
jmp 0x405d27
sub ecx, 0x1799c
sub ecx, 0xaf7e
pop ecx
mov eax, dword [ebp - 0x750]
mov al, 0xf8
invalid
dec dword [ebx - 0x7276e7b8]
loopne 0x405d3d
invalid
inc edi
test dword [eax + 0xfffff8], esp
add byte [eax], al
add byte [ebx - 0x31f6b], cl
dec dword [ecx - 0x15ef6b]
inc dword [ebx - 0x15ef43]
inc dword [eax]
jne 0x405d73
mov eax, dword [ebp - 0x760]
mov dword [ebp - 0x3f4], eax
jmp 0x406064
mov ecx, dword [ebp - 0x15f0]
mov edx, dword [ebp - 0x320]
add edx, dword [ecx + 0x3c]
mov dword [ebp - 0x15f4], edx
jne 0x405d9b
mov eax, dword [ebp - 0x760]
mov dword [ebp - 0x3f4], eax
jmp 0x406064
mov ecx, 8
imul edx, ecx, 0
mov eax, dword [ebp - 0x15f4]
mov ecx, dword [eax + edx + 0x78]
mov dword [ebp - 0x15f8], ecx
cmp dword [ebp - 0x15f8], 0
jne 0x405dcd
mov edx, dword [ebp - 0x760]
mov dword [ebp - 0x3f4], edx
jmp 0x406064
mov eax, dword [ebp - 0x320]
add eax, dword [ebp - 0x15f8]
mov dword [ebp - 0x754], eax
jne 0x405df2
mov ecx, dword [ebp - 0x760]
mov dword [ebp - 0x3f4], ecx
jmp 0x406064
mov edx, dword [ebp - 0x754]
mov eax, dword [ebp - 0x320]
add eax, dword [edx + 0x20]
mov dword [ebp - 0x1964], eax
mov ecx, dword [ebp - 0x754]
mov edx, dword [ebp - 0x320]
add edx, dword [ecx + 0x24]
mov dword [ebp - 0x1968], edx
mov eax, dword [ebp - 0x754]
mov ecx, dword [ebp - 0x320]
add ecx, dword [eax + 0x1c]
mov dword [ebp - 0x196c], ecx
lea edx, [esi - 0x7a380001]
test al, 0xf8
invalid
inc dword [eax]
add byte [eax], al
add bl, ch
invalid
mov eax, dword [ebp - 0x754]
mov ecx, dword [ebp - 0x758]
cmp ecx, dword [eax + 0x18]
jae 0x406058
mov edx, dword [ebp - 0x758]
mov eax, dword [ebp - 0x1964]
test dword [esi - 0x72740001], ebx
loopne 0x405e6d
invalid
inc dword [ebx]
or al, 0x90
mov dword [ebp - 0x75c], ecx
mov edx, dword [ebp - 0x758]
mov eax, dword [ebp - 0x1968]
movzx ecx, word [eax + edx*2]
mov edx, dword [ebp - 0x196c]
xchg ebp, eax
xchg esp, eax
out 0xff, al
dec dword [ebx - 0x31f7b]
inc dword [ebx]
add al, 0x8a
cmp dword [ebp - 0x3f4], 0
je 0x40613f
push edi
push eax
add esp, 4
and edi, 0x16c3c
jmp 0x406085
call fcn.00406091
add byte [esi + 0x3d], al
cmp al, byte [ebp + esi + 0x4c]
push eax
call 0x40614d
add byte [esp + ecx*2 + 0x3f], cl
dec esi
xor esi, dword [ebx]
inc ebp
add esp, 4
pop eax
push ecx
and ecx, 0x6ab3
call 0x406167
add byte [eax + 0x38], dl
inc ebp
dec ebx
inc ebp
dec ebp
inc ebx
dec esp
dec ebp
add esp, 4
and ecx, 0x15796
pop ecx
mov eax, dword fs:[0x18]
mov dword [ebp - 0x197c], eax
mov ecx, dword [ebp - 0x197c]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0x1980], edx
mov eax, dword [ebp - 0x1980]
mov dword [ebp - 0x15fc], eax
push esi
xor esi, 0x117d4
and esi, 0x6a15
pop esi
push ebx
push ebx
add esp, 4
and ebx, 0x978a
pop ebx
push ebx
push ebx
add esp, 4
sub ebx, 0x1ae
sub ebx, 0xc06
add ebx, 0xae58
pop ebx
cmp dword [ebp - 0x15fc], 0
jne 0x4061e2
mov dword [ebp - 0x31c], 0
jmp 0x406489
mov ecx, dword [ebp - 0x15fc]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xcb4], eax
push edi
and edi, 0x12b6c
call 0x406208
add byte [edi + eax*2 + 0x33], cl
xor esi, dword [0xc483423c]
add al, 0x81
out 0x28, eax
ja 0x406210
add byte [ecx + 0x3a12ef], al
add byte [edi + 0x52], bl
or edx, 0x986c
sub edx, 0x41f4
pop edx
cmp dword [ebp - 0xcb4], 0
jne 0x40623e
mov dword [ebp - 0x31c], 0
jmp 0x406489
mov ecx, dword [ebp - 0xcb4]
mov dword [ebp - 0x50c], ecx
push esi
push esi
add esp, 4
sub esi, 0x17581
call 0x406263
add byte [edi + 0x49], al
dec edi
cmp byte [esi], bh
cmp al, 0x33
inc esi
add esp, 4
pop esi
push ecx
call 0x406278
add byte [eax], al
dec ebx
inc esi
aaa
dec esi
dec edx
dec ecx
dec esp
xor eax, 0xc483323c
add al, 0x59
lea edx, [ebp - 0x1738]
mov dword [ebp - 0xcb0], edx
mov eax, dword [ebp - 0x50c]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0xcac], ecx
xor edx, edx
mov word [ebp - 0x218], dx
xor eax, eax
mov word [ebp - 0x34], ax
push ecx
push edi
add esp, 4
jmp 0x4062b3
and ecx, 0x142b1
pop ecx
push ebx
and ebx, 0x1557b
pop ebx
push esi
push edi
add esp, 4
call 0x4062d4
add byte [ecx], bh
aas
dec edi
inc esp
dec ecx
cmp dword [ebx - 0x74a1fb3c], eax
lea edx, [ebx + esi*8 - 1]
jmp dword [esi - 0x75]
push edx
push ebx
xor ebx, 0xcbcd
pop ebx
push esi
push ecx
add esp, 4
xor esi, 0x8f5c
add esi, 0x47ff
jmp 0x40684b
call 0x406857
add byte [esi], dh
inc eax
dec ebx
inc ecx
inc esp
inc ecx
add esp, 4
pop esi
mov ecx, dword [ebp - 0x3e8]
add ecx, 0xe
mov dword [ebp - 0x19dc], ecx
push edi
sub edi, 0x17416
jmp 0x406879
pop edi
push ebx
push edx
add esp, 4
jmp 0x406887
sub ebx, 0x5af
pop ebx
push ecx
or ecx, 0x15c5a
and ecx, 0x11689
pop ecx
cmp dword [ebp - 0x3e8], 0
je 0x4068ae
cmp dword [ebp - 0xab8], 0
jne 0x4068f4
push ecx
and ecx, 0x18622
add ecx, 0x183c8
add ecx, 0x1401d
xor ecx, 0xde94
pop ecx
push ebx
push esi
add esp, 4
add ebx, 0x5783
and ebx, 0x14f16
xor ebx, 0x1558a
pop ebx
mov edx, dword [ebp - 0x79c]
mov dword [ebp - 0x1990], edx
push 0
call dword [ebp - 0x1990]
mov dword [ebp - 0x20a8], 0xa
push ecx
push edi
add esp, 4
jmp 0x40690b
pop ecx
push edi
push esi
add esp, 4
xor edi, 0x10b4
jmp 0x40691f
pop edi
push edx
sub edx, 0x5264
pop edx
push edx
or edx, 0x1511e
pop edx
mov eax, dword [ebp - 0x3e8]
mov cl, byte [eax + 0xa]
mov byte [ebp - 0x3ae], cl
mov edx, dword [ebp - 0xab8]
sub edx, dword [ebp - 0x3e8]
mov dword [ebp - 0x1694], edx
mov dword [ebp - 0xce8], 0
push edx
push ecx
add esp, 4
and edx, 0x20bc
pop edx
push eax