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

Disassembly:
add esp, 4
add edx, 0xeeb3
pop edx
cmp dword [ebp - 0x1604], 0
jne 0x405f1b
mov dword [ebp - 0x2d4], 0
jmp 0x4061c2
mov ecx, dword [ebp - 0x1604]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xcb8], eax
push edx
add edx, 0xaabc
call 0x405f43
add byte [esi], bh
cmp esi, dword [edx]
inc esp
xor bh, byte [edi]
inc ebp
dec esi
add esp, 4
pop edx
push esi
push eax
add esp, 4
or esi, 0x625b
or esi, 0xab57
xor esi, 0x17fee
pop esi
cmp dword [ebp - 0xcb8], 0
jne 0x405f77
mov dword [ebp - 0x2d4], 0
jmp 0x4061c2
mov ecx, dword [ebp - 0xcb8]
mov dword [ebp - 0x510], ecx
push ecx
push eax
add esp, 4
and ecx, 0x953c
pop ecx
push eax
push edi
add esp, 4
jmp 0x405f99
sub eax, 0xdaaf
call 0x405fab
add byte [ebp + 0x3a], cl
inc eax
push eax
add esp, 4
xor eax, 0x16ddb
pop eax
lea edx, [ebp - 0x1740]
mov dword [ebp - 0xcb4], edx
mov eax, dword [ebp - 0x510]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0xcb0], ecx
xor edx, edx
mov word [ebp - 0x218], dx
xor eax, eax
mov word [ebp - 0x34], ax
push edx
and edx, 0x9136
pop edx
push eax
push edi
add esp, 4
or eax, 0xacd0
or eax, 0x7cd6
xor eax, 0x97f7
pop eax
push esi
jmp 0x406005
jmp 0x40600a
add esi, 0x1c01
pop esi
mov ecx, dword [ebp - 0xcb0]
mov dx, word [ecx]
mov word [ebp - 0x103e], dx
mov eax, dword [ebp - 0xcb0]
add eax, 2
mov dword [ebp - 0xcb0], eax
mov cx, word [ebp - 0x103e]
mov word [ebp - 0x218], cx
mov edx, dword [ebp - 0xcb4]
mov ax, word [edx]
mov word [ebp - 0x1040], ax
mov ecx, dword [ebp - 0xcb4]
add ecx, 2
mov dword [ebp - 0xcb4], ecx
mov dx, word [ebp - 0x1040]
mov word [ebp - 0x34], dx
push ecx
push ebx
add esp, 4
sub ecx, 0x82e8
sub ecx, 0x65a2
pop ecx
push edi
push ecx
add esp, 4
and edi, 0x101f1
pop edi
push edi
and edi, 0x1802
or edi, 0xc9f7
and edi, 0x3ae4
pop edi
movzx eax, word [ebp - 0x34]
test eax, eax
jne 0x4060b7
movzx ecx, word [ebp - 0x218]
movzx edx, word [ebp - 0x34]
sub ecx, edx
mov dword [ebp - 0x160c], ecx
jmp 0x406111
movzx eax, word [ebp - 0x218]
movzx ecx, word [ebp - 0x34]
cmp eax, ecx
je 0x405fdf
movzx edx, word [ebp - 0x218]
xor edx, 0x20
movzx eax, word [ebp - 0x34]
cmp edx, eax
je 0x405fdf
movzx ecx, word [ebp - 0x218]
movzx edx, word [ebp - 0x34]
cmp ecx, edx
jge 0x4060fb
mov dword [ebp - 0x1608], 0xffffffff
jmp 0x406105
mov dword [ebp - 0x1608], 1
mov eax, dword [ebp - 0x1608]
mov dword [ebp - 0x160c], eax
cmp dword [ebp - 0x160c], 0
jne 0x40615a
push eax
push ecx
add esp, 4
and eax, 0xb16f
pop eax
push eax
sub eax, 0x264b
xor eax, 0x145f3
and eax, 0x5b46
xor eax, 0x126e6
pop eax
push edx
push edi
add esp, 4
add edx, 0xc551
pop edx
mov ecx, dword [ebp - 0x510]
mov dword [ebp - 0x2d4], ecx
jmp 0x4061c2
push ecx
push edx
add esp, 4
add ecx, 0x8897
or ecx, 0x4154
call 0x40617a
add byte [edx + 0x4e], al
cmp al, byte [edx + eax*2 + 0x32]
dec ecx
cmp eax, dword [ebp - 0x7d]
les eax, [ecx + eax*4]
leave
sbb dword [edx], edx
add byte [ecx + 0x50], bl
sub eax, 0x30e1
pop eax
mov edx, dword [ebp - 0x510]
mov eax, dword [edx]
mov dword [ebp - 0x510], eax
mov ecx, dword [ebp - 0x510]
cmp ecx, dword [ebp - 0xcb8]
je 0x4061b8
mov edx, dword [ebp - 0x510]
cmp dword [edx + 0x30], 0
jne 0x405f83
mov dword [ebp - 0x2d4], 0
push eax
push ebx
add esp, 4
sub eax, 0x5e12
pop eax
push edx
push edi
add esp, 4
and edx, 0x86a6
add edx, 0x5b1f
pop edx
push ebx
or ebx, 0x1037a
or ebx, 0xab91
xor ebx, 0x786a
pop ebx
mov eax, dword [ebp - 0x2d4]
mov ecx, dword [eax + 0x18]
mov dword [ebp - 0x324], ecx
push edi
push edi
add esp, 4
or edi, 0x38bb
call 0x40621c
add byte [ecx + edi], dh
inc edx
dec esi
dec ecx
inc ebx
cmp bh, byte [ecx]
add esp, 4
add edi, 0xf222
call 0x406231
add byte [edi], bh
inc esi
inc ebp
inc edi
inc ecx
dec esp
add esp, 4
pop edi
mov dword [ebp - 0x774], 0
mov edx, dword [ebp - 0x324]
mov dword [ebp - 0x1610], edx
cmp dword [ebp - 0x1610], 0
jne 0x406265
mov eax, dword [ebp - 0x774]
mov dword [ebp - 0x514], eax
jmp 0x406556
mov ecx, dword [ebp - 0x1610]
mov edx, dword [ebp - 0x324]
add edx, dword [ecx + 0x3c]
mov dword [ebp - 0x1614], edx
jne 0x40628d
mov eax, dword [ebp - 0x774]
mov dword [ebp - 0x514], eax
jmp 0x406556
mov ecx, 8
imul edx, ecx, 0
mov eax, dword [ebp - 0x1614]
mov ecx, dword [eax + edx + 0x78]
mov dword [ebp - 0x1618], ecx
cmp dword [ebp - 0x1618], 0
jne 0x4062bf
mov edx, dword [ebp - 0x774]
mov dword [ebp - 0x514], edx
jmp 0x406556
mov eax, dword [ebp - 0x324]
add eax, dword [ebp - 0x1618]
mov dword [ebp - 0x768], eax
jne 0x4062e4
mov ecx, dword [ebp - 0x774]
mov dword [ebp - 0x514], ecx
jmp 0x406556
mov edx, dword [ebp - 0x768]
mov eax, dword [ebp - 0x324]
add eax, dword [edx + 0x20]
mov dword [ebp - 0x19b8], eax
mov ecx, dword [ebp - 0x768]
mov edx, dword [ebp - 0x324]
add edx, dword [ecx + 0x24]
mov dword [ebp - 0x19bc], edx
mov eax, dword [ebp - 0x768]
mov ecx, dword [ebp - 0x324]
add ecx, dword [eax + 0x1c]
mov dword [ebp - 0x19c0], ecx
mov dword [ebp - 0x76c], 0
jmp 0x40633e
mov edx, dword [ebp - 0x76c]
add edx, 1
mov dword [ebp - 0x76c], edx
mov eax, dword [ebp - 0x768]
mov ecx, dword [ebp - 0x76c]
cmp ecx, dword [eax + 0x18]
jae 0x40654a
mov edx, dword [ebp - 0x76c]
mov eax, dword [ebp - 0x19b8]
mov ecx, dword [ebp - 0x324]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x770], ecx
mov edx, dword [ebp - 0x76c]
mov eax, dword [ebp - 0x19bc]
movzx ecx, word [eax + edx*2]
mov edx, dword [ebp - 0x19c0]
mov eax, dword [ebp - 0x324]
add eax, dword [edx + ecx*4]
mov dword [ebp - 0x1d48], eax
mov dword [ebp - 0x198], 0
jmp 0x4063ae
mov ecx, dword [ebp - 0x198]
add ecx, 1
mov dword [ebp - 0x198], ecx
mov edx, dword [ebp - 0x770]
add edx, dword [ebp - 0x198]
movsx eax, byte [edx]
test eax, eax
je 0x406460
mov ecx, dword [ebp - 0x198]
movsx edx, byte [ebp + ecx - 0x87c]
test edx, edx
je 0x406460
push esi
push edi
add esp, 4
add esi, 0x358f
pop esi
push esi
push esi
add esp, 4
or esi, 0x10233
call 0x406401
add byte [ebx + 0x48], cl
aas
aas
inc edi
dec ebp
cmp byte [esi], bh
add esp, 4
pop esi
push eax
xor eax, 0x13a3c
pop eax
mov eax, dword [ebp - 0x770]
add eax, dword [ebp - 0x198]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x198]
movsx eax, byte [ebp + edx - 0x87c]
cmp ecx, eax
je 0x406452
mov ecx, dword [ebp - 0x770]
add ecx, dword [ebp - 0x198]
movsx edx, byte [ecx]
xor edx, 0x20
mov eax, dword [ebp - 0x198]
movsx ecx, byte [ebp + eax - 0x87c]
cmp edx, ecx
jne 0x406459
jmp 0x40639f
jmp 0x406460
push edx
add edx, 0x17582
xor edx, 0xb942
add edx, 0x14a1c
pop edx
push edi
push edx
add esp, 4
sub edi, 0xc1ad
sub edi, 0xf8bd
and edi, 0x10bcf
and edi, 0x2a6
pop edi
mov edx, dword [ebp - 0x770]
add edx, dword [ebp - 0x198]
movsx eax, byte [edx]
mov ecx, dword [ebp - 0x198]
movsx edx, byte [ebp + ecx - 0x87c]
cmp eax, edx
jne 0x4064bf
mov dword [ebp - 0xcbc], 0
jmp 0x40652e
push eax
push edi
add esp, 4
or eax, 0x65cf
add eax, 0x88e5
pop eax
push ebx
push ebx
add esp, 4
or ebx, 0xbb2
add ebx, 0x6a52
pop ebx
push edx
add edx, 0x45a7
sub edx, 0x5c40
pop edx
mov eax, dword [ebp - 0x770]
add eax, dword [ebp - 0x198]
movsx ecx, byte [eax]
or ecx, 0x20
mov edx, dword [ebp - 0x198]
movsx eax, byte [ebp + edx - 0x87c]
or eax, 0x20
cmp ecx, eax
jge 0x406524
mov dword [ebp - 0xcbc], 0xffffffff
jmp 0x40652e
mov dword [ebp - 0xcbc], 1
cmp dword [ebp - 0xcbc], 0
jne 0x406545
mov ecx, dword [ebp - 0x1d48]
mov dword [ebp - 0x514], ecx
jmp 0x406556
jmp 0x40632f
mov edx, dword [ebp - 0x774]
mov dword [ebp - 0x514], edx
mov eax, dword [ebp - 0x514]
mov dword [ebp - 0x7a0], eax