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

Disassembly:
add esp, 4
or edi, 0x13ea9
sub edi, 0x5236
pop edi
imul eax, dword [ebp - 0x6c], 0xe9
add eax, 0x15f3673a
imul ecx, dword [ebp - 0x6c], 0xe9
sub eax, ecx
xor eax, 0x1154
imul eax, dword [ebp - 0x6c]
imul edx, dword [ebp - 0x6c], 0xe9
sub eax, edx
mov dword [ebp - 0x70], eax
push edx
push esi
add esp, 4
jmp 0x40d2ef
jmp 0x40d2f4
or edx, 0xd736
jmp 0x40d2ff
pop edx
push esi
add esi, 0xb2cf
sub esi, 0x46cc
or esi, 0x3544
pop esi
push ecx
add ecx, 0x10b9e
or ecx, 0x14a5d
xor ecx, 0x4766
pop ecx
push eax
push edi
add esp, 4
add eax, 0x1823c
pop eax
push ebx
push esi
add esp, 4
or ebx, 0x163f
add ebx, 0x7596
pop ebx
mov dword [ebp - 4], 1
push ecx
push edi
add esp, 4
xor ecx, 0x434d
and ecx, 0x11b5a
sub ecx, 0x8894
pop ecx
push eax
sub eax, 0x11677
pop eax
push edx
push edi
add esp, 4
sub edx, 0x10cbf
xor edx, 0x135c7
pop edx
imul eax, dword [ebp - 4], 0xe9
add eax, 0x15f3673a
imul ecx, dword [ebp - 4], 0xe9
sub eax, ecx
xor eax, 0
imul eax, dword [ebp - 4]
imul edx, dword [ebp - 4], 0xe9
sub eax, edx
mov dword [ebp - 8], eax
jmp 0x40d560
mov edx, dword [ebp - 0x8a8]
mov eax, dword [ebp - 0x8a4]
mov dword [ebp - 0xbb0], edx
mov dword [ebp - 0xbac], eax
push esi
call 0x40d589
add byte [ebp + 0x3b], cl
cmp dword [ebx], edi
inc edi
inc eax
cmp al, 0x42
dec edx
dec esi
add esp, 4
or esi, 0xb050
sub esi, 0x10663
call 0x40d5a6
add byte [esi], dh
xor eax, 0x324b4146
inc esp
add esp, 4
pop esi
push edx
add edx, 0x11798
add edx, 0x11efe
pop edx
push ecx
jmp 0x40d5c1
xor ecx, 0xfda9
and ecx, 0x432f
or ecx, 0x15eb9
pop ecx
push esi
and esi, 0x149ee
pop esi
mov ecx, dword [ebp - 8]
add ecx, 0xe9
imul edx, dword [ebp - 4], 0xe9
add edx, 0x15f3673a
imul eax, dword [ebp - 4], 0xe9
sub edx, eax
xor ecx, edx
imul ecx, dword [ebp - 4]
mov dword [ebp - 0x10d4], ecx
push edx
push eax
add esp, 4
or edx, 0xb91e
pop edx
push eax
add eax, 0x1579c
xor eax, 0x13c8c
pop eax
push ebx
call 0x40d62f
add byte [ecx], bh
dec ecx
cmp eax, 0x35364c45
add esp, 4
xor ebx, 0xcff8
pop ebx
mov ecx, dword [ebp - 0xbb0]
add ecx, 0xe9
imul edx, dword [ebp - 0xbac], 0xe9
add edx, 0x15f3673a
imul eax, dword [ebp - 0xbac], 0xe9
sub edx, eax
xor ecx, edx
imul ecx, dword [ebp - 0xbac]
mov dword [ebp - 0x10d0], ecx
mov ecx, dword [ebp - 0x10d0]
mov dword [ebp - 0x10d8], ecx
mov edx, dword [ebp - 0x10d4]
cmp edx, dword [ebp - 0x10d8]
jae 0x40d696
mov dword [ebp - 0xb1c], 1
jmp 0x40d6a0
mov dword [ebp - 0xb1c], 0
mov al, byte [ebp - 0xb1c]
mov byte [ebp - 0x219], al
movzx ecx, byte [ebp - 0x219]
test ecx, ecx
je 0x410d05
lea edx, [ebp - 0x568]
mov dword [ebp - 0x22c], edx
mov eax, dword [ebp - 0x22c]
mov dword [eax + 4], 1
push esi
sub esi, 0x1912
pop esi
push ecx
push edx
add esp, 4
jmp 0x40d6e6
or ecx, 0x134b9
pop ecx
push edx
push esi
add esp, 4
xor edx, 0x9e51
or edx, 0x9328
jmp 0x40d705
pop edx
mov ecx, dword [ebp - 0x22c]
imul edx, dword [ecx + 4], 0xe9
add edx, 0x15f3673a
mov eax, dword [ebp - 0x22c]
imul ecx, dword [eax + 4], 0xe9
sub edx, ecx
xor edx, 0x2d
mov eax, dword [ebp - 0x22c]
imul edx, dword [eax + 4]
mov ecx, dword [ebp - 0x22c]
imul eax, dword [ecx + 4], 0xe9
sub edx, eax
mov ecx, dword [ebp - 0x22c]
mov dword [ecx], edx
mov edx, dword [ebp - 0x22c]
mov dword [ebp - 0x1268], edx
push ebx
push esi
add esp, 4
add ebx, 0x54a6
sub ebx, 0x13f04
or ebx, 0x101c5
pop ebx
push ecx
add ecx, 0xbd93
or ecx, 0x14378
sub ecx, 0x11d4
sub ecx, 0x4d8e
pop ecx
mov dword [ebp - 0x68c], 1
push edx
or edx, 0x13566
add edx, 0x2dac
xor edx, 0x12b77
pop edx
push ebx
push ebx
add esp, 4
and ebx, 0x48a2
or ebx, 0x337
xor ebx, 0xc245
and ebx, 0xe003
pop ebx
mov dword [ebp - 0x126c], 0x42
push edi
push eax
add esp, 4
and edi, 0x16274
add edi, 0x91c7
xor edi, 0x11ad4
xor edi, 0xb909
pop edi
push eax
xor eax, 0x18370
add eax, 0x161f3
sub eax, 0xf0de
pop eax
mov dword [ebp - 0x1270], 0x21
push edi
push ebx
add esp, 4
add edi, 0x200f
call 0x40d827
add byte [ebx + 0x47], cl
inc esp
cmp byte [ebp + 0x3a], cl
aaa
inc ebx
dec esi
add esp, 4
call 0x40d83a
add byte [eax + 0x3d], dl
inc ecx
inc edx
inc edi
dec ebx
inc eax
cmp edi, dword [esi]
aas
add esp, 4
pop edi
mov dword [ebp - 0x1274], 0xc
push ebx
push esi
add esp, 4
sub ebx, 0x1413e
call 0x40d861
add byte [eax + eax*2], dh
inc esp
cmp byte [eax + 0x39], cl
inc ebx
inc eax
add esp, 4
pop ebx
push edi
jmp 0x40d86d
sub edi, 0xa4f8
and edi, 0xdae7
pop edi
mov eax, dword [ebp - 0x568]
add eax, 0xe9
imul ecx, dword [ebp - 0x564], 0xe9
add ecx, 0x15f3673a
imul edx, dword [ebp - 0x564], 0xe9
sub ecx, edx
xor eax, ecx
imul eax, dword [ebp - 0x564]
mov dword [ebp - 0x10dc], eax
mov eax, dword [ebp - 0x10dc]
mov dword [ebp - 0x10e0], eax
mov ecx, dword [ebp - 0x10e0]
sub ecx, 0x42
mov dword [ebp - 0x10e4], ecx
mov dword [ebp - 0x5c8], 1
push ecx
push edi
add esp, 4
call 0x40d8e6
add byte [edi + 0x33], cl
xor al, byte ds:[edi + 0x44]
add esp, 4
jmp 0x40d8f2
add ecx, 0xb663
pop ecx
push eax
xor eax, 0x42e
add eax, 0x12665
pop eax
imul edx, dword [ebp - 0x5c8], 0xe9
add edx, 0x15f3673a
imul eax, dword [ebp - 0x5c8], 0xe9
sub edx, eax
xor edx, dword [ebp - 0x10e4]
imul edx, dword [ebp - 0x5c8]
imul ecx, dword [ebp - 0x5c8], 0xe9
sub edx, ecx
mov dword [ebp - 0x5cc], edx
push ecx
and ecx, 0x17be3
pop ecx
push ecx
push edx
add esp, 4
and ecx, 0x69c5
add ecx, 0x8e61
pop ecx
push ebx
jmp 0x40d964
add ebx, 0x6a37
jmp 0x40d973
pop ebx
push ebx
push eax
add esp, 4
call 0x40d985
add byte [esi], dh
dec ebp
inc ebx
cmp byte [edi], dh
xor eax, dword [ebx + 0x6eb04c4]
dec ebx
aaa
inc edx
push eax
inc ebx
or ebx, 0x7528
jmp 0x40d99d
pop ebx
push ebx
jmp 0x40d9a5
pop ebx
mov dword [ebp - 0x5d0], 1
push ebx
push eax
add esp, 4
sub ebx, 0x6745
or ebx, 0x7edc
call 0x40d9d1
add byte [eax + 0x3c], cl
xor eax, 0x3f403644
dec esp
inc ebx
inc eax
add esp, 4
pop ebx
push esi
push ebx
add esp, 4
jmp 0x40d9e1
pop esi
imul edx, dword [ebp - 0x5d0], 0xe9
add edx, 0x15f3673a
imul eax, dword [ebp - 0x5d0], 0xe9
sub edx, eax
xor edx, 0x21
imul edx, dword [ebp - 0x5d0]
imul ecx, dword [ebp - 0x5d0], 0xe9
sub edx, ecx
mov dword [ebp - 0x5d4], edx
push edi
push esi
add esp, 4
add edi, 0x8861
add edi, 0x153ab
pop edi
push edi
call 0x40da3a
add byte [edi], dh
inc edx
dec esp
aaa
dec ebp
inc edi
inc ebp
add esp, 4
pop edi
push ecx
xor ecx, 0x736c
sub ecx, 0x1885
pop ecx
push ebx
call 0x40da5c
add byte [edi + 0x43], al
cmp dword [edx + ecx*2], edi
inc esp
inc ecx
dec esp
inc ebx
add esp, 4
call 0x40da6c
add byte [ecx + 0x43], al
xor eax, 0x41423f47
add esp, 4
xor ebx, 0x16b2
pop ebx
push edx
or edx, 0x6318
pop edx
mov edx, dword [ebp - 0x568]
add edx, 0xe9
imul eax, dword [ebp - 0x564], 0xe9
add eax, 0x15f3673a
imul ecx, dword [ebp - 0x564], 0xe9
sub eax, ecx
xor edx, eax
imul edx, dword [ebp - 0x564]
mov dword [ebp - 0x10e8], edx
mov edx, dword [ebp - 0x10e8]
mov dword [ebp - 0x10ec], edx
mov eax, dword [ebp - 0x10ec]
sub eax, 0xc
mov dword [ebp - 0x10f0], eax
mov dword [ebp - 0x5c0], 1
push edi
push ebx
add esp, 4
call 0x40daee
add byte [ebx + 0x39], al
inc ebp
xor cl, byte [ebx + 0x40]
dec eax
dec ebp
dec edi
inc ebx
add esp, 4
sub edi, 0x1295d
call 0x40db07
add byte [esi], bh
inc edi
inc esi
dec ebx
xor al, byte [edi + 0x4d]
dec esp
cmp al, 0x83
les eax, [edi + ebx*2]
imul ecx, dword [ebp - 0x5c0], 0xe9
add ecx, 0x15f3673a
imul edx, dword [ebp - 0x5c0], 0xe9
sub ecx, edx
xor ecx, dword [ebp - 0x10f0]
imul ecx, dword [ebp - 0x5c0]
imul eax, dword [ebp - 0x5c0], 0xe9
sub ecx, eax
mov dword [ebp - 0x5c4], ecx
push esi
xor esi, 0x1092b
add esi, 0x16
and esi, 0xfee2
sub esi, 0x5f0a
pop esi
push ecx
push ecx
add esp, 4
and ecx, 0xe8ca
sub ecx, 0x68cf
xor ecx, 0xafaa
pop ecx
mov dword [ebp - 0xd0], 1
push esi
push esi
add esp, 4
jmp 0x40db90
or esi, 0x17cc6
pop esi
push ebx
add ebx, 0x8a37
call 0x40dbaa
add byte [0x3d3c4950], bh
inc ebx
add esp, 4
or ebx, 0x284d
pop ebx
imul ecx, dword [ebp - 0xd0], 0xe9
add ecx, 0x15f3673a
imul edx, dword [ebp - 0xd0], 0xe9
sub ecx, edx
xor ecx, 5
imul ecx, dword [ebp - 0xd0]
imul eax, dword [ebp - 0xd0], 0xe9
sub ecx, eax
mov dword [ebp - 0xd4], ecx
push ecx
push ecx
add esp, 4
sub ecx, 0xbd82
and ecx, 0x12c3f
add ecx, 0x17d82
pop ecx
push edi
push ecx
add esp, 4
sub edi, 0x11cb4
xor edi, 0x12497
pop edi
push ebx
sub ebx, 0x11f43
pop ebx
mov dword [ebp - 0x1c], 1
push eax
or eax, 0x146b9
sub eax, 0x9137
pop eax
push eax
push ecx
add esp, 4
and eax, 0xd50b
sub eax, 0x163c
or eax, 0x1312f
pop eax
push ecx
push eax
add esp, 4
xor ecx, 0x15402
pop ecx
imul ecx, dword [ebp - 0x1c], 0xe9
add ecx, 0x15f3673a
imul edx, dword [ebp - 0x1c], 0xe9
sub ecx, edx
xor ecx, 0
imul ecx, dword [ebp - 0x1c]
imul eax, dword [ebp - 0x1c], 0xe9
sub ecx, eax
mov dword [ebp - 0x20], ecx
jmp 0x40de39
mov eax, dword [ebp - 0x568]
mov ecx, dword [ebp - 0x564]
mov dword [ebp - 0xbc0], eax
mov dword [ebp - 0xbbc], ecx
push ebx
push eax
add esp, 4
or ebx, 0x15783
sub ebx, 0x3477
sub ebx, 0x10564
pop ebx
push edx
push edx
add esp, 4
jmp 0x40de73
jmp 0x40de79
jmp 0x40de82
pop edx
push edx
jmp 0x40de89
or edx, 0x127e3
xor edx, 0x12f17
xor edx, 0x15ac4
pop edx
push edx
push esi
add esp, 4
add edx, 0x4d82
jmp 0x40deae
or edx, 0x15ff2
pop edx
mov edx, dword [ebp - 0x20]
add edx, 0xe9
imul eax, dword [ebp - 0x1c], 0xe9
add eax, 0x15f3673a
imul ecx, dword [ebp - 0x1c], 0xe9
sub eax, ecx
xor edx, eax
imul edx, dword [ebp - 0x1c]
mov dword [ebp - 0x1100], edx
push ecx
push edx
add esp, 4
add ecx, 0xeb9
jmp 0x40deef
pop ecx
push ebx
push ebx
add esp, 4
sub ebx, 0x7323
or ebx, 0xaad4
pop ebx
push edi
push esi
add esp, 4
jmp 0x40df10
pop edi
mov edx, dword [ebp - 0xbc0]
add edx, 0xe9
imul eax, dword [ebp - 0xbbc], 0xe9
add eax, 0x15f3673a
imul ecx, dword [ebp - 0xbbc], 0xe9
sub eax, ecx
xor edx, eax
imul edx, dword [ebp - 0xbbc]
mov dword [ebp - 0x10fc], edx
mov edx, dword [ebp - 0x10fc]
mov dword [ebp - 0x1104], edx
mov eax, dword [ebp - 0x1100]
cmp eax, dword [ebp - 0x1104]
jae 0x40df6d
mov dword [ebp - 0xb24], 1
jmp 0x40df77
mov dword [ebp - 0xb24], 0
mov cl, byte [ebp - 0xb24]
mov byte [ebp - 0x200], cl
movzx edx, byte [ebp - 0x200]
test edx, edx
je 0x40e6a8
push ebx
push ebx
add esp, 4
xor ebx, 0x170ba
and ebx, 0xe6bf
call 0x40dfb2
add byte [esi], bh
inc ebx
dec eax
cmp bh, byte [ebx]
inc ebp
cmp al, 0x34
inc ebp
add esp, 4
sub ebx, 0x154a2
pop ebx
push ebx
sub ebx, 0x2beb
pop ebx
mov eax, dword [ebp - 0x20]
add eax, 0xe9
imul ecx, dword [ebp - 0x1c], 0xe9
add ecx, 0x15f3673a
imul edx, dword [ebp - 0x1c], 0xe9
sub ecx, edx
xor eax, ecx
imul eax, dword [ebp - 0x1c]
mov dword [ebp - 0x1108], eax
mov eax, dword [ebp - 0x1108]
mov dword [ebp - 0x1114], eax
push edi
push ecx
add esp, 4
jmp 0x40e005
sub edi, 0x1499e
sub edi, 0x119ec
pop edi
push ebx
xor ebx, 0xd2
sub ebx, 0x903a
and ebx, 0x3da8
sub ebx, 0x5442
pop ebx
mov ecx, dword [ebp - 0x5cc]
add ecx, 0xe9
imul edx, dword [ebp - 0x5c8], 0xe9
add edx, 0x15f3673a
imul eax, dword [ebp - 0x5c8], 0xe9
sub edx, eax
xor ecx, edx
imul ecx, dword [ebp - 0x5c8]
mov dword [ebp - 0x110c], ecx
invalid
invalid
hlt
out dx, al
invalid