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

Disassembly:
and ecx, 0x100ae
pop ecx
mov edx, dword fs:[0x18]
mov dword [ebp - 0x1954], edx
mov eax, dword [ebp - 0x1954]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0x1958], ecx
mov edx, dword [ebp - 0x1958]
mov dword [ebp - 0x15d8], edx
push eax
push ecx
add esp, 4
call 0x4062a3
add byte [ebx + 0x35], al
dec ebp
dec ebx
inc ecx
push eax
dec eax
push eax
xor eax, 0x5804c483
push eax
and eax, 0xc6d7
or eax, 0x13dba
or eax, 0x7e11
xor eax, 0xc35e
pop eax
cmp dword [ebp - 0x15d8], 0
jne 0x4062d9
mov dword [ebp - 0x31c], 0
jmp 0x406595
mov eax, dword [ebp - 0x15d8]
mov ecx, dword [eax + 0xc]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0xc98], edx
push ecx
push eax
add esp, 4
and ecx, 0x4669
pop ecx
push ebx
xor ebx, 0x138be
jmp 0x406304
add ebx, 0xdafe
pop ebx
push ebx
push ebx
add esp, 4
xor ebx, 0xd34c
xor ebx, 0x814b
pop ebx
cmp dword [ebp - 0xc98], 0
jne 0x406335
mov dword [ebp - 0x31c], 0
jmp 0x406595
mov eax, dword [ebp - 0xc98]
mov dword [ebp - 0x504], eax
push eax
or eax, 0xf7c8
xor eax, 0xa065
pop eax
push eax
sub eax, 0x1869f
add eax, 0xfefa
jmp 0x406362
call 0x40636f
add byte [ebx], dh
dec eax
dec edx
inc eax
cmp al, 0x36
inc esi
add esp, 4
pop eax
lea ecx, [ebp - 0x1738]
mov dword [ebp - 0xc94], ecx
mov edx, dword [ebp - 0x504]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0xc90], eax
xor ecx, ecx
mov word [ebp - 0x210], cx
xor edx, edx
mov word [ebp - 0x10c], dx
push edi
push ebx
add esp, 4
or edi, 0x3b41
and edi, 0x6f9b
sub edi, 0xc667
pop edi
push eax
call 0x4063c8
add byte [edx + eax*2 + 0x39], cl
xor eax, 0x343c4239
cmp al, byte [ebx - 0x377efb3c]
push esp
dec ecx
add byte [eax], al
pop eax
mov eax, dword [ebp - 0xc90]
mov cx, word [eax]
mov word [ebp - 0x1032], cx
mov edx, dword [ebp - 0xc90]
add edx, 2
mov dword [ebp - 0xc90], edx
mov ax, word [ebp - 0x1032]
mov word [ebp - 0x210], ax
mov ecx, dword [ebp - 0xc94]
mov dx, word [ecx]
mov word [ebp - 0x1034], dx
mov eax, dword [ebp - 0xc94]
add eax, 2
mov dword [ebp - 0xc94], eax
mov cx, word [ebp - 0x1034]
mov word [ebp - 0x10c], cx
push ebx
push ebx
add esp, 4
xor ebx, 0x3dd8
pop ebx
push eax
push eax
add esp, 4
sub eax, 0xf924
sub eax, 0x14f8d
add eax, 0x17240
pop eax
push esi
xor esi, 0x1776
add esi, 0x6924
pop esi
movzx edx, word [ebp - 0x10c]
test edx, edx
jne 0x406481
movzx eax, word [ebp - 0x210]
movzx ecx, word [ebp - 0x10c]
sub eax, ecx
mov dword [ebp - 0x15e0], eax
jmp 0x4064e4
movzx edx, word [ebp - 0x210]
movzx eax, word [ebp - 0x10c]
cmp edx, eax
je 0x4063a0
movzx ecx, word [ebp - 0x210]
xor ecx, 0x20
movzx edx, word [ebp - 0x10c]
cmp ecx, edx
je 0x4063a0
movzx eax, word [ebp - 0x210]
movzx ecx, word [ebp - 0x10c]
cmp eax, ecx
jge 0x4064ce
mov dword [ebp - 0x15dc], 0xffffffff
jmp 0x4064d8
mov dword [ebp - 0x15dc], 1
mov edx, dword [ebp - 0x15dc]
mov dword [ebp - 0x15e0], edx
cmp dword [ebp - 0x15e0], 0
jne 0x40652d
push eax
call 0x4064fd
add byte [edi + 0x37], al
cmp cl, byte [esi + 0x35]
aas
dec edx
xor dh, byte [edi]
add esp, 4
xor eax, 0xb95d
pop eax
push ecx
or ecx, 0x12fc
pop ecx
push ebx
and ebx, 0xbebc
pop ebx
push ecx
sub ecx, 0xf2b6
pop ecx
mov eax, dword [ebp - 0x504]
mov dword [ebp - 0x31c], eax
jmp 0x406595
push edi
jmp 0x406534
add edi, 0x1304
or edi, 0x15859
pop edi
push eax
call 0x406550
add byte [0x454f364f], bh
cmp dword [ebx + 0x44], eax
add esp, 4
jmp 0x406558
xor eax, 0xd221
pop eax
mov ecx, dword [ebp - 0x504]
mov edx, dword [ecx]
mov dword [ebp - 0x504], edx
mov eax, dword [ebp - 0x504]
cmp eax, dword [ebp - 0xc98]
je 0x40658b
mov ecx, dword [ebp - 0x504]
cmp dword [ecx + 0x30], 0
jne 0x406341
mov dword [ebp - 0x31c], 0
push edi
jmp 0x40659c
pop edi
push ecx
jmp 0x4065a3
jmp 0x4065a8
pop ecx
push ebx
push esi
add esp, 4
and ebx, 0x12b3
add ebx, 0x15cdf
xor ebx, 0x11e95
add ebx, 0xbb43
pop ebx
cmp dword [ebp - 0x31c], 0
jne 0x406ee0
mov edx, 0x6b
mov word [ebp - 0x1774], dx
mov eax, 0x65
mov word [ebp - 0x1772], ax
mov ecx, 0x72
mov word [ebp - 0x1770], cx
mov edx, 0x6e
mov word [ebp - 0x176e], dx
mov eax, 0x65
mov word [ebp - 0x176c], ax
mov ecx, 0x6c
mov word [ebp - 0x176a], cx
mov edx, 0x33
mov word [ebp - 0x1768], dx
mov eax, 0x32
mov word [ebp - 0x1766], ax
mov ecx, 0x2e
mov word [ebp - 0x1764], cx
mov edx, 0x64
mov word [ebp - 0x1762], dx
mov eax, 0x6c
mov word [ebp - 0x1760], ax
mov ecx, 0x6c
mov word [ebp - 0x175e], cx
xor edx, edx
mov word [ebp - 0x175c], dx
push ebx
push edx
invalid