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

Disassembly:
add esp, 4
add edi, 0x203d
pop edi
push edx
add edx, 0x120d7
sub edx, 0x2491
pop edx
mov eax, dword [ebp - 0x3fc]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0x400], ecx
push esi
and esi, 0x3757
call 0x40a4a1
add byte [eax + 0x46], cl
dec ebp
cmp edi, dword [edi]
inc esp
cmp al, byte [ebx + 0x515e04c4]
push edx
add esp, 4
and ecx, 0x8e3e
jmp 0x40a4b8
sub ecx, 0x15d6
pop ecx
mov edx, dword [ebp - 0x400]
mov dword [ebp - 0x2f8], edx
cmp dword [ebp - 0x2f8], 0
jne 0x40a515
push esi
or esi, 0x1653a
or esi, 0x7836
call 0x40a4f0
add byte [eax + 0x3d], cl
dec esi
inc eax
dec edi
push eax
cmp al, 0x3d
aaa
add esp, 4
pop esi
push ebx
push edi
add esp, 4
or ebx, 0xf9db
and ebx, 0x89c
pop ebx
mov dword [ebp - 0xec], 0
jmp 0x40a8aa
push edx
push ecx
add esp, 4
xor edx, 0xc7a9
call 0x40a52c
add byte [ebx], dh
dec esp
aas
inc ebx
dec eax
dec esp
add esp, 4
pop edx
push esi
push edx
add esp, 4
or esi, 0xa64e
or esi, 0xd72d
jmp 0x40a546
pop esi
mov eax, dword [ebp - 0x2f8]
mov ecx, dword [eax + 0xc]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0x244], edx
cmp dword [ebp - 0x244], 0
jne 0x40a5a3
push edx
jmp 0x40a568
jmp 0x40a56f
pop edx
push eax
push ecx
add esp, 4
jmp 0x40a57a
pop eax
push edi
push eax
add esp, 4
call 0x40a590
add byte [esi + eax*2], dh
cmp eax, 0x4e4e3d50
dec ecx
cmp byte [ebx - 0x38a0fb3c], al
test dword [edi + edi*8], edx
invalid
mov eax, dword [ebp - 0x244]
mov dword [ebp - 0xa4], eax
push esi
add esi, 0x6de9
pop esi
push eax
jmp 0x40a5c0
pop eax
push edx
push ecx
add esp, 4
sub edx, 0x11b81
pop edx
push esi
sub esi, 0x9de2
and esi, 0x12944
add esi, 0x1f7e
pop esi
lea ecx, [ebp - 0x3d8]
mov dword [ebp - 0x240], ecx
mov edx, dword [ebp - 0xa4]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0x23c], eax
push esi
or esi, 0x137b8
pop esi
push edx
push edx
add esp, 4
sub edx, 0x19ee
sub edx, 0x3f70
xor edx, 0x14765
call 0x40a62a
add byte [edi + 0x38], cl
xor edi, dword [0x41393847]
add esp, 4
pop edx
xor ecx, ecx
mov word [ebp - 0x64], cx
xor edx, edx
mov word [ebp - 0x18], dx
push eax
push edi
add esp, 4
xor eax, 0xa779
pop eax
push edi
call 0x40a654
add byte [esi + 0x32], al
aas
inc ebp
inc ebx
inc edi
cmp eax, 0x8104c483
invalid
cmp dword [ebp - 0xec], 0
jne 0x40a8f4
push ebx
push ebx
add esp, 4
and ebx, 0x3f38
call 0x40a8cc
add byte [eax + 0x34], dl
xor dh, byte [0x4f4a334c]
add esp, 4
add ebx, 0xb5e3
pop ebx
push ecx
add ecx, 0x5552
jmp 0x40a8e4
pop ecx
mov dword [ebp - 0x1bc], 0
jmp 0x40b9d6
mov edx, dword [ebp - 0xec]
mov eax, dword [edx + 0x18]
mov dword [ebp - 0x84], eax
mov dword [ebp - 0xfc], 0
push edi
push edi
add esp, 4
add edi, 0x1198a
pop edi
push ebx
push ebx
add esp, 4
xor ebx, 0xe57
sub ebx, 0x14d21
or ebx, 0x1528f
pop ebx
push eax
and eax, 0xbcdf
add eax, 0x137fc
pop eax
mov ecx, dword [ebp - 0x84]
mov dword [ebp - 0x304], ecx
cmp dword [ebp - 0x304], 0
jne 0x40a997
push edx
push esi
add esp, 4
xor edx, 0xba08
call 0x40a96e
add byte [ebx + esi], dh
cmp eax, dword [eax + 0x44]
cmp al, 0x3d
cmp eax, 0x4c48341
add edx, 0x3f2b
sub edx, 0x3474
pop edx
push esi
jmp 0x40a985
pop esi
mov edx, dword [ebp - 0xfc]
mov dword [ebp - 0x94], edx
jmp 0x40ae86
mov eax, dword [ebp - 0x304]
mov ecx, dword [ebp - 0x84]
add ecx, dword [eax + 0x3c]
mov dword [ebp - 0x308], ecx
jne 0x40a9bf
mov edx, dword [ebp - 0xfc]
mov dword [ebp - 0x94], edx
jmp 0x40ae86
push ecx
add ecx, 0x12efe
and ecx, 0x13c3d
pop ecx
push ebx
push eax
add esp, 4
call 0x40a9e1
add byte [esi], bh
dec ebp
dec eax
push eax
dec esp
cmp al, 0x42
inc ecx
dec esp
add esp, 4
xor ebx, 0x530e
xor ebx, 0xe7e2
pop ebx
mov eax, 8
imul ecx, eax, 0
mov edx, dword [ebp - 0x308]
mov eax, dword [edx + ecx + 0x78]
mov dword [ebp - 0x30c], eax
cmp dword [ebp - 0x30c], 0
jne 0x40aa55
push ebx
add ebx, 0x4e76
sub ebx, 0x1031b
sub ebx, 0x6667
pop ebx
push edi
push edi
add esp, 4
or edi, 0x15ca5
pop edi
push ebx
push esi
add esp, 4
add ebx, 0x1748c
xor ebx, 0x10ecb
pop ebx
mov ecx, dword [ebp - 0xfc]
mov dword [ebp - 0x94], ecx
jmp 0x40ae86
push edi
push edx
add esp, 4
call 0x40aa67
add byte [esp + ecx*2], bh
dec edx
xor dl, byte [eax + 0x33]
inc ecx
add esp, 4
or edi, 0x1345c
call 0x40aa7d
add byte [ebp + 0x50], cl
inc ecx
inc esp
xor eax, 0xc4834a4c
add al, 0xeb
add al, 0x43
xor al, 0x3f
inc eax
pop edi
mov edx, dword [ebp - 0x84]
add edx, dword [ebp - 0x30c]
mov dword [ebp - 0xf0], edx
jne 0x40aade
push edx
push edx
add esp, 4
call 0x40aaad
add byte [ebx + 0x48], al
xor al, 0x37
dec esi
inc ebx
dec ebx
add esp, 4
jmp 0x40aab9
pop edx
push edi
push edi
add esp, 4
xor edi, 0xd8ac
imul dword [eax + ebx*8 + 0x535f0000]
jmp 0x40aacc
pop ebx
mov eax, dword [ebp - 0xfc]
mov dword [ebp - 0x94], eax
jmp 0x40ae86
mov ecx, dword [ebp - 0xf0]
mov edx, dword [ebp - 0x84]
add edx, dword [ecx + 0x20]
mov dword [ebp - 0x404], edx
push edx
push eax
add esp, 4
call 0x40ab07
add byte [eax + 0x3a], al
dec edi
dec ebp
inc eax
inc edi
dec eax
inc eax
add esp, 4
sub edx, 0x48f1
pop edx
push esi
and esi, 0x173df
jmp 0x40ab1e
and esi, 0x1165c
pop esi
mov eax, dword [ebp - 0xf0]
mov ecx, dword [ebp - 0x84]
inc dword [ebx]
dec eax
and al, 0x89
invalid
clc
sti
invalid
call dword [ecx - 0x7f]
leave
or eax, 0x5900003e
add byte [ecx + 0x51], bl
xor ecx, 0xfc50
add ecx, 0xdc0e
pop ecx
push eax
jmp 0x40ab57
pop eax
push eax
or eax, 0x10fcd
add eax, 0x161b5
sal byte [ebp - 0x7efffe9f], 0xe0
adc byte [0x8b580000], bh
xchg ebp, eax
adc bh, bh
invalid
dec dword [ebx - 0x837b]
inc dword [ebx]
inc edx
sbb al, 0x89
test esp, esi
sti
invalid
inc edi
test dword [edi + edi*8], ecx
invalid
inc dword [eax]
add byte [eax], al
add bl, ch
invalid
mov ecx, dword [ebp - 0xf4]
add ecx, 1
mov dword [ebp - 0xf4], ecx
mov edx, dword [ebp - 0xf0]
mov eax, dword [ebp - 0xf4]
cmp eax, dword [edx + 0x18]
jae 0x40ae7a
push ebx
push ecx
add esp, 4
xor ebx, 0x127d2
xor ebx, 0x1286
pop ebx
push ecx
jmp 0x40abca
add ecx, 0x6e43
sub ecx, 0x1a2
pop ecx
push eax
push ecx
add esp, 4
jmp 0x40abe2
pop eax
mov ecx, dword [ebp - 0xf4]
mov edx, dword [ebp - 0x404]
mov eax, dword [ebp - 0x84]
test dword [edi + edi*8 - 1], edi
inc dword [ebx]
add al, 0x8a
mov dword [ebp - 0xf8], eax
push esi
xor esi, 0xcd90
not byte [eax + 0x5e0000cd]
push ecx
push eax
add esp, 4
sub ecx, 0x17588
add byte [ecx + 0x53], bl
push edx
add esp, 4
sub ebx, 0x104fb
or ebx, 0xca36
sub ebx, 0x17324
or ebx, 0x107ee
pop ebx
mov ecx, dword [ebp - 0xf4]
mov edx, dword [ebp - 0x408]
movzx eax, word [edx + ecx*2]
mov ecx, dword [ebp - 0x40c]
mov edx, dword [ebp - 0x84]
add edx, dword [ecx + eax*4]
mov dword [ebp - 0x410], edx
push edi
push edx
add esp, 4
or edi, 0x3922
or edi, 0x7c4a
add edi, 0x23b9
pop edi
push esi
sub esi, 0x6934
xor al, 0x69
add byte [eax], al
sub esi, 0xdf5a
sub esi, 0xf0ad
sub esi, 0xe7db
pop esi
mov dword [ebp - 0x38], 0
jmp 0x40ac99
mov eax, dword [ebp - 0x38]
add eax, 1
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp - 0xf8]
add ecx, dword [ebp - 0x38]
movsx edx, byte [ecx]
test edx, edx
je 0x40ad35
mov eax, dword [ebp - 0x38]
movsx ecx, byte [ebp + eax - 0x164]
test ecx, ecx
je 0x40ad35
push eax
sub eax, 0x7cc9
add eax, 0x178ce
or eax, 0x57d5
pop eax
push edi
push eax
add esp, 4
sub edi, 0x10d7d
xor edi, 0x11744
add edi, 0x40e6
add edi, 0x6a44
pop edi
mov edx, dword [ebp - 0xf8]
add edx, dword [ebp - 0x38]
movsx eax, byte [edx]
mov ecx, dword [ebp - 0x38]
movsx edx, byte [ebp + ecx - 0x164]
cmp eax, edx
je 0x40ad27
mov eax, dword [ebp - 0xf8]
add eax, dword [ebp - 0x38]
movsx ecx, byte [eax]
xor ecx, 0x20
mov edx, dword [ebp - 0x38]
movsx eax, byte [ebp + edx - 0x164]
cmp ecx, eax
jne 0x40ad2e
jmp 0x40ac90
jmp 0x40ad35
push esi
add esi, 0x16944
add esi, 0xbb59
pop esi
push edx
push ebx
add esp, 4
add edx, 0x15476
and edx, 0x5323
add edx, 0xc767
pop edx
push edx
push eax
add esp, 4
or edx, 0x73fe
pop edx
mov ecx, dword [ebp - 0xf8]
add ecx, dword [ebp - 0x38]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0x38]
movsx ecx, byte [ebp + eax - 0x164]
cmp edx, ecx
jne 0x40ad91
mov dword [ebp - 0x248], 0
jmp 0x40ae2c
push ebx
sub ebx, 0x1407f
pop ebx
push ecx
or ecx, 0x782b
xor ecx, 0x9f3c
pop ecx
push esi
push eax
add esp, 4
sub esi, 0x7da7
xor esi, 0x4e5d
pop esi
push ecx
jmp 0x40adc2
pop ecx
mov edx, dword [ebp - 0xf8]
add edx, dword [ebp - 0x38]
movsx eax, byte [edx]
or eax, 0x20
mov ecx, dword [ebp - 0x38]
movsx edx, byte [ebp + ecx - 0x164]
or edx, 0x20
cmp eax, edx
jge 0x40adf0
mov dword [ebp - 0x248], 0xffffffff
jmp 0x40ae2c
push esi
push eax
add esp, 4
jmp 0x40adfc
pop esi
push edx
push esi
add esp, 4
xor edx, 0x8acf
call 0x40ae15
add byte [edx], dh
dec ebx
xor bh, byte ds:[esi]
push eax
inc ebp
add esp, 4
pop edx
push ebx
jmp 0x40ae21
pop ebx
mov dword [ebp - 0x248], 1
cmp dword [ebp - 0x248], 0
jne 0x40ae75
push eax
jmp 0x40ae3d
jmp 0x40ae42
or eax, 0xede6
pop eax
push esi
push eax
add esp, 4
add esi, 0x3f04
add esi, 0x30a4
add esi, 0xa1e0
and esi, 0x178a9
pop esi
mov eax, dword [ebp - 0x410]
mov dword [ebp - 0x94], eax
jmp 0x40ae86
jmp 0x40ab8d
mov ecx, dword [ebp - 0xfc]
mov dword [ebp - 0x94], ecx
cmp dword [ebp - 0x94], 0
je 0x40af2f
push esi
or esi, 0x505d
pop esi
push ecx
sub ecx, 0xfafe
or ecx, 0x17295
pop ecx
push edx
xor edx, 0xde0d
pop edx
push edi
sub edi, 0xcfc5
xor edi, 0x15577
add edi, 0x8dbc
pop edi
mov edx, dword [ebp - 0x94]
mov dword [ebp - 0x414], edx
mov eax, dword [ebp - 0x414]
mov dword [ebp - 0x418], eax
lea ecx, [ebp - 0x2b0]
push ecx
call dword [ebp - 0x418]
test eax, eax
jne 0x40af2f
push esi
push ecx
add esp, 4
or esi, 0x741f
add esi, 0x5eb
or esi, 0x16dce
add esi, 0x12376
pop esi
push edi
or edi, 0x155ba
or edi, 0x6259
and edi, 0xe5e7
pop edi
mov dword [ebp - 0x1bc], 0
jmp 0x40b9d6