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

Disassembly:
push 0xffffffffffffffff
mov eax, dword fs:[0]
push 0x403536
push eax
mov eax, 0x10054
mov dword fs:[0], esp
call fcn.004030a0
mov al, 0x71
push ebx
mov byte [esp + 0xe], al
mov byte [esp + 0x10], al
mov al, 0x69
push ebp
mov byte [esp + 0x1a], al
mov byte [esp + 0x20], al
mov byte [esp + 0x28], al
mov al, 0x74
mov byte [esp + 0x2c], al
mov byte [esp + 0x34], al
mov eax, dword [esp + 0x10070]
push esi
push edi
xor ebx, ebx
push eax
mov cl, 0x46
push ebx
push 0x10
mov dword [esp + 0x20], ebx
mov byte [esp + 0x24], 0x5c
mov byte [esp + 0x25], bl
mov byte [esp + 0x27], bl
mov byte [esp + 0x29], bl
mov byte [esp + 0x2a], 0x5c
mov byte [esp + 0x2b], bl
mov byte [esp + 0x2c], cl
mov byte [esp + 0x2d], bl
mov byte [esp + 0x2f], bl
mov byte [esp + 0x30], 0x78
mov byte [esp + 0x31], bl
mov byte [esp + 0x32], cl
mov byte [esp + 0x33], bl
mov byte [esp + 0x35], bl
mov byte [esp + 0x36], 0x6c
mov byte [esp + 0x37], bl
mov byte [esp + 0x38], 0x65
mov byte [esp + 0x39], bl
mov byte [esp + 0x3a], 0x4c
mov byte [esp + 0x3b], bl
mov byte [esp + 0x3d], bl
mov byte [esp + 0x3e], 0x73
mov byte [esp + 0x3f], bl
mov byte [esp + 0x41], bl
mov byte [esp + 0x42], 0x2e
mov byte [esp + 0x43], bl
mov byte [esp + 0x44], 0x64
mov byte [esp + 0x45], bl
mov byte [esp + 0x46], 0x61
mov byte [esp + 0x47], bl
mov byte [esp + 0x49], bl
call dword [sym.imp.KERNEL32.dll_OpenProcess]
mov esi, eax
cmp esi, ebx
mov dword [esp + 0x14], esi
je 0x401df6
mov edi, 0x100000
mov dword [esp + 0x10], edi
lea ecx, [esp + 0x4c]
lea edx, [esp + 0x64]
push ecx
push 0x10000
push edx
push edi
push esi
call dword [sym.imp.KERNEL32.dll_ReadProcessMemory]
test eax, eax
je 0x401dd9
xor ebp, ebp
mov ecx, 0x13
lea edi, [esp + 0x18]
lea esi, [esp + ebp + 0x64]
xor eax, eax
repe cmpsw word [esi], word es:[edi]
jne 0x401dc8
xor ecx, ecx
lea esi, [esp + ebp + 0x50]
mov dword [esp + 0x41], ecx
lea edi, [esp + 0x50]
mov dword [esp + 0x45], ecx
mov byte [esp + 0x40], bl
mov word [esp + 0x49], cx
mov ecx, 5
rep movsd dword es:[edi], dword [esi]
xor esi, esi
lea edx, [esp + 0x50]
mov cl, byte [edx]
cmp eax, 4
mov byte [esp + eax + 0x40], cl
jle 0x401dba
cmp cl, 0x39
jg 0x401db9
cmp cl, 0x30
jge 0x401dba
inc esi
inc eax
add edx, 2
cmp eax, 0xa
jl 0x401da4
cmp esi, 1
jl 0x401e24
inc ebp
cmp ebp, 0x10000
jl 0x401d68
mov edi, dword [esp + 0x10]
mov esi, dword [esp + 0x14]
add edi, 0x10000
cmp edi, 0x3000000
mov dword [esp + 0x10], edi
jb 0x401d4b
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov esi, dword [esp + 0x10074]
push 0x406410
mov ecx, esi
call sub.MFC42.DLL_CString::CString_1
mov ecx, dword [esp + 0x10064]
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x10060
ret
lea edx, [esp + 0x40]
lea ecx, [esp + 0x10]
push edx
call sub.MFC42.DLL_CString::CString_1
push 0x5c
lea ecx, [esp + 0x14]
mov dword [esp + 0x10070], ebx
call sub.MFC42.DLL_CString::Find
cmp eax, 0xffffffff
je 0x401e86
mov ecx, dword [esp + 0x10]
lea edx, [esp + 0x14]
mov ecx, dword [ecx - 8]
sub ecx, eax
dec ecx
inc eax
push ecx
push eax
push edx
lea ecx, [esp + 0x1c]
call sub.MFC42.DLL_CString::Mid
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x10070], 1
call sub.MFC42.DLL_CString::operator
lea ecx, [esp + 0x14]
mov byte [esp + 0x1006c], bl
call fcn.00402e9e
mov esi, dword [esp + 0x10074]
lea eax, [esp + 0x10]
push eax
mov ecx, esi
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x10]
mov dword [esp + 0x1006c], 0xffffffff
call fcn.00402e9e
jmp 0x401e09