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

Disassembly:
aaa
movzx eax, word [ebp - 0x218]
movzx ecx, word [ebp - 0x34]
cmp eax, ecx
je 0x405c5a
movzx edx, word [ebp - 0x218]
xor edx, 0x20
movzx eax, word [ebp - 0x34]
cmp edx, eax
je 0x405c5a
movzx ecx, word [ebp - 0x218]
movzx edx, word [ebp - 0x34]
cmp ecx, edx
jge 0x405d76
mov dword [ebp - 0x1604], 0xffffffff
jmp 0x405d80
mov dword [ebp - 0x1604], 1
mov eax, dword [ebp - 0x1604]
mov dword [ebp - 0x1608], eax
cmp dword [ebp - 0x1608], 0
jne 0x405dd5
push edx
jmp 0x405d9d
pop edx
push edx
and edx, 0xd5e6
pop edx
push esi
push edx
add esp, 4
xor esi, 0x4c49
pop esi
push ecx
push edx
add esp, 4
jmp 0x405dc0
and ecx, 0xefb1
pop ecx
mov ecx, dword [ebp - 0x50c]
mov dword [ebp - 0x31c], ecx
jmp 0x405e3d
push edx
sub edx, 0x65c0
pop edx
push ecx
push esi
add esp, 4
sub ecx, 0x1133f
xor ecx, 0x174c6
call 0x405dfd
add byte [esi], bh
dec edx
dec edi
push eax
xor cl, byte [eax + 0x43]
inc eax
add esp, 4
and ecx, 0x12cf6
pop ecx
mov edx, dword [ebp - 0x50c]
mov eax, dword [edx]
mov dword [ebp - 0x50c], eax
mov ecx, dword [ebp - 0x50c]
cmp ecx, dword [ebp - 0xcb4]
je 0x405e33
mov edx, dword [ebp - 0x50c]
cmp dword [edx + 0x30], 0
jne 0x405bfe
mov dword [ebp - 0x31c], 0
push eax
and eax, 0xe83e
call 0x405e54
add byte [esi + 0x37], al
aaa
dec ebp
push eax
xor ecx, dword [ebp + 0x3a]
aas
add esp, 4
call 0x405e65
add byte [ebp + 0x4b], cl
xor al, 0x50
xor al, 0x44
dec esi
cmp eax, dword [ebx - 0x177efb3c]
cmpsd dword [esi], dword es:[edi]
add dword cs:[eax], eax
pop eax
mov eax, dword [ebp - 0x31c]
mov ecx, dword [eax + 0x18]
mov dword [ebp - 0x324], ecx
push esi
push edi
add esp, 4
add esi, 0xd90b
and esi, 0xfa1b
sub esi, 0x8906
sub esi, 0x66b7
pop esi
push esi
sub esi, 0x4d2a
and esi, 0x8380
add esi, 0x15141
pop esi
mov dword [ebp - 0x770], 0
mov edx, dword [ebp - 0x324]
mov dword [ebp - 0x160c], edx
cmp dword [ebp - 0x160c], 0
jne 0x405ee0
mov eax, dword [ebp - 0x770]
mov dword [ebp - 0x510], eax
jmp 0x4061d1
mov ecx, dword [ebp - 0x160c]
mov edx, dword [ebp - 0x324]
add edx, dword [ecx + 0x3c]
mov dword [ebp - 0x1610], edx
jne 0x405f08
mov eax, dword [ebp - 0x770]
mov dword [ebp - 0x510], eax
jmp 0x4061d1
mov ecx, 8
imul edx, ecx, 0
mov eax, dword [ebp - 0x1610]
mov ecx, dword [eax + edx + 0x78]
mov dword [ebp - 0x1614], ecx
cmp dword [ebp - 0x1614], 0
jne 0x405f3a
mov edx, dword [ebp - 0x770]
mov dword [ebp - 0x510], edx
jmp 0x4061d1
mov eax, dword [ebp - 0x324]
add eax, dword [ebp - 0x1614]
mov dword [ebp - 0x764], eax
jne 0x405f5f
mov ecx, dword [ebp - 0x770]
mov dword [ebp - 0x510], ecx
jmp 0x4061d1
mov edx, dword [ebp - 0x764]
mov eax, dword [ebp - 0x324]
add eax, dword [edx + 0x20]
mov dword [ebp - 0x19e8], eax
mov ecx, dword [ebp - 0x764]
mov edx, dword [ebp - 0x324]
add edx, dword [ecx + 0x24]
mov dword [ebp - 0x19ec], edx
mov eax, dword [ebp - 0x764]
mov ecx, dword [ebp - 0x324]
add ecx, dword [eax + 0x1c]
mov dword [ebp - 0x1d74], ecx
mov dword [ebp - 0x768], 0
jmp 0x405fb9
mov edx, dword [ebp - 0x768]
add edx, 1
mov dword [ebp - 0x768], edx
mov eax, dword [ebp - 0x764]
mov ecx, dword [ebp - 0x768]
cmp ecx, dword [eax + 0x18]
jae 0x4061c5
mov edx, dword [ebp - 0x768]
mov eax, dword [ebp - 0x19e8]
mov ecx, dword [ebp - 0x324]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x76c], ecx
mov edx, dword [ebp - 0x768]
mov eax, dword [ebp - 0x19ec]
movzx ecx, word [eax + edx*2]
mov edx, dword [ebp - 0x1d74]
mov eax, dword [ebp - 0x324]
add eax, dword [edx + ecx*4]
mov dword [ebp - 0x19f0], eax
mov dword [ebp - 0x19c], 0
jmp 0x406029
mov ecx, dword [ebp - 0x19c]
add ecx, 1
mov dword [ebp - 0x19c], ecx
mov edx, dword [ebp - 0x76c]
add edx, dword [ebp - 0x19c]
movsx eax, byte [edx]
test eax, eax
je 0x4060db
mov ecx, dword [ebp - 0x19c]
movsx edx, byte [ebp + ecx - 0x878]
test edx, edx
je 0x4060db
push eax
xor eax, 0x1005f
add eax, 0x3637
or eax, 0xaa11
and eax, 0xeb9c
pop eax
push esi
push edx
add esp, 4
sub esi, 0x9911
and esi, 0x40ad
sub esi, 0x15800
pop esi
mov eax, dword [ebp - 0x76c]
add eax, dword [ebp - 0x19c]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x19c]
movsx eax, byte [ebp + edx - 0x878]
cmp ecx, eax
je 0x4060cd
mov ecx, dword [ebp - 0x76c]
add ecx, dword [ebp - 0x19c]
movsx edx, byte [ecx]
xor edx, 0x20
mov eax, dword [ebp - 0x19c]
movsx ecx, byte [ebp + eax - 0x878]
cmp edx, ecx
jne 0x4060d4
jmp 0x40601a
jmp 0x4060db
push ecx
add ecx, 0x16127
pop ecx
push eax
xor eax, 0x165bf
add eax, 0x8aae
pop eax
push ecx
and ecx, 0x16231
pop ecx
push edi
xor edi, 0x17c1c
jmp 0x406106
add edi, 0xcd9c
pop edi
mov edx, dword [ebp - 0x76c]
add edx, dword [ebp - 0x19c]
movsx eax, byte [edx]
mov ecx, dword [ebp - 0x19c]
movsx edx, byte [ebp + ecx - 0x878]
cmp eax, edx
jne 0x40613a
mov dword [ebp - 0xcb8], 0
jmp 0x4061a9
push ebx
xor ebx, 0xc03d
add ebx, 0x7914
sub ebx, 0x16997
pop ebx
push edi
push edi
add esp, 4
add edi, 0xa302
xor edi, 0x28c5
or edi, 0xb05c
sub edi, 0xe0b
pop edi
mov eax, dword [ebp - 0x76c]
add eax, dword [ebp - 0x19c]
movsx ecx, byte [eax]
or ecx, 0x20
mov edx, dword [ebp - 0x19c]
movsx eax, byte [ebp + edx - 0x878]
or eax, 0x20
cmp ecx, eax
jge 0x40619f
mov dword [ebp - 0xcb8], 0xffffffff
jmp 0x4061a9
mov dword [ebp - 0xcb8], 1
cmp dword [ebp - 0xcb8], 0
jne 0x4061c0
mov ecx, dword [ebp - 0x19f0]
mov dword [ebp - 0x510], ecx
jmp 0x4061d1
jmp 0x405faa
mov edx, dword [ebp - 0x770]
mov dword [ebp - 0x510], edx
mov eax, dword [ebp - 0x510]
mov dword [ebp - 0x79c], eax