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

Disassembly:
mov edx, dword [ebp - 0x6f4]
add edx, 1
mov dword [ebp - 0x6f4], edx
mov eax, dword [ebp - 0x6f0]
mov ecx, dword [ebp - 0x6f4]
cmp ecx, dword [eax + 0x18]
jae 0x405d2a
mov edx, dword [ebp - 0x6f4]
mov eax, dword [ebp - 0x18a0]
mov ecx, dword [ebp - 0x2f8]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x6f8], ecx
mov edx, dword [ebp - 0x6f4]
mov eax, dword [ebp - 0x18a4]
movzx ecx, word [eax + edx*2]
mov edx, dword [ebp - 0x18a8]
mov eax, dword [ebp - 0x2f8]
add eax, dword [edx + ecx*4]
mov dword [ebp - 0x18ac], eax
mov dword [ebp - 0x180], 0
jmp 0x405b8e
mov ecx, dword [ebp - 0x180]
add ecx, 1
mov dword [ebp - 0x180], ecx
mov edx, dword [ebp - 0x6f8]
add edx, dword [ebp - 0x180]
movsx eax, byte [edx]
test eax, eax
je 0x405c40
mov ecx, dword [ebp - 0x180]
movsx edx, byte [ebp + ecx - 0x820]
test edx, edx
je 0x405c40
push ecx
push edx
add esp, 4
or ecx, 0x47e1
xor ecx, 0x974
or ecx, 0xdaeb
pop ecx
push esi
xor esi, 0xc9c4
add esi, 0xf95f
add esi, 0x14149
or esi, 0x60a8
pop esi
mov eax, dword [ebp - 0x6f8]
add eax, dword [ebp - 0x180]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x180]
movsx eax, byte [ebp + edx - 0x820]
cmp ecx, eax
je 0x405c32
mov ecx, dword [ebp - 0x6f8]
add ecx, dword [ebp - 0x180]
movsx edx, byte [ecx]
xor edx, 0x20
mov eax, dword [ebp - 0x180]
movsx ecx, byte [ebp + eax - 0x820]
cmp edx, ecx
jne 0x405c39
jmp 0x405b7f
jmp 0x405c40
push edi
push edx
add esp, 4
xor edi, 0x1444a
jmp 0x405c54
jmp 0x405c5d
pop edi
push ebx
push eax
add esp, 4
or ebx, 0x6fc8
pop ebx
push edx
sub edx, 0x1242f
pop edx
mov edx, dword [ebp - 0x6f8]
add edx, dword [ebp - 0x180]
movsx eax, byte [edx]
mov ecx, dword [ebp - 0x180]
movsx edx, byte [ebp + ecx - 0x820]
cmp eax, edx
jne 0x405c9f
mov dword [ebp - 0xc30], 0
jmp 0x405d0e
push ebx
call fcn.00405cad
add byte [ebx + eax*2 + 0x37], cl
cmp al, 0x3e
add esp, 4
add esp, 4
add esp, 4
or ebx, 0xb546
jmp 0x405cbf
call 0x405ccd
add byte [esi + 0x40], al
inc ebp
xor dh, byte [0x834d3f37]
les eax, [ebx + ebx*2]
mov eax, dword [ebp - 0x6f8]
add eax, dword [ebp - 0x180]
movsx ecx, byte [eax]
or ecx, 0x20
mov edx, dword [ebp - 0x180]
movsx eax, byte [ebp + edx - 0x820]
or eax, 0x20
cmp ecx, eax
jge 0x405d04
mov dword [ebp - 0xc30], 0xffffffff
jmp 0x405d0e
mov dword [ebp - 0xc30], 1
cmp dword [ebp - 0xc30], 0
jne 0x405d25
mov ecx, dword [ebp - 0x18ac]
mov dword [ebp - 0x3c4], ecx
jmp 0x405d36
jmp 0x405b0f
mov edx, dword [ebp - 0x6fc]
mov dword [ebp - 0x3c4], edx
cmp dword [ebp - 0x3c4], 0
je 0x405e11
push eax
xor eax, 0x165cd
call 0x405d5a
add byte [edx], bh
cmp eax, 0x3a353a35
dec edi
inc esp
cmp eax, dword [ebx - 0x3f7efb3c]
mov bh, 0xc4
add byte [eax], al
pop eax
push ecx
jmp 0x405d6e
xor ecx, 0xe434
pop ecx
mov eax, dword [ebp - 0x3c4]
mov dword [ebp - 0x18b0], eax
push ecx
push esi
add esp, 4
xor ecx, 0x9bc0
jmp 0x405d95
jmp 0x405d9e
and ecx, 0x1f76
pop ecx
push edx
and edx, 0x12d18
sub edx, 0xc414
pop edx
mov ecx, dword [ebp - 0x18b0]
mov dword [ebp - 0x18b4], ecx
lea edx, [ebp - 0x1628]
push edx
call dword [ebp - 0x18b4]
test eax, eax
jne 0x405e11
push ecx
add ecx, 0xd1db
and ecx, 0xf15a
or ecx, 0x155d7
add ecx, 0x70f8
pop ecx
push eax
jmp 0x405df3
jmp 0x405df9
jmp 0x405e01
pop eax
mov dword [ebp - 0x738], 0
jmp 0x4064fb