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

Disassembly:
push edi
add edi, 0x17e87
or edi, 0x16aa0
sub edi, 0x141c4
pop edi
push ebx
push edi
add esp, 4
or ebx, 0x172e1
and ebx, 0x14320
pop ebx
push edx
push esi
add esp, 4
add edx, 0x10d7d
pop edx
lea ecx, [ebp - 0x1740]
mov dword [ebp - 0xc98], ecx
mov edx, dword [ebp - 0x508]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0xc94], eax
xor ecx, ecx
mov word [ebp - 0x210], cx
xor edx, edx
mov word [ebp - 0x10c], dx
push ebx
sub ebx, 0xdb09
and ebx, 0x690f
sub ebx, 0xdd1e
pop ebx
push ebx
sub ebx, 0x517a
xor ebx, 0x125c8
call fcn.00406b1e
add byte [edi + 0x3b], al
inc ecx
dec esp
xor al, 0x40
cmp eax, 0x5b04c483
add esp, 4
pop ebx
add esp, 4
pop ebx
mov eax, dword [ebp - 0xc94]
mov cx, word [eax]
mov word [ebp - 0x1036], cx
mov edx, dword [ebp - 0xc94]
add edx, 2
mov dword [ebp - 0xc94], edx
mov ax, word [ebp - 0x1036]
mov word [ebp - 0x210], ax
mov ecx, dword [ebp - 0xc98]
mov dx, word [ecx]
mov word [ebp - 0x1038], dx
mov eax, dword [ebp - 0xc98]
add eax, 2
mov dword [ebp - 0xc98], eax
mov cx, word [ebp - 0x1038]
mov word [ebp - 0x10c], cx
push ecx
push eax
add esp, 4
and ecx, 0x15cfc
pop ecx
push edi
push esi
add esp, 4
and edi, 0x15755
or edi, 0x1475
xor edi, 0x253c
pop edi
push ebx
and ebx, 0xfcf4
add ebx, 0x174b7
pop ebx
movzx edx, word [ebp - 0x10c]
test edx, edx
jne 0x406bd1
movzx eax, word [ebp - 0x210]
movzx ecx, word [ebp - 0x10c]
sub eax, ecx
mov dword [ebp - 0x15e8], eax
jmp 0x406c34
movzx edx, word [ebp - 0x210]
movzx eax, word [ebp - 0x10c]
cmp edx, eax
je 0x406af0
movzx ecx, word [ebp - 0x210]
xor ecx, 0x20
movzx edx, word [ebp - 0x10c]
cmp ecx, edx
je 0x406af0
movzx eax, word [ebp - 0x210]
movzx ecx, word [ebp - 0x10c]
cmp eax, ecx
jge 0x406c1e
mov dword [ebp - 0x15e4], 0xffffffff
jmp 0x406c28
mov dword [ebp - 0x15e4], 1
mov edx, dword [ebp - 0x15e4]
mov dword [ebp - 0x15e8], edx
cmp dword [ebp - 0x15e8], 0
jne 0x406c7d
push ecx
xor ecx, 0x89c0
or ecx, 0x16b67
pop ecx
push esi
push edi
add esp, 4
jmp 0x406c55
call 0x406c65
add byte [esi + 0x48], al
xor edi, dword [edx]
cmp al, 0x4e
cmp al, 0x3b
xor dh, byte [edx]
add esp, 4
add esi, 0x7d31
pop esi
mov eax, dword [ebp - 0x508]
mov dword [ebp - 0x2d4], eax
jmp 0x406ce5
push edi
push eax
add esp, 4
or edi, 0xecde
add edi, 0x9677
call 0x406c9c
add byte [edx], bh
inc esp
inc ebp
inc eax
cmp eax, 0x833c4a40
les eax, [eax + ebp*8]
pop es
add byte [eax], al
add byte [eax], al
inc edx
push eax
dec edi
inc edi
dec ecx
push eax
add esp, 4
pop edi
mov ecx, dword [ebp - 0x508]
mov edx, dword [ecx]
mov dword [ebp - 0x508], edx
mov eax, dword [ebp - 0x508]
cmp eax, dword [ebp - 0xc9c]
je 0x406cdb
mov ecx, dword [ebp - 0x508]
cmp dword [ecx + 0x30], 0
jne 0x406a91
mov dword [ebp - 0x2d4], 0
push edi
push edx
add esp, 4
and edi, 0x163b0
call 0x406cfd
add byte [edx + 0x37], al
xor eax, dword [ecx + 0x49]
add esp, 4
and edi, 0x17766
call 0x406d13
add byte [edx + 0x40], cl
dec ebp
dec ecx
push eax
cmp dword ds:[ebx - 0x7ca0fb3c], eax
mov ebp, 0xfffffd2c
add byte [edi], cl
test dword [ecx + ecx], ecx
add byte [eax], al
mov edx, 0x6b
mov word [ebp - 0x17ac], dx
mov eax, 0x65
mov word [ebp - 0x17aa], ax
mov ecx, 0x72
mov word [ebp - 0x17a8], cx
mov edx, 0x6e
mov word [ebp - 0x17a6], dx
mov eax, 0x65
mov word [ebp - 0x17a4], ax
mov ecx, 0x6c
mov word [ebp - 0x17a2], cx
mov edx, 0x33
mov word [ebp - 0x17a0], dx
mov eax, 0x32
mov word [ebp - 0x179e], ax
mov ecx, 0x2e
mov word [ebp - 0x179c], cx
mov edx, 0x64
mov word [ebp - 0x179a], dx
mov eax, 0x6c
mov word [ebp - 0x1798], ax
mov ecx, 0x6c
mov word [ebp - 0x1796], cx
xor edx, edx
mov word [ebp - 0x1794], dx
push esi
push edi
add esp, 4
or esi, 0x72bd
xor esi, 0x17761
pop esi
push edi
xor edi, 0x4a17
add edi, 0xf2d8
call 0x406deb
add byte [ebx], dh
dec eax
dec eax
xor eax, 0x413f4234
cmp al, byte [ebx - 0x39a0fb3c]
test dword [eax - 9], ebp
invalid