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

Disassembly:
call 0x40778c
add byte [ebx + 0x4c], al
inc eax
inc ebp
cmp byte [ebx], bh
add esp, 4
xor edi, 0xc981
pop edi
push esi
push ebx
add esp, 4
sub esi, 0x7763
pop esi
cmp dword [ebp - 0x2e0], 0
jne 0x4080bb
mov edx, 0x6b
mov word [ebp - 0x16cc], dx
mov eax, 0x65
mov word [ebp - 0x16ca], ax
mov ecx, 0x72
jb 0x4077ca
add byte [eax], al
mov word [ebp - 0x16c8], cx
mov edx, 0x6e
push eax
push ebx
add esp, 4
call 0x4080cc
add byte [ebp + 0x50], cl
aaa
inc edx
xor edi, dword [edi]
add esp, 4
call 0x4080dd
add byte [ebp + edi + 0x35], al
aaa
dec edi
inc ebp
cmp al, 0x37
add esp, 4
or eax, 0x164e1
and eax, 0x14111
pop eax
mov eax, dword fs:[0x18]
mov dword [ebp - 0x18b8], eax
mov ecx, dword [ebp - 0x18b8]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0x18bc], edx
mov eax, dword [ebp - 0x18bc]
mov dword [ebp - 0x14f4], eax
push ecx
push ebx
add esp, 4
call 0x408128
add byte [ebx + 0x48], cl
inc edx
inc eax
inc ebp
xor bh, byte [edx]
dec edx
cmp eax, 0x5904c483
push ebx
push esi
add esp, 4
or ebx, 0x1f80
jmp 0x40813f
or ebx, 0x1785e
pop ebx
cmp dword [ebp - 0x14f4], 0
jne 0x40815e
mov dword [ebp - 0x2e0], 0
jmp 0x408405
mov ecx, dword [ebp - 0x14f4]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xc3c], eax
push ebx
add ebx, 0x178c3
add ebx, 0x68c2
ret
ret 0x68
add byte [ecx + 0x718eeb], al
add byte [ebx + 0x53], bl
push edi
add esp, 4
and ebx, 0x5c5b
pop ebx
push esi
push ecx
add esp, 4
add esi, 0x97d8
or esi, 0xeb81
pop esi
cmp dword [ebp - 0xc3c], 0
jne 0x4081ba
mov dword [ebp - 0x2e0], 0
jmp 0x408405
mov ecx, dword [ebp - 0xc3c]
mov dword [ebp - 0x4dc], ecx
pop edi
push ecx
add ecx, 0x163c6
pop ecx
push ecx
sub ecx, 0x15330
add ecx, 0x13b8b
pop ecx
push edx
sub edx, 0x138f1
sub edx, 0x11d77
pop edx
movzx eax, word [ebp - 0x34]
test eax, eax
jne 0x4082fa
movzx ecx, word [ebp - 0x200]
movzx edx, word [ebp - 0x34]
sub ecx, edx
mov dword [ebp - 0x14fc], ecx
jmp 0x408354
movzx eax, word [ebp - 0x200]
movzx ecx, word [ebp - 0x34]
cmp eax, ecx
je 0x408222
movzx edx, word [ebp - 0x200]
xor edx, 0x20
movzx eax, word [ebp - 0x34]
cmp edx, eax
je 0x408222
movzx ecx, word [ebp - 0x200]
movzx edx, word [ebp - 0x34]
cmp ecx, edx
jge 0x40833e
mov dword [ebp - 0x14f8], 0xffffffff
jmp 0x408348
mov dword [ebp - 0x14f8], 1
mov eax, dword [ebp - 0x14f8]
mov dword [ebp - 0x14fc], eax
cmp dword [ebp - 0x14fc], 0
jne 0x40839d
push ecx
push edi
add esp, 4
call 0x408371
add byte [eax + 0x35], dl
push eax
xor al, 0x45
push eax
inc ecx
cmp bh, byte [ecx]
add esp, 4
sub ecx, 0x75fc
or ecx, 0x13c7c
jl 0x4083ba
add dword [eax], eax
push esi
push edi
add esp, 4
add esi, 0x9414
and esi, 0x3e1b
xor esi, 0x15477
pop esi
push eax
push eax
add esp, 4
mov edx, dword [ebp - 0x4dc]
cmp dword [edx + 0x30], 0
jne 0x4081c6
mov dword [ebp - 0x2e0], 0
push ecx
call 0x408415
add byte [ecx + eax*2], bh
inc eax
cmp eax, 0x4c4e3242
dec edi
add esp, 4
and ecx, 0x308b
sub ecx, 0x3a87
pop ecx
push eax
push ecx
add esp, 4
or eax, 0x5f79
jmp 0x408436
pop eax
mov eax, dword [ebp - 0x2e0]
mov ecx, dword [eax + 0x18]
mov dword [ebp - 0x2fc], ecx
push esi
sub esi, 0x154f
add esi, 0xa431
xor esi, 0x8430
pop esi
push esi
push eax
add esp, 4
add esi, 0xd550
and esi, 0x990d
xor esi, 0xc37c
sub esi, 0xe339
pop esi
mov dword [ebp - 0x70c], 0
mov edx, dword [ebp - 0x2fc]
mov dword [ebp - 0x1500], edx
cmp dword [ebp - 0x1500], 0
jne 0x4084a8
mov eax, dword [ebp - 0x70c]
mov dword [ebp - 0x4e0], eax
jmp 0x408799
mov ecx, dword [ebp - 0x1500]
mov edx, dword [ebp - 0x2fc]
add edx, dword [ecx + 0x3c]
mov dword [ebp - 0x1504], edx
jne 0x4084d0
mov eax, dword [ebp - 0x70c]
mov dword [ebp - 0x4e0], eax
jmp 0x408799
mov ecx, 8
imul edx, ecx, 0
mov eax, dword [ebp - 0x1504]
mov ecx, dword [eax + edx + 0x78]
mov dword [ebp - 0x1508], ecx
cmp dword [ebp - 0x1508], 0
jne 0x408502
mov edx, dword [ebp - 0x70c]
mov dword [ebp - 0x4e0], edx
jmp 0x408799
mov eax, dword [ebp - 0x2fc]
add eax, dword [ebp - 0x1508]
mov dword [ebp - 0x700], eax
jne 0x408527
mov ecx, dword [ebp - 0x70c]
mov dword [ebp - 0x4e0], ecx
jmp 0x408799
mov edx, dword [ebp - 0x700]
mov eax, dword [ebp - 0x2fc]
add eax, dword [edx + 0x20]
mov dword [ebp - 0x18c0], eax
mov ecx, dword [ebp - 0x700]
mov edx, dword [ebp - 0x2fc]
add edx, dword [ecx + 0x24]
mov dword [ebp - 0x18c4], edx
mov eax, dword [ebp - 0x700]
mov ecx, dword [ebp - 0x2fc]
add ecx, dword [eax + 0x1c]
mov dword [ebp - 0x18c8], ecx
mov dword [ebp - 0x704], 0
jmp 0x408581