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

Disassembly:
push ebx
push edx
add esp, 4
call 0x4050e3
add byte [esi + ecx*2 + 0x3b], cl
inc eax
cmp dword [ebp + 0x41], eax
xor al, byte [ebx - 0xc7efb3c]
imul eax, dword [eax + 0x7eb0001], 0x44
inc ecx
cmp edi, dword [ecx]
dec eax
pop ebx
push esi
push ebx
add esp, 4
and esi, 0x107cf
pop esi
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
add ebx, 0x60b8
add ebx, 0x76eb
pop ebx
push ecx
push esi
add esp, 4
jmp 0x4052e7
xor ecx, 0xa0e2
pop ecx
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 0x40531a
mov ecx, dword [ebp - 0x504]
cmp dword [ecx + 0x30], 0
jne 0x4050d0
mov dword [ebp - 0x31c], 0
push edx
add edx, 0x15436
or edx, 0xb6c6
sub edx, 0x6e7e
pop edx
push edx
call 0x405346
add byte [eax + 0x46], al
cmp dword [ebx + 0x3c], eax
xor eax, 0x4c4834f
jmp 0x40534f
or edx, 0x6e80
pop edx
cmp dword [ebp - 0x31c], 0
jne 0x405c6f
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 edx
push edi
add esp, 4
or edx, 0x1570e
add edx, 0x8da4
add edx, 0x16847
pop edx
push edx
xor edx, 0x9ad0
pop edx
push edi
push esi
add esp, 4
sub edi, 0x3a47
jmp 0x40542d
pop edi
mov byte [ebp - 0x894], 0x4c
mov byte [ebp - 0x893], 0x6f
mov byte [ebp - 0x892], 0x61
mov byte [ebp - 0x891], 0x64
mov byte [ebp - 0x890], 0x4c
mov byte [ebp - 0x88f], 0x69
mov byte [ebp - 0x88e], 0x62
mov byte [ebp - 0x88d], 0x72
mov byte [ebp - 0x88c], 0x61
mov byte [ebp - 0x88b], 0x72
mov byte [ebp - 0x88a], 0x79
mov byte [ebp - 0x889], 0x57
mov byte [ebp - 0x888], 0
mov eax, dword fs:[0x18]
mov dword [ebp - 0x195c], eax
mov ecx, dword [ebp - 0x195c]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0x1960], edx
mov eax, dword [ebp - 0x1960]
mov dword [ebp - 0x15e4], eax
push eax
push ebx
add esp, 4
or eax, 0x1601c
pop eax
push edi
xor edi, 0x1c05
call 0x4054d2
add byte [eax], bh
inc eax
dec ecx
inc ebp
xor al, 0x33
dec ebx
xor dh, byte [ebx]
add esp, 4
sub edi, 0x17452
or edi, 0x11abd
pop edi
cmp dword [ebp - 0x15e4], 0
jne 0x4054fa
mov dword [ebp - 0x750], 0
jmp 0x4057b6
mov ecx, dword [ebp - 0x15e4]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xca4], eax
push esi
or esi, 0x179e4
and esi, 0xfd56
pop esi
push ebx
push esi
add esp, 4
call 0x40552e
add byte [ebx + 0x3f], cl
dec ebx
inc eax
inc ebp
inc ebp
xor esi, dword [ebx]
inc edi
add esp, 4
jmp 0x405537
and ebx, 0x10f7c
pop ebx
cmp dword [ebp - 0xca4], 0
jne 0x405556
mov dword [ebp - 0x750], 0
jmp 0x4057b6
mov ecx, dword [ebp - 0xca4]
mov dword [ebp - 0x508], ecx
push eax
and eax, 0x4653
pop eax
push ecx
push edi
add esp, 4
add ecx, 0x102d7
sub ecx, 0xd479
and ecx, 0x624d
add ecx, 0x6da7
pop ecx
push ebx
push edi
add esp, 4
xor ebx, 0x160b4
pop ebx
lea edx, [ebp - 0x1774]
mov dword [ebp - 0xca0], edx
mov eax, dword [ebp - 0x508]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0xc9c], ecx
xor edx, edx
mov word [ebp - 0x214], dx
xor eax, eax
mov word [ebp - 0x110], ax
push ebx
jmp 0x4055c9
and ebx, 0x9ff4
sub ebx, 0x3df3
pop ebx
push ecx
jmp 0x4055de
and ecx, 0x1167b
sub ecx, 0x1816b
pop ecx
push ebx
add ebx, 0x8df1
pop ebx
mov ecx, dword [ebp - 0xc9c]
mov dx, word [ecx]
mov word [ebp - 0x1036], dx
mov eax, dword [ebp - 0xc9c]
add eax, 2
mov dword [ebp - 0xc9c], eax
mov cx, word [ebp - 0x1036]
mov word [ebp - 0x214], cx
mov edx, dword [ebp - 0xca0]
mov ax, word [edx]
mov word [ebp - 0x1038], ax
mov ecx, dword [ebp - 0xca0]
add ecx, 2
mov dword [ebp - 0xca0], ecx
mov dx, word [ebp - 0x1038]
mov word [ebp - 0x110], dx
push ecx
or ecx, 0x14473
call 0x405660
add byte [eax + 0x46], cl
cmp byte [eax + 0x4e], al
inc ebp
add esp, 4
pop ecx
push edi
push ebx
add esp, 4
and edi, 0x11535
sub edi, 0x6fd9
jmp 0x40567e
pop edi
movzx eax, word [ebp - 0x110]
test eax, eax
jne 0x4056a2
movzx ecx, word [ebp - 0x214]
movzx edx, word [ebp - 0x110]
sub ecx, edx
mov dword [ebp - 0x15ec], ecx
jmp 0x405705
movzx eax, word [ebp - 0x214]
movzx ecx, word [ebp - 0x110]
cmp dword [ebp - 0x15ec], 0
jne 0x40574e
push edx
push edi
add esp, 4
and edx, 0x5871
pop edx
push ebx
push esi
add esp, 4
jmp 0x405727
and ebx, 0xfaba
xor ebx, 0x11ccb
pop ebx
push esi
push edx
add esp, 4
or esi, 0x16316
pop esi
mov ecx, dword [ebp - 0x508]
mov dword [ebp - 0x750], ecx
jmp 0x4057b6
push esi
push eax
add esp, 4
or esi, 0x65cb
pop esi
push edx
add edx, 0x53f
add al, ch
or al, byte [eax]
add byte [eax], al
add byte [ebx + 0x36], cl
dec eax
dec eax
dec eax
cmp eax, 0x83445046
les eax, [ecx + eax*4]
loop 0x4057aa
push es
add dword [eax], eax
add edx, 0xd7bc
pop edx