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

Disassembly:
mul dword [eax]
bound eax, qword [ecx]
add byte [edi + 0x50], bl
add eax, 0x11ebb
add eax, 0x17ed3
or eax, 0x3b22
pop eax
mov ecx, dword fs:[0x18]
mov dword [ebp - 0x6d0], ecx
mov edx, dword [ebp - 0x6d0]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0x6d4], eax
mov ecx, dword [ebp - 0x6d4]
mov dword [ebp - 0x4b4], ecx
push edi
push ecx
add esp, 4
add edi, 0xfb11
pop edi
push esi
push edx
add esp, 4
sub esi, 0x17cfe
or esi, 0xbfc4
and esi, 0x12200
or esi, 0xc173
pop esi
push edx
jmp 0x406b43
pop edx
cmp dword [ebp - 0x4b4], 0
jne 0x406b5c
mov dword [ebp - 0xa8], 0
jmp 0x406dde
mov edx, dword [ebp - 0x4b4]
mov eax, dword [edx + 0xc]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x2d4], ecx
push ecx
push edx
push ebx
call 0x406dee
add byte [edi + ecx*2 + 0x50], cl
inc ecx
inc esi
inc ebp
xor al, 0x47
cmp byte [ebx - 0x147efb3c], al
xchg ecx, eax
cmp al, byte [eax]
add al, ch
or byte [eax], al
add byte [eax], al
add byte [ebx + 0x43], cl
aas
cmp al, 0x40
add esp, 4
pop ebx
push esi
or esi, 0x11374
pop esi
cmp dword [ebp - 0xa8], 0
jne 0x40766f
mov edx, 0x6b
mov word [ebp - 0x5c8], dx
mov eax, 0x65
mov word [ebp - 0x5c6], ax
test dword [edx], edi
cli
invalid
invalid
mov ecx, 0x72
mov word [ebp - 0x5c4], cx
mov edx, 0x6e
mov word [ebp - 0x5c2], dx
mov eax, 0x65
mov word [ebp - 0x5c0], ax
mov ecx, 0x6c
mov word [ebp - 0x5be], cx
mov edx, 0x33
mov word [ebp - 0x5bc], dx
invalid
mov ecx, dword fs:[0x18]
mov dword [ebp - 0x6f8], ecx
mov edx, dword [ebp - 0x6f8]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0x6fc], eax
mov ecx, dword [ebp - 0x6fc]
mov dword [ebp - 0x4d8], ecx
push ebx
push edi
add esp, 4
jmp 0x4076a2
xor ebx, 0xe016
pop ebx
push edi
push ecx
add esp, 4
sub edi, 0x10f6e
or edi, 0x8d7e
add edi, 0x129d1
pop edi
push edi
or edi, 0x14679
pop edi
cmp dword [ebp - 0x4d8], 0
jne 0x4076e1
mov dword [ebp - 0xa8], 0
jmp 0x407972
mov edx, dword [ebp - 0x4d8]
mov eax, dword [edx + 0xc]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x2f0], ecx
push ebx
push ecx
add esp, 4
or ebx, 0x1e3b
add ebx, 0x7c7
sub ebx, 0x185eb
or ebx, 0xabeb
pop ebx
push edx
jmp 0x407718
add edx, 0x10633
and edx, 0x128aa
pop edx
cmp dword [ebp - 0x2f0], 0
jne 0x40773d
mov dword [ebp - 0xa8], 0
jmp 0x407972
mov edx, dword [ebp - 0x2f0]
mov dword [ebp - 0xf4], edx
push eax
xor eax, 0x42bd
and eax, 0x5d1c
pop eax
push ebx
call 0x407765
add byte [ebx + 0x41], al
aas
inc esi
xor eax, 0x4c4834f
pop ebx
push edi
push edx
add esp, 4
add edi, 0x29bb
add edi, 0x128a3
pop edi
lea eax, [ebp - 0x55c]
mov dword [ebp - 0x2ec], eax
mov ecx, dword [ebp - 0xf4]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0x2e8], edx
xor eax, eax
mov word [ebp - 0x88], ax
xor ecx, ecx
mov word [ebp - 0x4c], cx
push edx
push eax
add esp, 4
xor edx, 0xac2e
pop edx
push edx
xor edx, 0x1074a
call 0x4077c7
add byte [edi + eax*2], bh
cmp eax, dword [ebp + 0x41]
dec ebx
dec esi
dec eax
dec ecx
add esp, 4
sub edx, 0x1380
xor edx, 0x1781d
pop edx
mov edx, dword [ebp - 0x2e8]
mov ax, word [edx]
mov word [ebp - 0x392], ax
mov ecx, dword [ebp - 0x2e8]
add ecx, 2
mov dword [ebp - 0x2e8], ecx
mov dx, word [ebp - 0x392]
mov word [ebp - 0x88], dx
mov eax, dword [ebp - 0x2ec]
mov cx, word [eax]
mov word [ebp - 0x394], cx
mov edx, dword [ebp - 0x2ec]
add edx, 2
mov dword [ebp - 0x2ec], edx
mov ax, word [ebp - 0x394]
mov word [ebp - 0x4c], ax
push ebx
call 0x40783f
add byte [ebx + 0x46], al
cmp dword [edi], esi
dec ebx
dec ebp
xor eax, 0x83383446
les eax, [ebx + ebx*2]
push ebx
push ebx
add esp, 4
and ebx, 0xa417
and ebx, 0x1159c
pop ebx
push edx
jmp 0x40785f
pop edx
movzx ecx, word [ebp - 0x4c]
test ecx, ecx
jne 0x40787d
movzx edx, word [ebp - 0x88]
movzx eax, word [ebp - 0x4c]
sub edx, eax
mov dword [ebp - 0x4e0], edx
jmp 0x4078c1
movzx ecx, word [ebp - 0x88]
movzx edx, word [ebp - 0x4c]
cmp ecx, edx
je 0x4077a5
movzx eax, word [ebp - 0x88]
movzx ecx, word [ebp - 0x4c]
cmp eax, ecx
jge 0x4078ab
mov dword [ebp - 0x4dc], 0xffffffff
jmp 0x4078b5
mov dword [ebp - 0x4dc], 1
mov edx, dword [ebp - 0x4dc]
mov dword [ebp - 0x4e0], edx
cmp dword [ebp - 0x4e0], 0
jne 0x40790a
push ebx
call 0x4078da
add byte [edi], bh
inc ecx
dec esp
dec edi
inc edi
dec eax
dec edx
inc esp
add esp, 4
add ebx, 0x989c
add ebx, 0x90eb
call 0x4078f8
add byte [ebx + 0x50], cl
push eax
aaa
aas
inc esp
cmp edi, dword [ebx]
add esp, 4
pop ebx
mov eax, dword [ebp - 0xf4]
mov dword [ebp - 0xa8], eax
jmp 0x407972
push ebx
push edx
add esp, 4
add ebx, 0x1296d
and ebx, 0xa255
jmp 0x407921
xor ebx, 0xb02c
pop ebx
push esi
or esi, 0x11ca3
add esi, 0x1c8b
xor esi, 0x7b27
pop esi
mov ecx, dword [ebp - 0xf4]
mov edx, dword [ecx]
mov dword [ebp - 0xf4], edx
mov eax, dword [ebp - 0xf4]
cmp eax, dword [ebp - 0x2f0]
je 0x407968
mov ecx, dword [ebp - 0xf4]
cmp dword [ecx + 0x30], 0
jne 0x407749
mov dword [ebp - 0xa8], 0
push esi
call 0x40797f
add byte [edi + 0x33], cl
inc edi
dec ebp
xor eax, 0x5e04c483
push ebx
jmp 0x407989
sub ebx, 0xe925
pop ebx
push esi
sub esi, 0xf5e4
xor esi, 0x1334f
xor esi, 0x15a5
pop esi
mov edx, dword [ebp - 0xa8]
mov eax, dword [edx + 0x18]
mov dword [ebp - 0xb8], eax
push ecx
push edx
add esp, 4
call 0x4079c7
add byte [eax + edx*2 + 0x48], al
inc esp
push eax
dec ebx
inc ebx
inc eax
cmp eax, dword [ebx + 0x535904c4]
push ebx
add esp, 4
add ebx, 0x13b7c
pop ebx
push esi
jmp 0x4079de
sub esi, 0x9225
pop esi
mov dword [ebp - 0x1b4], 0
mov ecx, dword [ebp - 0xb8]
mov dword [ebp - 0x4e4], ecx
cmp dword [ebp - 0x4e4], 0
jne 0x407a15
mov edx, dword [ebp - 0x1b4]
mov dword [ebp - 0xf0], edx
jmp 0x407cdb
mov eax, dword [ebp - 0x4e4]
mov ecx, dword [ebp - 0xb8]
add ecx, dword [eax + 0x3c]
mov dword [ebp - 0x4e8], ecx
jne 0x407a3d
mov edx, dword [ebp - 0x1b4]
mov dword [ebp - 0xf0], edx
jmp 0x407cdb
mov eax, 8
imul ecx, eax, 0
mov edx, dword [ebp - 0x4e8]
mov eax, dword [edx + ecx + 0x78]
mov dword [ebp - 0x4ec], eax
cmp dword [ebp - 0x4ec], 0
jne 0x407a6f
mov ecx, dword [ebp - 0x1b4]
mov dword [ebp - 0xf0], ecx
jmp 0x407cdb
mov edx, dword [ebp - 0xb8]
add edx, dword [ebp - 0x4ec]
mov dword [ebp - 0x1a8], edx
jne 0x407a94
mov eax, dword [ebp - 0x1b4]
mov dword [ebp - 0xf0], eax
jmp 0x407cdb
mov ecx, dword [ebp - 0x1a8]
mov edx, dword [ebp - 0xb8]
add edx, dword [ecx + 0x20]
mov dword [ebp - 0x700], edx
mov eax, dword [ebp - 0x1a8]
mov ecx, dword [ebp - 0xb8]
add ecx, dword [eax + 0x24]
mov dword [ebp - 0x704], ecx
mov edx, dword [ebp - 0x1a8]
mov eax, dword [ebp - 0xb8]
add eax, dword [edx + 0x1c]
mov dword [ebp - 0x708], eax
mov dword [ebp - 0x1ac], 0
jmp 0x407aee
mov ecx, dword [ebp - 0x1ac]
add ecx, 1
mov dword [ebp - 0x1ac], ecx
mov edx, dword [ebp - 0x1a8]
mov eax, dword [ebp - 0x1ac]
cmp eax, dword [edx + 0x18]
jae 0x407ccf
mov ecx, dword [ebp - 0x1ac]
mov edx, dword [ebp - 0x700]
mov eax, dword [ebp - 0xb8]
add eax, dword [edx + ecx*4]
mov dword [ebp - 0x1b0], eax
mov ecx, dword [ebp - 0x1ac]
mov edx, dword [ebp - 0x704]
movzx eax, word [edx + ecx*2]
mov ecx, dword [ebp - 0x708]
mov edx, dword [ebp - 0xb8]
add edx, dword [ecx + eax*4]
mov dword [ebp - 0x70c], edx
mov dword [ebp - 0x30], 0
jmp 0x407b55
mov eax, dword [ebp - 0x30]
add eax, 1
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp - 0x1b0]
add ecx, dword [ebp - 0x30]
movsx edx, byte [ecx]
test edx, edx
je 0x407bf1
mov eax, dword [ebp - 0x30]
movsx ecx, byte [ebp + eax - 0x1ec]
test ecx, ecx
je 0x407bf1
push ebx
push eax
add esp, 4
call 0x407b8a
add byte [ebx], dh
push eax
inc ecx
inc eax
inc esp
inc esp
add esp, 4
or ebx, 0x116dd
and ebx, 0x9ab6
pop ebx
push edi
jmp 0x407ba3
xor edi, 0x13a2a
pop edi
mov edx, dword [ebp - 0x1b0]
add edx, dword [ebp - 0x30]
movsx eax, byte [edx]
mov ecx, dword [ebp - 0x30]
movsx edx, byte [ebp + ecx - 0x1ec]
cmp eax, edx
je 0x407be3
mov eax, dword [ebp - 0x1b0]
add eax, dword [ebp - 0x30]
movsx ecx, byte [eax]
xor ecx, 0x20
mov edx, dword [ebp - 0x30]
movsx eax, byte [ebp + edx - 0x1ec]
cmp ecx, eax
jne 0x407bea
jmp 0x407b4c
jmp 0x407bf1
push esi
and esi, 0x89ea
call 0x407c07
add byte [edx], bh
inc esp
xor eax, 0x50373a49
xor al, 0x32
add esp, 4
xor esi, 0x18035
add esi, 0x1438
pop esi
push eax
push eax
add esp, 4
or eax, 0xb57e
pop eax
mov ecx, dword [ebp - 0x1b0]
add ecx, dword [ebp - 0x30]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0x30]
movsx ecx, byte [ebp + eax - 0x1ec]
cmp edx, ecx
jne 0x407c4a
mov dword [ebp - 0x2f4], 0
jmp 0x407cb3
push eax
push ecx
add esp, 4
and eax, 0xa9a4
or eax, 0x9d4e
jmp 0x407c62
pop eax
push edx
xor edx, 0x15dd9
pop edx
push edi
call 0x407c78
add byte [edi], bh
inc ebx
dec edx
push eax
aas
dec ebp
add esp, 4
pop edi
mov edx, dword [ebp - 0x1b0]
inc dword [ebx]
push ebp
ror byte [edi], 1
mov esi, 0x20c88302
mov ecx, dword [ebp - 0x30]
movsx edx, byte [ebp + ecx - 0x1ec]
or edx, 0x20
cmp eax, edx
jge 0x407ca9
mov dword [ebp - 0x2f4], 0xffffffff
jmp 0x407cb3
mov dword [ebp - 0x2f4], 1
cmp dword [ebp - 0x2f4], 0
jne 0x407cca
mov eax, dword [ebp - 0x70c]
mov dword [ebp - 0xf0], eax
jmp 0x407cdb
jmp 0x407adf
mov ecx, dword [ebp - 0x1b4]
mov dword [ebp - 0xf0], ecx
mov edx, dword [ebp - 0xf0]
mov dword [ebp - 0x1e0], edx