Function at 0x406346
Capabilities:
Contain obfuscated stackstrings
Get number of processors

Disassembly:
mov dword [ebp - 0x540], ecx
jmp 0x4062e7
mov edx, dword [ebp - 0x540]
add edx, 1
mov dword [ebp - 0x540], edx
push eax
push esi
add esp, 4
sub eax, 0x1074b
add eax, 0x143e2
sub eax, 0xfc03
pop eax
push esi
push eax
add esp, 4
sub esi, 0xa6dd
pop esi
push edi
add edi, 0x5e4c
sub edi, 0xdce8
pop edi
mov eax, dword [ebp - 0x540]
sub eax, dword [ebp - 0x420]
cmp eax, 0xffffffff
jb 0x406361
push ecx
or ecx, 0x69c9
add byte [ecx + 0x38f3e9], al
add byte [ecx + 0x52], bl
call 0x406346
add byte [edx], bh
cmp eax, 0x3c4a3f4b
cmp byte [ebx - 0x157efb3c], al
cmpsd dword [esi], dword es:[edi]
and byte [eax], al
add byte [edx + 0x52], bl
push ebx
add esp, 4
xor edx, 0x77d2
pop edx
jmp 0x40658f
mov dword [ebp - 0xd3c], 7
mov ecx, dword [ebp - 0x540]
mov dword [ebp - 0xb50], ecx
push esi
push ecx
add esp, 4
and esi, 0x1155c
add esi, 0xe807
or esi, 0x11fa6
or esi, 0x17dfe
pop esi
push eax
and eax, 0xebc6
and eax, 0xbd60
and eax, 0x9255
pop eax
mov edx, dword [ebp - 0x16cc]
mov dword [ebp - 0xb4c], edx
mov dword [ebp - 0xd40], 0
mov eax, dword [ebp - 0x540]
cmp eax, dword [ebp - 0x16cc]
jne 0x406410
push edi
xor edi, 0x7d1c
sbb al, 0x7d
add byte [eax], al
xor edi, 0x77f3
or edi, 0x7c8a
and edi, 0x17e61
pop edi
push eax
push eax
add esp, 4
sub eax, 0x6ea7
xor eax, 0x125f6
add eax, 0x17225
pop eax
mov ecx, dword [ebp - 0xd40]
mov dword [ebp - 0x16d0], ecx
jmp 0x406541
cmp dword [ebp - 0xd3c], 0
jle 0x406535
push ebx
push eax
add esp, 4
call 0x40642e
add byte [ebx + 0x43], al
dec ebx
inc ebp
aas
add esp, 4
xor ebx, 0x13e79
pop ebx
push esi
call 0x406445
add byte [edi + 0x42], cl
cmp al, byte [ecx + 0x3a]
inc ebp
add esp, 4
or esi, 0xd82e
pop esi
mov edx, dword [ebp - 0xb50]
xchg ebp, eax
mov al, 0xf4
invalid
dec dword [edi]
mov dh, 2
mov ecx, dword [ebp - 0xb4c]
movzx edx, byte [ecx]
cmp eax, edx
je 0x4064d1
push esi
push eax
add esp, 4
jmp 0x406470
add esi, 0x3deb
add esi, 0x5c85
xor esi, 0xc547
pop esi
push ebx
and ebx, 0x174c5
sub ebx, 0x5f2
push ecx
xor ecx, 0x5340
sub ecx, 0x6f9f
pop ecx
push edi
add edi, 0x168bc
call 0x4064f3
add byte [ecx + 0x4b], cl
aaa
dec ebp
mov edx, dword [ebp - 0xd40]
mov dword [ebp - 0x16d0], edx
cmp dword [ebp - 0x16d0], 0
jne 0x40658a
push ecx
add ecx, 0xeca9
jmp 0x406559
or ecx, 0x2d15
pop ecx
push edx
or edx, 0x7bc4
pop edx
push ecx
push edi
add esp, 4
sub ecx, 0x17cce
pop ecx
push edx
or edx, 0xfe9a
pop edx
mov eax, dword [ebp - 0x540]
mov dword [ebp - 0xb48], eax
jmp 0x4065cb
jmp 0x4062d8
push eax
and eax, 0xda17
pop eax
push edx
push esi
add esp, 4
and edx, 0x2564
add byte [eax], al
or edx, 0x74d2
pop edx
push ecx
push ecx
add esp, 4
or ecx, 0x445f
xor ecx, 0x1576d
sub ecx, 0xd30
pop ecx
mov dword [ebp - 0xb48], 0
push ecx
add ecx, 0x1781
pop ecx
push esi
push edx
add esp, 4
xor esi, 0xf000
add esi, 0x14b72
or esi, 0x14d73
pop esi
push eax
push eax
add esp, 4
sub eax, 0x9ee4
or eax, 0x31f0
pop eax
mov byte [ebp - 0x8e0], 0x45
mov byte [ebp - 0x8df], 0x78
mov byte [ebp - 0x8de], 0x69
mov byte [ebp - 0x8dd], 0x74
mov byte [ebp - 0x8dc], 0x50
mov byte [ebp - 0x8db], 0x72
mov byte [ebp - 0x8da], 0x6f
mov byte [ebp - 0x8d9], 0x63
mov byte [ebp - 0x8d8], 0x65
mov byte [ebp - 0x8d7], 0x73
invalid
push dword [ebx - 0x3a]
test dword [edx], ebp
idiv edi
push dword [ebx - 0x3a]
test dword [ebx], ebp
idiv edi
inc dword [eax]
push edx
push ebx
add esp, 4
add edx, 0x5397
or edx, 0x9f34
pop edx
push ebx
push edi
add esp, 4
sub ebx, 0x8162
and ebx, 0xdbb3
mov bl, 0xdb
add byte [eax], al
and ebx, 0xab56
pop ebx
push edx
or edx, 0xa8b4
pop edx
mov ecx, 0x6b
mov word [ebp - 0x1844], cx
mov edx, 0x65
add byte gs:[eax], al
add byte [esi - 0x77], ah
xchg ebp, eax
mov esi, 0xb8ffffe7
jb 0x40669e
add byte [eax], al
mov word [ebp - 0x1840], ax
mov ecx, 0x6e
mov word [ebp - 0x183e], cx
out 0xff, eax
invalid
mov edx, 0x65
mov word [ebp - 0x183c], dx
mov eax, 0x6c
mov word [ebp - 0x183a], ax
mov ecx, 0x33
mov word [ebp - 0x1838], cx
mov edx, 0x32
mov word [ebp - 0x1836], dx
mov eax, 0x2e
mov word [ebp - 0x1834], ax
mov ecx, 0x64
mov word [ebp - 0x1832], cx
mov edx, 0x6c
mov word [ebp - 0x1830], dx
mov eax, 0x6c
mov word [ebp - 0x182e], ax
xor ecx, ecx
mov word [ebp - 0x182c], cx
push eax
and eax, 0x14bfb
dec ebx
add dword [eax], eax
or eax, 0x116e4
add eax, 0xcecc
xor eax, 0x2b7
pop eax
push ecx
jmp 0x40673f
xor ecx, 0x1f5e
pop ecx
push ecx
or ecx, 0xaada
pop ecx
push ecx
push edi
add esp, 4
add ecx, 0x1458a
or ecx, 0x17871
pop ecx
push ecx
add ecx, 0xb2b3
sub ecx, 0x2f6b
pop ecx
push esi
push eax
add esp, 4
and esi, 0x2336
sub esi, 0x13a53
pop esi
mov edx, dword fs:[0x18]
mov dword [ebp - 0x2174], edx
mov eax, dword [ebp - 0x2174]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0x2178], ecx
mov edx, dword [ebp - 0x2178]
mov dword [ebp - 0x16d4], edx
push ebx
push esi
add esp, 4
and ebx, 0xa46f
or ebx, 0x11e1
pop ebx
push eax
add eax, 0xd945
jmp 0x4067c9
call 0x4067d6
add byte [eax*2 + 0x3d344632], dh
add esp, 4
pop eax
cmp dword [ebp - 0x16d4], 0
jne 0x4067f2
mov dword [ebp - 0x324], 0
jmp 0x406aae
mov eax, dword [ebp - 0x16d4]
mov ecx, dword [eax + 0xc]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0xd4c], edx
push edi
sub edi, 0x1121a
and edi, 0x16345
jmp 0x406819
jmp 0x406822
pop edi
push edi
jmp 0x406829
add edi, 0x1664a
invalid