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

Disassembly:
mov ecx, dword [eax + edx + 0x78]
mov dword [ebp - 0x1600], ecx
cmp dword [ebp - 0x1600], 0
jne 0x406374
mov edx, dword [ebp - 0x764]
mov dword [ebp - 0x3f8], edx
jmp 0x40660b
mov eax, dword [ebp - 0x320]
add eax, dword [ebp - 0x1600]
mov dword [ebp - 0x758], eax
jne 0x406399
mov ecx, dword [ebp - 0x764]
mov dword [ebp - 0x3f8], ecx
jmp 0x40660b
mov edx, dword [ebp - 0x758]
mov eax, dword [ebp - 0x320]
add eax, dword [edx + 0x20]
mov dword [ebp - 0x1998], eax
mov ecx, dword [ebp - 0x758]
mov edx, dword [ebp - 0x320]
add edx, dword [ecx + 0x24]
mov dword [ebp - 0x199c], edx
mov eax, dword [ebp - 0x758]
mov ecx, dword [ebp - 0x320]
add ecx, dword [eax + 0x1c]
mov dword [ebp - 0x19a0], ecx
mov dword [ebp - 0x75c], 0
jmp 0x4063f3
mov edx, dword [ebp - 0x75c]
add edx, 1
mov dword [ebp - 0x75c], edx
mov eax, dword [ebp - 0x758]
mov ecx, dword [ebp - 0x75c]
cmp ecx, dword [eax + 0x18]
jae 0x4065ff
mov edx, dword [ebp - 0x75c]
mov eax, dword [ebp - 0x1998]
mov ecx, dword [ebp - 0x320]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x760], ecx
mov edx, dword [ebp - 0x75c]
mov eax, dword [ebp - 0x199c]
movzx ecx, word [eax + edx*2]
mov edx, dword [ebp - 0x19a0]
mov eax, dword [ebp - 0x320]
add eax, dword [edx + ecx*4]
mov dword [ebp - 0x19a4], eax
mov dword [ebp - 0x194], 0
jmp 0x406463
mov ecx, dword [ebp - 0x194]
add ecx, 1
mov dword [ebp - 0x194], ecx
mov edx, dword [ebp - 0x760]
add edx, dword [ebp - 0x194]
movsx eax, byte [edx]
test eax, eax
je 0x406515
mov ecx, dword [ebp - 0x194]
movsx edx, byte [ebp + ecx - 0x898]
test edx, edx
je 0x406515
push edx
add edx, 0x15a1a
and edx, 0x67e5
pop edx
push edi
push edx
add esp, 4
xor edi, 0x743f
call 0x4064b8
add byte [esi], bh
cmp al, byte [ecx + 0x3e]
xor bh, byte [eax]
inc ebx
dec esi
inc esp
add esp, 4
add edi, 0x159ab
pop edi
mov eax, dword [ebp - 0x760]
add eax, dword [ebp - 0x194]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x194]
movsx eax, byte [ebp + edx - 0x898]
cmp ecx, eax
je 0x406507
mov ecx, dword [ebp - 0x760]
add ecx, dword [ebp - 0x194]
movsx edx, byte [ecx]
xor edx, 0x20
mov eax, dword [ebp - 0x194]
movsx ecx, byte [ebp + eax - 0x898]
cmp edx, ecx
jne 0x40650e
jmp 0x406454
jmp 0x406515
push edx
push edx
add esp, 4
call 0x406527
add byte [esi], dh
cmp al, byte [edx + 0x3d]
xor al, byte [ebp + 0x43]
add esp, 4
call 0x406538
add byte [ebx + 0x4b], cl
aaa
inc edi
aaa
dec esi
aas
cmp al, byte [ebx + 0x535a04c4]
jmp 0x406546
pop ebx
mov edx, dword [ebp - 0x760]
add edx, dword [ebp - 0x194]
movsx eax, byte [edx]
mov ecx, dword [ebp - 0x194]
movsx edx, byte [ebp + ecx - 0x898]
cmp eax, edx
jne 0x406574
mov dword [ebp - 0xcac], 0
jmp 0x4065e3
push eax
push eax
add esp, 4
xor eax, 0x8b8e
xor eax, 0x13a43
and eax, 0xe54f
sub eax, 0x11956
pop eax
push eax
sub eax, 0x11aa7
xor eax, 0xbf84
and eax, 0xa9bb
pop eax
mov eax, dword [ebp - 0x760]
add eax, dword [ebp - 0x194]
movsx ecx, byte [eax]
or ecx, 0x20
mov edx, dword [ebp - 0x194]
movsx eax, byte [ebp + edx - 0x898]
or eax, 0x20
cmp ecx, eax
jge 0x4065d9
mov dword [ebp - 0xcac], 0xffffffff
jmp 0x4065e3
mov dword [ebp - 0xcac], 1
cmp dword [ebp - 0xcac], 0
jne 0x4065fa
mov ecx, dword [ebp - 0x19a4]
mov dword [ebp - 0x3f8], ecx
jmp 0x40660b
jmp 0x4063e4
mov edx, dword [ebp - 0x764]
mov dword [ebp - 0x3f8], edx