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

Disassembly:
push ebx
push eax
add esp, 4
sub ebx, 0xe367
pop ebx
push edx
or edx, 0x16234
call 0x4070f9
add byte [edx + 0x3a], cl
aas
xor edi, dword [edx]
cmp al, 0x35
dec eax
inc ebp
add esp, 4
pop edx
push esi
push ebx
add esp, 4
sub esi, 0x86c
pop esi
lea edx, [ebp - 0x173c]
mov dword [ebp - 0xcc0], edx
mov eax, dword [ebp - 0x514]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0xcbc], ecx
inc esp
invalid
invalid
push dword [ebx]
shl byte [esi - 0x77], cl
xchg ebp, eax
in al, 0xfd
invalid
push dword [ebx]
shl byte [esi - 0x77], 0x45
invalid
push esi
push ebx
add esp, 4
xor esi, 0xa7da
sub esi, 0x55d0
pop esi
push edi
add edi, 0xdca8
pop edi
push ebx
push edi
add esp, 4
or ebx, 0x15c0f
sub ebx, 0xf67b
add ebx, 0x163e4
pop ebx
mov ecx, dword [ebp - 0xcbc]
mov dx, word [ecx]
mov word [ebp - 0x103e], dx
mov eax, dword [ebp - 0xcbc]
add eax, 2
mov dword [ebp - 0xcbc], eax
mov cx, word [ebp - 0x103e]
mov word [ebp - 0x21c], cx
mov edx, dword [ebp - 0xcc0]
mov ax, word [edx]
mov word [ebp - 0x1040], ax
mov ecx, dword [ebp - 0xcc0]
add ecx, 2
mov dword [ebp - 0xcc0], ecx
mov dx, word [ebp - 0x1040]
mov word [ebp - 0x38], dx
push eax
push eax
add esp, 4
call 0x4071ce
add byte [ecx], bh
dec ebx
inc ecx
dec edx
cmp dword [0x4c48345], esi
or eax, 0x858
add eax, 0x2d33
or eax, 0x1055f
pop eax
push edx
jmp 0x4071ed
pop edx
movzx eax, word [ebp - 0x38]
test eax, eax
jne 0x40720b
movzx ecx, word [ebp - 0x21c]
movzx edx, word [ebp - 0x38]
sub ecx, edx
mov dword [ebp - 0x1620], ecx
jmp 0x407265
movzx eax, word [ebp - 0x21c]
movzx ecx, word [ebp - 0x38]
cmp eax, ecx
je 0x407133
movzx edx, word [ebp - 0x21c]
xor edx, 0x20
movzx eax, word [ebp - 0x38]
cmp edx, eax
je 0x407133
movzx ecx, word [ebp - 0x21c]
movzx edx, word [ebp - 0x38]
cmp ecx, edx
jge 0x40724f
mov dword [ebp - 0x161c], 0xffffffff
jmp 0x407259
mov dword [ebp - 0x161c], 1
mov eax, dword [ebp - 0x161c]
mov dword [ebp - 0x1620], eax
cmp dword [ebp - 0x1620], 0
jne 0x4072ae
push esi
push ecx
add esp, 4
and esi, 0xae84
pop esi
push esi
push eax
add esp, 4
or esi, 0x51d6
or esi, 0x12f46
pop esi
push eax
sub eax, 0xf7f2
xor eax, 0xbf69
sub eax, 0x116e7
pop eax
mov ecx, dword [ebp - 0x514]
mov dword [ebp - 0x2fc], ecx
jmp 0x407316
push ebx
call 0x4072be
add byte [esi + 0x3d], al
inc esp
inc ebx
inc esi
inc edi
inc eax
inc eax
add esp, 4
pop ebx
push eax
push edx
add esp, 4
call 0x4072d4
add byte [esi + 0x4e], al
inc ecx
dec ebx
push eax
xor eax, 0x4c48332
pop eax
push esi
jmp 0x4072df
pop esi
mov edx, dword [ebp - 0x514]
mov eax, dword [edx]
mov dword [ebp - 0x514], eax
mov ecx, dword [ebp - 0x514]
cmp ecx, dword [ebp - 0xcc4]
je 0x40730c
mov edx, dword [ebp - 0x514]
cmp dword [edx + 0x30], 0
jne 0x4070d7
mov dword [ebp - 0x2fc], 0
push ebx
push edx
add esp, 4
and ebx, 0x701
add byte [ecx + 0x3da2eb], al
add byte [ebx + 0x52], bl
or edx, 0x3816
sub edx, 0x5545
pop edx
push eax
push ecx
add esp, 4
or eax, 0x13a0e
or eax, 0x7b19
pop eax
cmp dword [ebp - 0x2fc], 0
jne 0x407c4d
mov eax, 0x6b
mov word [ebp - 0x1774], ax
mov ecx, 0x65
mov word [ebp - 0x1772], cx
mov edx, 0x72
mov word [ebp - 0x1770], dx
mov eax, 0x6e
mov word [ebp - 0x176e], ax
test dword [edx - 0x46000018], edx
add byte gs:[eax], al
add byte [esi - 0x77], ah
lea edx, [eax + ebp*8 + 0x6cbaffff]
add byte [eax], al
add byte [esi - 0x77], ah
xchg ebp, eax
xchg esi, eax
call 0x33f9739e
add byte [eax], al
add byte [esi - 0x77], ah
test dword [eax - 0x46000018], ebx
xor al, byte [eax]
add byte [eax], al
mov word [ebp - 0x1766], cx
mov edx, 0x2e
mov word [ebp - 0x1764], dx
mov eax, 0x64
mov word [ebp - 0x1762], ax
mov ecx, 0x6c
mov word [ebp - 0x1760], cx
mov edx, 0x6c
mov word [ebp - 0x175e], dx
xor eax, eax
mov word [ebp - 0x175c], ax
push edi
and edi, 0x7cee
sub edi, 0xec94
call 0x407407
add byte [eax + 0x4b], cl
dec ecx
dec ebx
xor eax, dword [edx - 0x7d]
les eax, [edi + ebx*2]
push esi
and esi, 0xff2
pop esi
push eax
or eax, 0xdf2f
jmp 0x40741f
pop eax
mov byte [ebp - 0x8a4], 0x4c
mov byte [ebp - 0x8a3], 0x6f
mov byte [ebp - 0x8a2], 0x61
mov byte [ebp - 0x8a1], 0x64
mov byte [ebp - 0x8a0], 0x4c
mov byte [ebp - 0x89f], 0x69
mov byte [ebp - 0x89e], 0x62
mov byte [ebp - 0x89d], 0x72
mov byte [ebp - 0x89c], 0x61
mov byte [ebp - 0x89b], 0x72
mov byte [ebp - 0x89a], 0x79
invalid
invalid
invalid