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

Disassembly:
mov edx, dword [ebp - 0x500]
add edx, 1
mov dword [ebp - 0x500], edx
push edi
sub edi, 0x2939
and edi, 0x8094
or edi, 0x15d79
sub edi, 0x6d37
pop edi
push eax
add eax, 0x1668b
call 0x412c3b
add byte [edx + 0x36], cl
dec esi
cmp eax, 0x83334448
les eax, [eax + ebx*2]
mov eax, dword [ebp - 0x500]
sub eax, dword [ebp - 0x3f0]
cmp eax, 0xffffffff
jb 0x412c87
push ecx
add ecx, 0xe5fc
and ecx, 0xb555
pop ecx
push ecx
push esi
add esp, 4
call 0x412c72
add byte [esi + 0x40], cl
push eax
inc ebp
xor cl, byte [eax + eax*2 + 0x3a]
inc ebp
add esp, 4
jmp 0x412c7b
xor ecx, 0x12d63
pop ecx
jmp 0x412eb5
mov dword [ebp - 0xc88], 7
mov ecx, dword [ebp - 0x500]
mov dword [ebp - 0xac0], ecx
push ebx
or ebx, 0x11ceb
and ebx, 0x13dfe
call 0x412cb7
add byte [esi], dh
dec ebp
inc ebp
inc esp
cmp al, 0x43
add esp, 4
pop ebx
push edx
add edx, 0x7fb7
xor edx, 0xa5ae
add edx, 0x68f3
pop edx
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 0x412d36
push ecx
push eax
add esp, 4
or ecx, 0x16c16
add ecx, 0x151f4
pop ecx
push ebx
push eax
add esp, 4
xor ebx, 0x461c
or ebx, 0xbfdd
pop ebx
push edx
push esi
add esp, 4
jmp 0x412d24
pop edx
mov ecx, dword [ebp - 0xc8c]
mov dword [ebp - 0x15d4], ecx
jmp 0x412e67
cmp dword [ebp - 0xc88], 0
jle 0x412e5b
add dword [eax], eax
invalid
add dword [eax], eax
add byte [ebx + 0x51], dl
push ebx
push ecx
add esp, 4
or ebx, 0xc9f3
sub ebx, 0xc9a9
or ebx, 0x1022b
add ebx, 0x1097a
pop ebx
push ecx
xor ecx, 0xbc79
and ecx, 0x5e3c
xor ecx, 0x670c
pop ecx
mov edx, dword [ebp - 0xac0]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0xabc]
movzx edx, byte [ecx]
cmp eax, edx
je 0x412df7
push eax
push edi
add esp, 4
jmp 0x412d98
pop eax
push ecx
push esi
add esp, 4
add ecx, 0xffd1
jmp 0x412dac
pop ecx
push edx
sub edx, 0x14eb0
jmp 0x412dbc
pop edx
mov eax, dword [ebp - 0xac0]
movzx ecx, byte [eax]
mov edx, dword [ebp - 0xabc]
movzx eax, byte [edx]
cmp ecx, eax
jle 0x412ddf
mov dword [ebp - 0x15a0], 1
jmp 0x412de9
mov dword [ebp - 0x15a0], 0xffffffff
mov ecx, dword [ebp - 0x15a0]
mov dword [ebp - 0xc8c], ecx
jmp 0x412e5b
push ecx
push esi
add esp, 4
add ecx, 0x9780
add byte [eax], al
pop ecx
push edi
push ecx
add esp, 4
jmp 0x412e10
pop edi
push ecx
push ebx
add esp, 4
xor ecx, 0xd111
xor ecx, 0x75b1
xor ecx, 0x91c8
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
mov ecx, dword [ebp - 0xabc]
add ecx, 1
mov dword [ebp - 0xabc], ecx
jmp 0x412d36
mov edx, dword [ebp - 0xc8c]
mov dword [ebp - 0x15d4], edx
cmp dword [ebp - 0x15d4], 0
jne 0x412eb0
push ecx
push esi
add esp, 4
or ecx, 0x2add
call 0x412e89
add byte [ebp + 0x4d], al
dec eax
dec ebp
dec esi
xor eax, 0xc4833b3f
add al, 0xe8
pop es
add byte [eax], al
add byte [eax], al
xor eax, dword [eax + 0x33]
inc esp
aas
cmp byte [ebx - 0x167efb3c], al
ficomp word [eax]
add dword [eax], eax
pop ecx
mov eax, dword [ebp - 0x500]
mov dword [ebp - 0xab8], eax
jmp 0x412ef1
jmp 0x412bfe
push esi
push edi
add esp, 4
or esi, 0x18458
xor esi, 0x157f8
jmp 0x412ecc
sub esi, 0x109af
pop esi
push eax
push ebx
add esp, 4
sub eax, 0x7e91
pop eax
push ecx
or ecx, 0x9bee
pop ecx
mov dword [ebp - 0xab8], 0
push edx
or edx, 0x5d4a
pop edx
push eax
or eax, 0xcdb9
pop eax
push edi
add edi, 0xba30
or edi, 0x91e0
pop edi
push ecx
call 0x412f1f
add byte [eax + edx*2], bh
xor al, 0x4b
cmp dh, byte [0x833c3933]
les eax, [ecx + ebx*2]
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
sub edx, 0x113b2
call 0x412f8d
add byte [ecx + eax*2 + 0x48], cl
cmp esi, dword [esi]
inc ebx
xor bh, byte [ebx]
cmp al, byte [ebx + 0x4eb04c4]
xor eax, 0x5a36384e
push ecx
push ecx
add esp, 4
and ecx, 0x16763
sub ecx, 0x1486c
pop ecx
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 edx
push ecx
add esp, 4
jmp 0x41304d
jmp 0x413056
sub edx, 0xc070
call 0x413068
add byte [ebx + 0x49], al
dec edx
push eax
xor eax, 0x4c48342
pop edx
push eax
and eax, 0x18cf
pop eax
push edi
push edi
add esp, 4
add edi, 0x8dfb
jmp 0x413088
jmp 0x41308d
and edi, 0x110e9
pop edi
push edi
push ecx
add esp, 4
sub edi, 0x4109
xor edi, 0xc1df
pop edi
mov edx, dword fs:[0x18]
mov dword [ebp - 0x1954], edx
mov eax, dword [ebp - 0x1954]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0x1958], ecx
mov edx, dword [ebp - 0x1958]
mov dword [ebp - 0x15d8], edx
push ebx
push eax
add esp, 4
jmp 0x4130d8
pop ebx
push ebx
push ebx
add esp, 4
jmp 0x4130e5
add ebx, 0x5236
and ebx, 0xf0be
pop ebx
push esi
and esi, 0x149e9
add esi, 0x3bc5
pop esi
cmp dword [ebp - 0x15d8], 0
jne 0x413118
mov dword [ebp - 0x31c], 0
jmp 0x4133d4
mov eax, dword [ebp - 0x15d8]
mov ecx, dword [eax + 0xc]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0xc98], edx
push edi
jmp 0x413131
add edi, 0x183f5
jmp 0x41313f
add edi, 0xa81e
pop edi
push eax
or eax, 0xb637
pop eax
push ecx
or ecx, 0x11b9b
or ecx, 0x49f0
pop ecx
cmp dword [ebp - 0xc98], 0
jne 0x413174
mov dword [ebp - 0x31c], 0
jmp 0x4133d4
mov eax, dword [ebp - 0xc98]
mov dword [ebp - 0x504], eax