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

Disassembly:
add dword [eax], eax
jmp 0x437ffa
and esi, 0x5eb1
pop esi
push ebx
sub ebx, 0xa053
pop ebx
push ecx
add ecx, 0x9b03
add ecx, 0x129f
pop ecx
mov dword [ebp - 0x738], 0
jmp 0x438710
push edx
jmp 0x438717
add edx, 0x78dc
sub edx, 0xdf58
sub edx, 0x101e2
pop edx
push ecx
push edi
add esp, 4
and ecx, 0x175e3
jmp 0x43873b
add ecx, 0xe42b
pop ecx
mov ecx, dword [ebp - 0x3cc]
add ecx, 0xe
mov dword [ebp - 0x1918], ecx
push eax
push eax
add esp, 4
add eax, 0x3f57
sub eax, 0x14aa1
pop eax
push eax
sub eax, 0x7453
call 0x438779
add byte [0x4b453e3d], dh
inc edi
xor bh, byte [ecx + eax*2]
add esp, 4
sub eax, 0xf13a
pop eax
cmp dword [ebp - 0x3cc], 0
je 0x438795
cmp dword [ebp - 0xa5c], 0
jne 0x4387db
push eax
or eax, 0x60a3
add eax, 0xf410
call 0x4387ae
add byte [ecx], bh
cmp eax, 0x33373f36
add esp, 4
add eax, 0x8ffa
pop eax
push edi
push edx
add esp, 4
jmp 0x4387c6
pop edi
mov edx, dword [ebp - 0x738]
mov dword [ebp - 0x18d0], edx
push 0
call dword [ebp - 0x18d0]
mov dword [ebp - 0x1fb0], 0xa
push edx
jmp 0x4387ec
pop edx
push edx
or edx, 0x16a2b
and edx, 0x185aa
and edx, 0x16ff8
pop edx
push ecx
jmp 0x43880a
add ecx, 0x11703
and ecx, 0x115f1
pop ecx
mov eax, dword [ebp - 0x3cc]
mov cl, byte [eax + 0xa]
mov byte [ebp - 0x381], cl
mov edx, dword [ebp - 0xa5c]
sub edx, dword [ebp - 0x3cc]
mov dword [ebp - 0x158c], edx
mov dword [ebp - 0xc70], 0
push eax
jmp 0x43884a
call 0x438856
add byte [ecx + 0x4b], al
inc esi
inc edx
dec ecx
push eax
add esp, 4
pop eax
push edi
xor edi, 0x1074
or edi, 0x14e1a
sub edi, 0x2cde
sub edi, 0x14cdd
pop edi
mov byte [ebp - 0x960], 0x56
mov byte [ebp - 0x95f], 0x69
mov byte [ebp - 0x95e], 0x72
mov byte [ebp - 0x95d], 0x74
mov byte [ebp - 0x95c], 0x75
mov byte [ebp - 0x95b], 0x61
mov byte [ebp - 0x95a], 0x6c
mov byte [ebp - 0x959], 0x50
mov byte [ebp - 0x958], 0x72
mov byte [ebp - 0x957], 0x6f
mov byte [ebp - 0x956], 0x74
mov byte [ebp - 0x955], 0x65
mov byte [ebp - 0x954], 0x63
mov byte [ebp - 0x953], 0x74
mov byte [ebp - 0x952], 0
push esi
push ebx
add esp, 4
xor esi, 0x13f64
pop esi
push esi
push edi
add esp, 4
sub esi, 0xe819
pop esi
push esi
push ebx
add esp, 4
and esi, 0x567e
pop esi
push esi
xor esi, 0x12b7f
and esi, 0x6940
pop esi
mov eax, dword fs:[0x18]
mov dword [ebp - 0x1c34], eax
mov ecx, dword [ebp - 0x1c34]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0x18d4], edx
mov eax, dword [ebp - 0x18d4]
mov dword [ebp - 0x150c], eax
push eax
push edi
add esp, 4
call 0x43894a
add byte [ecx], bh
dec eax
aaa
dec esi
inc ebp
cmp al, 0x4e
dec eax
inc esi
add esp, 4
jmp 0x438953
and eax, 0x140c2
pop eax
push edi
and edi, 0x11704
or edi, 0x1230b
pop edi
cmp dword [ebp - 0x150c], 0
jne 0x438980
mov dword [ebp - 0x2a8], 0
jmp 0x438c27
mov ecx, dword [ebp - 0x150c]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xc4c], eax
push ebx
push ecx
add esp, 4
call 0x4389a4
add byte [ecx + 0x4d], cl
dec ebx
inc ebp
dec edi
cmp eax, dword [esi - 0x7d]
les eax, [ecx + eax*4]
retf
push esi
call 0x438c35
add byte [esi + 0x3d], al
cmp al, 0x33
cmp eax, 0xc4833a37
add al, 0x5e
push ebx
xor ebx, 0xe384
call 0x438c4f
add byte [ebp + 0x37], al
dec edx
inc eax
inc edi
inc ebp
inc edx
cmp edx, dword [eax - 0x7d]
les eax, [ecx + eax*4]
ret