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

Disassembly:
mov edx, dword [ebp - 0x500]
add edx, 1
mov dword [ebp - 0x500], edx
push ebx
xor ebx, 0x17544
pop ebx
push ecx
push eax
add esp, 4
and ecx, 0x38e2
pop ecx
push ecx
push edi
add esp, 4
sub ecx, 0xbb2d
and ecx, 0x1583c
jmp 0x405633
or ecx, 0xe73b
pop ecx
mov eax, dword [ebp - 0x500]
sub eax, dword [ebp - 0x3f0]
cmp eax, 0xffffffff
jb 0x405682
push ebx
push ebx
add esp, 4
or ebx, 0x11aff
xor ebx, 0x76ab
add ebx, 0xd5f7
pop ebx
push ebx
push esi
add esp, 4
or ebx, 0xe394
pop ebx
push eax
add eax, 0x15619
and eax, 0x10b64
pop eax
jmp 0x4058b0
mov dword [ebp - 0xc88], 7
mov ecx, dword [ebp - 0x500]
invalid
dec dword [ecx - 0xabf73]
call dword [eax - 0x7f]
rol byte [eax], 0xd9
add byte [eax], al
or eax, 0x579
xor eax, 0xf510
and eax, 0x7d9
pop eax
push edi
push ebx
add esp, 4
or edi, 0x15cfe
sub edi, 0x10a5a
sub edi, 0xa1a2
pop edi
mov edx, dword [ebp - 0x15d0]
mov dword [ebp - 0xabc], edx
mov dword [ebp - 0xc8c], 0
mov eax, dword [ebp - 0x500]
cmp eax, dword [ebp - 0x15d0]
jne 0x405731
push ebx
push edx
add esp, 4
and ebx, 0xc7d2
add ebx, 0xe9f1
sub ebx, 0x98c4
sub ebx, 0x14227
pop ebx
push esi
or esi, 0xd0e9
sub esi, 0xc3ff
xor esi, 0x3fb6
pop esi
mov ecx, dword [ebp - 0xc8c]
mov dword [ebp - 0x15d4], ecx
jmp 0x405862
cmp dword [ebp - 0xc88], 0
jle 0x405856
push ebx
jmp 0x405744
sub ebx, 0x150b8
pop ebx
push eax
or eax, 0xe7bf
jmp 0x40575a
call 0x405766
add byte [edx + 0x3d], cl
dec edx
cmp eax, 0x50373e50
add esp, 4
add eax, 0x7a54
pop eax
mov edx, dword [ebp - 0xac0]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0xabc]
movzx edx, byte [ecx]
cmp eax, edx
je 0x4057f2
push edi
push esi
add esp, 4
sub edi, 0x44af
add byte [ecx + 0x9ad2c7], al
add byte [edi + 0x57], bl
push ecx
add esp, 4
add edi, 0x10a2b
pop edi
push ebx
sub ebx, 0x16cbe
pop ebx
push ebx
push esi
add esp, 4
sub ebx, 0xcb7d
pop ebx
mov eax, dword [ebp - 0xac0]
movzx ecx, byte [eax]
mov edx, dword [ebp - 0xabc]
movzx eax, byte [edx]
cmp ecx, eax
jle 0x4057da
mov dword [ebp - 0x15a0], 1
jmp 0x4057e4
mov dword [ebp - 0x15a0], 0xffffffff
mov ecx, dword [ebp - 0x15a0]
mov dword [ebp - 0xc8c], ecx
push edx
push edx
add esp, 4
or edx, 0xe42d
pop edx
push ebx
xor ebx, 0x13767
pop ebx
push ecx
push ecx
add esp, 4
jmp 0x405811
add ecx, 0x1153b
xor ecx, 0x15634
add ecx, 0x8759
pop ecx
mov edx, dword [ebp - 0xc88]
sub edx, 1
mov dword [ebp - 0xc88], edx
mov eax, dword [ebp - 0xac0]
add eax, 1
mov dword [ebp - 0xac0], eax
invalid
dec dword [ebx - 0xabb73]
inc dword [ebx - 0x7276fe3f]
inc esp
cmc
invalid
invalid
jmp 0x405731
mov edx, dword [ebp - 0xc8c]
mov dword [ebp - 0x15d4], edx
invalid
cmp dword [ebp - 0x15d4], 0
add byte [ebp + 0x40], dh
jne 0x4058ab
push ebx
push ecx
add esp, 4
call 0x40587f
add byte [eax + eax*2 + 0x3c], al
dec esp
cmp byte [eax + eax*2], bh
cmp dword [ebx + eax*4], esi
les eax, [ecx + eax*4]
jecxz 0x405868
add byte [eax], 0
and ebx, 0x37fa
xor ebx, 0x1188b
mov ebx, dword [eax]
add dword [eax], eax
pop ebx
push eax
add eax, 0x16af3
pop eax
mov eax, dword [ebp - 0x500]
mov dword [ebp - 0xab8], eax
jmp 0x4058ec
jmp 0x4055f9
push edx
push ebx
add esp, 4
and edx, 0x104d8
pop edx
push ecx
push eax
add esp, 4
sub ecx, 0xcc90
call 0x4058d6
add byte [edx], bh
dec ebx
xor eax, 0x343d3a3d
dec eax
xor al, 0x83
les eax, [ecx + ebx*2]
push edi
add edi, 0x18549
pop edi
mov dword [ebp - 0xab8], 0
push edx
push ebx
add esp, 4
and edx, 0x31bd
pop edx
push ecx
add ecx, 0x35eb
call 0x40590e
add byte [ebx + 0x43], al
inc ebx
cmp byte [edi], bh
dec esi
inc ecx
cmp eax, 0x4c48339
add al, 0x81
int1
sal dword [ecx], 0
add byte [ecx + 0x5c6af1], al
add byte [ecx - 0x3a], bl
test dword [eax + 0x45fffff7], ecx
mov byte [ebp - 0x877], 0x78
mov byte [ebp - 0x876], 0x69
mov byte [ebp - 0x875], 0x74
mov byte [ebp - 0x874], 0x50
push eax
mov byte [ebp - 0x873], 0x72
mov byte [ebp - 0x872], 0x6f
mov byte [ebp - 0x871], 0x63
mov byte [ebp - 0x870], 0x65
mov byte [ebp - 0x86f], 0x73
idiv edi
push dword [ebx - 0x3a]
test dword [edx + 0x73fffff7], edx
mov byte [ebp - 0x86d], 0
push edx
and edx, 0xd360
add edx, 0xe996
pop edx
push eax
push eax
add esp, 4
or eax, 0x1079a
pop eax
push esi
push ebx
add esp, 4
and esi, 0xef6b
or esi, 0x17470
xor esi, 0x10431
pop esi
mov ecx, 0x6b
mov word [ebp - 0x1738], cx