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

Disassembly:
call 0x40663f
add byte [edx], dh
dec ecx
cmp edi, dword [esi]
cmp dword [eax + edx*2], esi
cmp byte [ebp - 0x7d], cl
les eax, [ebx + ebp*8]
pop es
push eax
dec ebx
aaa
push eax
dec ebx
pop eax
push edx
or edx, 0x36e1
pop edx
cmp dword [ebp - 0x6ec], 0
jne 0x40669e
push ecx
xor ecx, 0x11325
pop ecx
push ebx
push edx
add esp, 4
sub ebx, 0x1015c
xor ebx, 0x4e60
and ebx, 0xad40
pop ebx
push eax
push esi
add esp, 4
xor eax, 0xc4a6
and eax, 0xe233
pop eax
mov dword [ebp - 0x738], 0
jmp 0x4071c5
push esi
sub esi, 0x11345
add esi, 0x13a69
sub esi, 0xdc99
pop esi
push edi
push edx
add esp, 4
xor edi, 0xd41a
sub edi, 0xde4d
or edi, 0xd4fb
add edi, 0x3ba6
pop edi
mov eax, dword [ebp - 0x6ec]
mov ecx, dword [eax + 0x18]
mov dword [ebp - 0x2f8], ecx
mov dword [ebp - 0x6fc], 0
mov edx, dword [ebp - 0x2f8]
mov dword [ebp - 0x14e8], edx
cmp dword [ebp - 0x14e8], 0
jne 0x40670f
mov eax, dword [ebp - 0x6fc]
mov dword [ebp - 0x3c4], eax
jmp 0x406a00
mov ecx, dword [ebp - 0x14e8]
mov edx, dword [ebp - 0x2f8]
add edx, dword [ecx + 0x3c]
mov dword [ebp - 0x14ec], edx
jne 0x406737
mov eax, dword [ebp - 0x6fc]
mov dword [ebp - 0x3c4], eax
jmp 0x406a00
mov ecx, 8
imul edx, ecx, 0
mov eax, dword [ebp - 0x14ec]
mov ecx, dword [eax + edx + 0x78]
mov dword [ebp - 0x14f0], ecx
cmp dword [ebp - 0x14f0], 0
jne 0x406769
mov edx, dword [ebp - 0x6fc]
mov dword [ebp - 0x3c4], edx
jmp 0x406a00
mov eax, dword [ebp - 0x2f8]
add eax, dword [ebp - 0x14f0]
mov dword [ebp - 0x6f0], eax
jne 0x40678e
mov ecx, dword [ebp - 0x6fc]
mov dword [ebp - 0x3c4], ecx
jmp 0x406a00
mov edx, dword [ebp - 0x6f0]
mov eax, dword [ebp - 0x2f8]
add eax, dword [edx + 0x20]
mov dword [ebp - 0x18a0], eax
mov ecx, dword [ebp - 0x6f0]
mov edx, dword [ebp - 0x2f8]
add edx, dword [ecx + 0x24]
mov dword [ebp - 0x18a4], edx
mov eax, dword [ebp - 0x6f0]
mov ecx, dword [ebp - 0x2f8]
add ecx, dword [eax + 0x1c]
mov dword [ebp - 0x18a8], ecx
mov dword [ebp - 0x6f4], 0
jmp 0x4067e8
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 0x4069f4
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 0x406858
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 0x40690a
mov ecx, dword [ebp - 0x180]
movsx edx, byte [ebp + ecx - 0x820]
test edx, edx
je 0x40690a
push ebx
push esi
add esp, 4
call 0x406898
add byte [ebx], dh
inc ebp
cmp esi, dword [edx]
cmp esi, dword [eax + ecx*2]
cmp al, byte [ebx + 0x7e804c4]
add byte [eax], al
add byte [eax], al
add byte [edi], dh
inc ebx
aas
dec eax
inc ebx
inc ebp
add esp, 4
pop ebx
push edi
push edi
add esp, 4
or edi, 0x13a36
pop edi
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 0x4068fc
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 0x406903
jmp 0x406849
jmp 0x40690a
push edi
xor edi, 0xabf2
call 0x40691e
add byte [esi], dh
cmp ecx, dword [esi + 0x4d]
inc ebx
inc edx
dec ebp
add esp, 4
pop edi
push eax
sub eax, 0xf43a
and eax, 0x165c8
add eax, 0x41d4
xor eax, 0x8052
pop eax
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 0x406969
mov dword [ebp - 0xc30], 0
jmp 0x4069d8
push edx
or edx, 0x4396
pop edx
push eax
push ecx
add esp, 4
sub eax, 0xca67
pop eax
push edi
jmp 0x406984
pop edi
push edi
or edi, 0xd2ef
or edi, 0x7649
pop edi
push edx
jmp 0x40699a
pop edx
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 0x4069ce
mov dword [ebp - 0xc30], 0xffffffff
jmp 0x4069d8
mov dword [ebp - 0xc30], 1
cmp dword [ebp - 0xc30], 0
jne 0x4069ef
mov ecx, dword [ebp - 0x18ac]
mov dword [ebp - 0x3c4], ecx
jmp 0x406a00
jmp 0x4067d9
mov edx, dword [ebp - 0x6fc]
mov dword [ebp - 0x3c4], edx
cmp dword [ebp - 0x3c4], 0
je 0x406adb
push edx
and edx, 0x18008
call 0x406a21
add byte [ebx + eax*2 + 0x50], cl
cmp bh, byte [edx]
dec ebx
dec esp
add esp, 4
xor edx, 0x141c4
pop edx
push edx
and edx, 0xcaf2
and edx, 0xf711
or edx, 0x17f3b
pop edx
mov eax, dword [ebp - 0x3c4]
mov dword [ebp - 0x18b0], eax
push edi
push eax
add esp, 4
and edi, 0xb5f4
sub edi, 0x6f2d
pop edi
push ebx
xor ebx, 0xe51d
and ebx, 0x109e8
add ebx, 0x42f3
pop ebx
push eax
push edx
add esp, 4
add eax, 0xab51
pop eax
mov ecx, dword [ebp - 0x18b0]
mov dword [ebp - 0x18b4], ecx
lea edx, [ebp - 0x1628]
push edx
call dword [ebp - 0x18b4]
test eax, eax
jne 0x406adb
push esi
push ecx
add esp, 4
and esi, 0x10411
pop esi
push esi
jmp 0x406aaf
and esi, 0x6fd4
call 0x406ac2
add byte [esi], dh
cmp byte [ebx + 0x3a], al
cmp al, 0x3f
aaa
add esp, 4
and esi, 0x17c00
pop esi
mov dword [ebp - 0x738], 0
jmp 0x4071c5
push ecx
xor ecx, 0x69ea
xor ecx, 0x651a
pop ecx
push ebx
and ebx, 0xdaa5
add ebx, 0xd67c
jmp 0x406afb
pop ebx
push edi
call 0x406b09
add byte [eax], al
add byte [esi + 0x4a], al
cmp dword ds:[esi + 0x36], ecx
add esp, 4
pop edi
mov eax, dword fs:[0x18]
mov dword [ebp - 0x18b8], eax
mov ecx, dword [ebp - 0x18b8]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0x18bc], edx
mov eax, dword [ebp - 0x18bc]
mov dword [ebp - 0x14f4], eax
push edi
push edx
add esp, 4
or edi, 0xffc2
add edi, 0x16acf
pop edi
push ebx
push ebx
add esp, 4
xor ebx, 0x1262b
jmp 0x406b56
pop ebx
push ebx
add ebx, 0xd148
jmp 0x406b65
pop ebx
cmp dword [ebp - 0x14f4], 0
jne 0x406b7e
mov dword [ebp - 0x2e0], 0
jmp 0x406e25
mov ecx, dword [ebp - 0x14f4]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xc3c], eax
push ecx
push ebx
add esp, 4
and ecx, 0xe487
add ecx, 0x1261
and ecx, 0x3a7f
jmp 0x406bad
pop ecx
push ebx
push edi
add esp, 4
xor ebx, 0xa22f
pop ebx
push ecx
add ecx, 0x7456
pop ecx
cmp dword [ebp - 0xc3c], 0
jne 0x406bda
mov dword [ebp - 0x2e0], 0
jmp 0x406e25
mov ecx, dword [ebp - 0xc3c]
mov dword [ebp - 0x4dc], ecx
push edi
xor edi, 0xbc4b
and edi, 0x15482
pop edi
push edi
push edi
add esp, 4
or edi, 0xfec6
or edi, 0x14413
pop edi
push esi
push esi
add esp, 4
and esi, 0xbbde
xor esi, 0x418f
pop esi
lea edx, [ebp - 0x1628]
mov dword [ebp - 0xc38], edx
mov eax, dword [ebp - 0x4dc]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0xc34], ecx
xor edx, edx
mov word [ebp - 0x200], dx
xor eax, eax
mov word [ebp - 0x34], ax
push ebx
push eax
add esp, 4
xor ebx, 0xe174
or ebx, 0x6a30
sub ebx, 0x17d13
pop ebx
push esi
or esi, 0xfa32
pop esi
push ebx
push ebx
add esp, 4
or ebx, 0x5a62
add ebx, 0xeba
pop ebx
mov ecx, dword [ebp - 0xc34]
mov dx, word [ecx]
mov word [ebp - 0xf86], dx
mov eax, dword [ebp - 0xc34]
add eax, 2
mov dword [ebp - 0xc34], eax
mov cx, word [ebp - 0xf86]
mov word [ebp - 0x200], cx
mov edx, dword [ebp - 0xc38]
mov ax, word [edx]
mov word [ebp - 0xf88], ax
mov ecx, dword [ebp - 0xc38]
add ecx, 2
mov dword [ebp - 0xc38], ecx
mov dx, word [ebp - 0xf88]
mov word [ebp - 0x34], dx
push esi
call 0x406cdc
add byte [ebp + 0x3e], cl
xor ecx, dword [ecx + 0x3b]
dec edx
cmp dword [edx], edi
inc edi
dec ebp
add esp, 4
call 0x406ced
add byte [edi], bh
dec eax
xor ecx, dword [edi + 0x50]
inc esp
dec ebp
add esp, 4
pop esi
push edx
push ecx
add esp, 4
sub edx, 0x15faf
pop edx
movzx eax, word [ebp - 0x34]
test eax, eax
jne 0x406d1a
movzx ecx, word [ebp - 0x200]
movzx edx, word [ebp - 0x34]
sub ecx, edx
mov dword [ebp - 0x14fc], ecx
jmp 0x406d74
movzx eax, word [ebp - 0x200]
movzx ecx, word [ebp - 0x34]
cmp eax, ecx
je 0x406c42
movzx edx, word [ebp - 0x200]
xor edx, 0x20
movzx eax, word [ebp - 0x34]
cmp edx, eax
je 0x406c42
movzx ecx, word [ebp - 0x200]
movzx edx, word [ebp - 0x34]
cmp ecx, edx
jge 0x406d5e
mov dword [ebp - 0x14f8], 0xffffffff
jmp 0x406d68
mov dword [ebp - 0x14f8], 1
mov eax, dword [ebp - 0x14f8]
mov dword [ebp - 0x14fc], eax
cmp dword [ebp - 0x14fc], 0
jne 0x406dbd
push ebx
add ebx, 0x12746
xor ebx, 0x342
call 0x406d97
add byte [esi], dh
cmp eax, dword [eax + 0x4f]
cmp edi, dword [0x4c48340]
sub ebx, 0x10112
pop ebx
push edx
and edx, 0x10d45
and edx, 0x14e71
pop edx
mov ecx, dword [ebp - 0x4dc]
mov dword [ebp - 0x2e0], ecx
jmp 0x406e25
push ecx
add ecx, 0xc16c
pop ecx
push ecx
push esi
add esp, 4
and ecx, 0xc8e7
jmp 0x406dd7
jmp 0x406ddc
sub ecx, 0xe7b6
pop ecx
push eax
push esi
add esp, 4
xor eax, 0x106da
pop eax
mov edx, dword [ebp - 0x4dc]
mov eax, dword [edx]
mov dword [ebp - 0x4dc], eax
mov ecx, dword [ebp - 0x4dc]
cmp ecx, dword [ebp - 0xc3c]
je 0x406e1b
mov edx, dword [ebp - 0x4dc]
cmp dword [edx + 0x30], 0
jne 0x406be6
mov dword [ebp - 0x2e0], 0
push ebx
call 0x406e36
add byte [ecx], bh
dec ebx
cmp eax, 0x36385033
inc edx
inc eax
add esp, 4
xor ebx, 0x16bb7
call 0x406e4c
add byte [eax + 0x42], dl
xor bh, byte ds:[eax]
dec edx
inc edi
add esp, 4
jmp 0x406e56
invalid
pop ebx
mov eax, dword [ebp - 0x2e0]
mov ecx, dword [eax + 0x18]
mov dword [ebp - 0x2fc], ecx
push edi
push ebx
add esp, 4
and edi, 0xce06
or edi, 0x262d
add edi, 0x1566a
and edi, 0x10e93
pop edi
push ecx
or ecx, 0x78a1
pop ecx
push ebx
push edi
add esp, 4
xor ebx, 0xf76f
pop ebx
mov dword [ebp - 0x70c], 0
mov edx, dword [ebp - 0x2fc]
mov dword [ebp - 0x1500], edx
cmp dword [ebp - 0x1500], 0
jne 0x406ec8
mov eax, dword [ebp - 0x70c]
mov dword [ebp - 0x4e0], eax
jmp 0x4071b9
mov ecx, dword [ebp - 0x1500]
mov edx, dword [ebp - 0x2fc]
add edx, dword [ecx + 0x3c]
mov dword [ebp - 0x1504], edx
jne 0x406ef0
invalid