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

Disassembly:
add esp, 4
pop ebx
push edi
jmp 0x40b652
pop edi
push ecx
push esi
add esp, 4
or ecx, 0x14faf
pop ecx
push ebx
and ebx, 0x5314
pop ebx
mov eax, dword [ebp - 0x754]
mov ecx, dword [eax + 0x18]
mov dword [ebp - 0x320], ecx
mov dword [ebp - 0x764], 0
mov edx, dword [ebp - 0x320]
mov dword [ebp - 0x15f8], edx
cmp dword [ebp - 0x15f8], 0
jne 0x40b6a6
mov eax, dword [ebp - 0x764]
mov dword [ebp - 0x3f8], eax
jmp 0x40b997
mov ecx, dword [ebp - 0x15f8]
mov edx, dword [ebp - 0x320]
add edx, dword [ecx + 0x3c]
mov dword [ebp - 0x15fc], edx
jne 0x40b6ce
mov eax, dword [ebp - 0x764]
mov dword [ebp - 0x3f8], eax
jmp 0x40b997
mov ecx, 8
imul edx, ecx, 0
mov eax, dword [ebp - 0x15fc]
mov ecx, dword [eax + edx + 0x78]
mov dword [ebp - 0x1600], ecx
cmp dword [ebp - 0x1600], 0
jne 0x40b700
mov edx, dword [ebp - 0x764]
mov dword [ebp - 0x3f8], edx
jmp 0x40b997
mov eax, dword [ebp - 0x320]
add eax, dword [ebp - 0x1600]
mov dword [ebp - 0x758], eax
jne 0x40b725
mov ecx, dword [ebp - 0x764]
mov dword [ebp - 0x3f8], ecx
jmp 0x40b997
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 0x40b77f
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 0x40b98b
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 0x40b7ef
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 0x40b8a1
mov ecx, dword [ebp - 0x194]
movsx edx, byte [ebp + ecx - 0x898]
test edx, edx
je 0x40b8a1
push ecx
call 0x40b82d
add byte [ecx + 0x41], cl
cmp al, byte [edx + 0x3f]
inc ecx
aaa
cmp cl, byte ss:[eax - 0x7d]
les eax, [ecx + ebx*2]
push ecx
push eax
add esp, 4
sub ecx, 0xec7
call 0x40b84a
add byte [ebx], dh
push eax
inc ebp
inc edx
dec eax
xor cl, byte [edx + 0x43]
add esp, 4
pop ecx
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 0x40b893
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 0x40b89a
jmp 0x40b7e0
jmp 0x40b8a1
push esi
and esi, 0xbae2
pop esi
push esi
jmp 0x40b8b2
call 0x40b8c2
add byte [edx + ecx*2], bh
cmp cl, byte ss:[edi + 0x44]
cmp dh, byte [esi]
dec esp
inc eax
add esp, 4
sub esi, 0xba25
jmp 0x40b8d2
pop esi
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 0x40b900
mov dword [ebp - 0xcac], 0
jmp 0x40b96f
push edi
push ecx
add esp, 4
call 0x40b914
add byte [edi + 0x33], cl
aaa
xor al, 0x3e
dec ebp
dec esi
cmp eax, 0x4c4833b
pop edi
push ecx
push ecx
add esp, 4
sub ecx, 0x167c9
jmp 0x40b92b
xor ecx, 0x437f
pop ecx
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 0x40b965
mov dword [ebp - 0xcac], 0xffffffff
jmp 0x40b96f
mov dword [ebp - 0xcac], 1
cmp dword [ebp - 0xcac], 0
jne 0x40b986
mov ecx, dword [ebp - 0x19a4]
mov dword [ebp - 0x3f8], ecx
jmp 0x40b997
jmp 0x40b770
mov edx, dword [ebp - 0x764]
mov dword [ebp - 0x3f8], edx
cmp dword [ebp - 0x3f8], 0
je 0x40ba72
push edx
xor edx, 0x10df0
pop edx
push edi
push eax
add esp, 4
xor edi, 0xb723
xor edi, 0x8f1a
xor edi, 0x33f1
and edi, 0xec60
pop edi
push eax
push edx
add esp, 4
and eax, 0x14759
pop eax
mov eax, dword [ebp - 0x3f8]
mov dword [ebp - 0x19a8], eax
push ebx
call 0x40b9f0
add byte [ebx], bh
xor esi, dword [0x3f433a42]
add esp, 4
or ebx, 0xa617
and ebx, 0x257c
pop ebx
push ecx
push eax
add esp, 4
xor ecx, 0x5ff0
pop ecx
push esi
xor esi, 0x99b0
pop esi
mov ecx, dword [ebp - 0x19a8]
mov dword [ebp - 0x19ac], ecx
lea edx, [ebp - 0x1740]
push edx
call dword [ebp - 0x19ac]
test eax, eax
jne 0x40ba72
push eax
call 0x40ba3f
add byte [edi], dh
aas
aaa
push eax
inc ecx
dec ebx
cmp eax, 0xeb04c483
add eax, 0x4a383532
cmp al, 0x81
lock add byte [edi], cl
add al, ch
or eax, dword [eax]
add byte [eax], al
add byte [esi], bh
push eax
inc ecx
cmp eax, 0x43434f44
cmp byte [esi - 0x7d], al
les eax, [eax + ebx*2]
mov dword [ebp - 0x7a0], 0
jmp 0x40c15c