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

Disassembly:
add byte [eax], al
pop ecx
push eax
push edi
add esp, 4
sub eax, 0xfc8e
pop eax
mov ecx, dword [ebp - 0xc84]
mov dword [ebp - 0x15cc], ecx
jmp 0x4052a1
cmp dword [ebp - 0x15cc], 0
jne 0x4052ea
push esi
push ebx
add esp, 4
add esi, 0xa258
or esi, 0x26fa
or esi, 0x13c15
pop esi
push ebx
or ebx, 0x9336
and ebx, 0xa183
add ebx, 0x30c9
sub ebx, 0xdd1d
pop ebx
mov eax, dword [ebp - 0x4fc]
mov dword [ebp - 0x3e8], eax
jmp 0x40532b
jmp 0x405038
push esi
push edi
add esp, 4
add esi, 0x3e59
call 0x405345
add byte [ebx + 0x41], cl
inc esp
dec esi
dec ebx
cmp cl, byte [ebx - 0x7d]
les eax, [esi + ebx*2]
push ebx
sub ebx, 0xbdb9
sub ebx, 0x1843d
or ebx, 0x1513e
pop ebx
push edx
call 0x40536c
add byte [ebx], dh
inc ebx
dec ecx
inc ebx
dec ebx
dec edi
dec eax
inc esp
add esp, 4
xor edx, 0x17abe
add edx, 0xb16
call 0x40538b
add byte [ebp + 0x4a], al
cmp dword [esi + 0x4d], eax
inc esp
aaa
cmp al, byte [esi + 0x4c]
add esp, 4
pop edx
mov ecx, 1
imul edx, ecx, 0
lea eax, [ebp + edx - 0xbe4]
mov dword [ebp - 0x15d0], eax
push edx
push ebx
add esp, 4
call 0x4053b5
add byte [edi + 0x38], cl
xor bh, byte [edx]
cmp eax, 0x4c4834e
and edx, 0x7f57
pop edx
push eax
add eax, 0x2bbd
sub eax, 0x11083
jmp 0x4053d5
pop eax
mov dword [ebp - 0x20f4], 0xffffffff
push ecx
push edx
add esp, 4
and ecx, 0x107c1
jmp 0x4053f0
call 0x405400
add byte [esi + edi], bh
push eax
dec eax
dec ebx
dec esp
inc ecx
dec esi
add esp, 4
pop ecx
push ecx
and ecx, 0x6b90
xor ecx, 0x6c07
pop ecx
mov ecx, dword [ebp - 0x3f0]
mov dword [ebp - 0x500], ecx
jmp 0x40542f
mov edx, dword [ebp - 0x500]
add edx, 1
mov dword [ebp - 0x500], edx
push ebx
call 0x40543c
add byte [esi + 0x3b], al
dec edx
dec edx
xor eax, 0x4c48343
pop ebx
push ebx
push esi
add esp, 4
jmp 0x40544a
call 0x405457
add byte [eax], bh
dec edx
push eax
dec edi
inc edi
dec edx
add esp, 4
xor ebx, 0x52b
pop ebx
mov eax, dword [ebp - 0x500]
sub eax, dword [ebp - 0x3f0]
cmp eax, 0xffffffff
jb 0x4054a9
push esi
jmp 0x40547c
xor esi, 0x12f67
jmp 0x40548b
pop esi
push ecx
push esi
add esp, 4
or ecx, 0x11f8f
or ecx, 0xb7b8
sub ecx, 0x16a2b
pop ecx
jmp 0x4056d7
mov dword [ebp - 0xc88], 7
mov ecx, dword [ebp - 0x500]
mov dword [ebp - 0xac0], ecx
push ecx
call 0x4054cc
add byte [edi + 0x4e], cl
dec edx
inc esp
aas
xor eax, 0x8104c483
rcl ebp, 0xbe
add byte [eax], al
pop ecx
push edi
xor edi, 0xac9f
add edi, 0x99e
jmp 0x4054ea
sub edi, 0x46cd
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 0x405558
push ebx
push ecx
add esp, 4
jmp 0x405523
and ebx, 0xee63
pop ebx
push edx
jmp 0x405532
add edx, 0x6b85
and edx, 0xd4a3
pop edx
push ecx
xor ecx, 0xb4b9
pop ecx
mov ecx, dword [ebp - 0xc8c]
mov dword [ebp - 0x15d4], ecx
jmp 0x405689
cmp dword [ebp - 0xc88], 0
jle 0x40567d
push ecx
jmp 0x40556b
pop ecx
push ebx
push eax
add esp, 4
add ebx, 0x9bed
add ebx, 0x120b3
pop ebx
push esi
push ecx
add esp, 4
jmp 0x40558b
pop esi
push edx
push esi
add esp, 4
jmp 0x405596
pop edx
mov edx, dword [ebp - 0xac0]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0xabc]
movzx edx, byte [ecx]
cmp eax, edx
je 0x405619
push esi
push ebx
add esp, 4
or esi, 0x12355
xor esi, 0x11177
call 0x4055cb
add byte [edx + 0x37], cl
cmp byte [eax], bh
inc ecx
xor al, 0x83
les eax, [ecx + eax*4]
into
out 0, eax
add byte [esi + 0x52], bl
jmp 0x4055de
pop edx
mov eax, dword [ebp - 0xac0]
movzx ecx, byte [eax]
mov edx, dword [ebp - 0xabc]
movzx eax, byte [edx]
cmp ecx, eax
jle 0x405601
mov dword [ebp - 0x15a0], 1
jmp 0x40560b
mov dword [ebp - 0x15a0], 0xffffffff
mov ecx, dword [ebp - 0x15a0]
mov dword [ebp - 0xc8c], ecx
jmp 0x40567d
push ebx
push edi
add esp, 4
or ebx, 0xa67
pop ebx
push edi
push eax
add esp, 4
add edi, 0x43ed
jmp 0x405636
pop edi
push ebx
add ebx, 0xf94a
xor ebx, 0xc791
add ebx, 0x71a2
pop ebx
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
mov ecx, dword [ebp - 0xabc]
add ecx, 1
mov dword [ebp - 0xabc], ecx
jmp 0x405558
mov edx, dword [ebp - 0xc8c]
mov dword [ebp - 0x15d4], edx
cmp dword [ebp - 0x15d4], 0
jne 0x4056d2
push eax
add eax, 0xd4f0
sub eax, 0x1150d
call 0x4056ae
add byte [edi + 0x42], cl
aaa
inc edx
inc ebx
cmp eax, 0x833a403c
les eax, [eax + ebp*8]
or al, byte [eax]
add byte [eax], al
add byte [0x40463733], bh
xor al, byte [eax + edi + 0x40]
add esp, 4
pop eax
mov eax, dword [ebp - 0x500]
mov dword [ebp - 0xab8], eax
jmp 0x405713
jmp 0x405420
push ebx
push edx
add esp, 4
call 0x4056eb
add byte [esi + esi], dh
cmp eax, 0x434a3844
aaa
aas
add esp, 4
xor ebx, 0x253
pop ebx
push ebx
add ebx, 0x8488
sub ebx, 0x5883
add ebx, 0x10d91
pop ebx
mov dword [ebp - 0xab8], 0
push ebx
push ebx
add esp, 4
xor ebx, 0x20df
and ebx, 0xbcbf
sub ebx, 0x137b0
pop ebx
push esi
or esi, 0x13a97
pop esi
push ebx
push edx
add esp, 4
sub ebx, 0x5b2a
sub ebx, 0x104a4
pop ebx
mov byte [ebp - 0x878], 0x45
mov byte [ebp - 0x877], 0x78
mov byte [ebp - 0x876], 0x69
mov byte [ebp - 0x875], 0x74
mov byte [ebp - 0x874], 0x50
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
mov byte [ebp - 0x86e], 0x73
mov byte [ebp - 0x86d], 0
push edx
push eax
add esp, 4
xor edx, 0x13937
add edx, 0x1ba0
xor edx, 0x6511
jmp 0x4057b8
pop edx
push edi
push eax
add esp, 4
sub edi, 0xb6c4
xor edi, 0x5718
pop edi
mov ecx, 0x6b
mov word [ebp - 0x1738], cx
mov edx, 0x65
mov word [ebp - 0x1736], dx
mov eax, 0x72
mov word [ebp - 0x1734], ax
mov ecx, 0x6e
mov word [ebp - 0x1732], cx
mov edx, 0x65
mov word [ebp - 0x1730], dx
mov eax, 0x6c
mov word [ebp - 0x172e], ax
mov ecx, 0x33
mov word [ebp - 0x172c], cx
mov edx, 0x32
mov word [ebp - 0x172a], dx
mov eax, 0x2e
mov word [ebp - 0x1728], ax
mov ecx, 0x64
mov word [ebp - 0x1726], cx
mov edx, 0x6c
mov word [ebp - 0x1724], dx
mov eax, 0x6c
mov word [ebp - 0x1722], ax
xor ecx, ecx
mov word [ebp - 0x1720], cx
push ecx
add ecx, 0xdd28
or ecx, 0x135ad
call 0x405880
add byte [edx + 0x35], cl
dec ecx
inc ebp
dec edx
inc esp
xor al, byte [ecx + 0x49]
add esp, 4
or ecx, 0xe79e
pop ecx
push edi
push eax
add esp, 4
xor edi, 0xdcf2
pop edi
push esi
push edi
add esp, 4
or esi, 0xd96c
sub esi, 0x60a0
pop esi
push ecx
push edx
add esp, 4
add ecx, 0xf991
pop ecx
push edi
push ebx
add esp, 4
xor edi, 0x91fd
pop edi
push eax
and eax, 0x43f6
pop eax
mov edx, dword fs:[0x18]
mov dword [ebp - 0x19a4], edx
mov eax, dword [ebp - 0x19a4]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0x19a8], ecx
mov edx, dword [ebp - 0x19a8]
mov dword [ebp - 0x15d8], edx
push eax
add eax, 0xf9ba
pop eax
push ecx
push eax
add esp, 4
xor ecx, 0x1060f
or ecx, 0x1873
pop ecx
push edi
push ecx
add esp, 4
add edi, 0xf342
or edi, 0x33f7
and edi, 0xfc7b
add byte [edi - 0x7d], bl
mov ebp, 0xffffea28
add byte [ebp + 0xf], dh
mov dword [ebp - 0x31c], 0
jmp 0x405bf6
mov eax, dword [ebp - 0x15d8]
mov ecx, dword [eax + 0xc]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0xc98], edx
push edi
push esi
add esp, 4
add al, 0x81
mul edx
rol dword [eax], cl
add byte [ecx + 0xa33af7], al
add byte [ecx + 0x13c23f7], al
add byte [ecx + 0x7d57ef], al
add byte [edi + 0x51], bl
sub ecx, 0x13d70
xor ecx, 0x540d
sub ecx, 0x10447
pop ecx
cmp dword [ebp - 0xc98], 0
jne 0x405996
mov dword [ebp - 0x31c], 0
jmp 0x405bf6
mov eax, dword [ebp - 0xc98]
mov dword [ebp - 0x504], eax
invalid
invalid
push edi
and edi, 0xe62d
jmp 0x4059af
xor edi, 0x2a30
pop edi
push esi
push esi
add esp, 4
or esi, 0x17fb7
sub esi, 0xb6a2
or esi, 0x146cc
and esi, 0x16086
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 esi
push ecx
add esp, 4
xor esi, 0x3018
pop esi
push ecx
push eax
add esp, 4
and ecx, 0x56ea
pop ecx
push edx
add edx, 0x5a92
sub edx, 0x3bf8
xor edx, 0x185fa
xor edx, 0xe0a8
pop edx
mov eax, dword [ebp - 0xc90]
mov cx, word [eax]
mov word [ebp - 0x1032], cx
mov edx, dword [ebp - 0xc90]
add edx, 2
invalid
xchg ebp, eax
jo 0x405a43