Function at 0x42cc80
Capabilities:
Get number of processors

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x466188
mov eax, dword fs:[0]
push eax
sub esp, 0x7f8
mov eax, dword [0x48602c]
xor eax, esp
mov dword [esp + 0x7f0], eax
push ebx
push esi
push edi
mov eax, dword [0x48602c]
xor eax, esp
push eax
lea eax, [esp + 0x808]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
xor ebx, ebx
push 0x3f
mov dword [esp + 0x1c], eax
mov ecx, 0x6c
lea esi, [ebp + 0xc]
lea edi, [esp + 0xc0]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp + 0x1bc]
lea eax, [esp + 0x341]
push ebx
push eax
mov dword [esp + 0x30], ecx
mov dword [esp + 0x2c], edx
mov byte [esp + 0x348], bl
call sub.MSVCR80.dll_memset
add esp, 0xc
lea ecx, [esp + 0x4c]
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_void_]
lea ecx, [esp + 0x4c]
push ecx
lea esi, [esp + 0x270]
mov dword [esp + 0x814], ebx
call fcn.0042f2c0
mov edx, dword [sym.imp.MSVCP80.dll_unsigned_int_const_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::npos]
mov eax, dword [edx]
add esp, 4
push eax
push 8
lea ecx, [esp + 0x274]
push ecx
lea ecx, [esp + 0x58]
call dword [sym.imp.MSVCP80.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char_____thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::substr_unsigned_int__unsigned_int_]
push eax
lea ecx, [esp + 0x50]
mov byte [esp + 0x814], 1
call dword [sym.imp.MSVCP80.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::operator_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const__]
lea ecx, [esp + 0x26c]
mov byte [esp + 0x810], bl
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
push 0x7f
lea edx, [esp + 0x381]
push ebx
push edx
mov byte [esp + 0x388], bl
call sub.MSVCR80.dll_memset
lea eax, [esp + 0x388]
add esp, 0xc
push eax
call fcn.0042f6f0
add esp, 4
test al, al
jne 0x42cdd8
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, dword [esp + 0x18]
push eax
push 0xd7b
push str._RBW:_d_Error_Code:_d
add ecx, 0x1f0
call fcn.00432450
add esp, 0xc
lea ecx, [esp + 0x4c]
mov dword [esp + 0x810], 0xffffffff
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
xor al, al
jmp 0x42d571
lea ecx, [esp + 0x37c]
push ecx
lea ecx, [esp + 0xa4]
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
lea esi, [esp + 0xa0]
mov byte [esp + 0x810], 2
call fcn.00431600
lea ecx, [esp + 0x4c]
call dword [sym.imp.MSVCP80.dll_public:_unsigned_int___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::size_void_const]
push eax
lea ecx, [esp + 0x50]
call dword [sym.imp.MSVCP80.dll_public:_char_const____thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::c_str_void_const]
push eax
lea edx, [esp + 0x344]
push edx
call sub.MSVCR80.dll_memcpy
add esp, 0xc
mov ecx, esi
call dword [sym.imp.MSVCP80.dll_public:_char_const____thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::c_str_void_const]
mov ecx, dword [eax]
mov esi, dword [esp + 0x116]
mov dword [esp + 0x344], ecx
mov edx, dword [eax + 4]
mov dword [esp + 0x348], edx
mov eax, 0xd1b71759
mul esi
mov ecx, edx
shr ecx, 0xd
mov edx, ecx
imul edx, edx, 0x2710
mov eax, esi
sub eax, edx
xor edx, edx
mov esi, 0x64
div esi
mov edi, dword [esp + 0x11a]
mov byte [esp + 0x31c], bl
mov byte [esp + 0x2fc], bl
mov byte [esp + 0x29c], bl
mov dword [esp + 0x2c], eax
mov dword [esp + 0x28], edx
mov eax, 0xd1b71759
mul edi
mov esi, edx
shr esi, 0xd
mov edx, esi
imul edx, edx, 0x2710
mov eax, edi
sub eax, edx
xor edx, edx
mov edi, 0x64
div edi
mov dword [esp + 0x26c], eax
xor eax, eax
mov dword [esp + 0x1c], edx
mov dword [esp + 0x31d], eax
mov dword [esp + 0x321], eax
mov dword [esp + 0x325], eax
mov dword [esp + 0x329], eax
mov dword [esp + 0x32d], eax
mov dword [esp + 0x331], eax
mov dword [esp + 0x335], eax
mov word [esp + 0x339], ax
mov byte [esp + 0x33b], al
mov dword [esp + 0x2fd], eax
mov dword [esp + 0x301], eax
mov dword [esp + 0x305], eax
mov dword [esp + 0x309], eax
mov dword [esp + 0x30d], eax
mov dword [esp + 0x311], eax
mov dword [esp + 0x315], eax
mov word [esp + 0x319], ax
mov byte [esp + 0x31b], al
mov dword [esp + 0x29d], eax
mov dword [esp + 0x2a1], eax
mov dword [esp + 0x2a5], eax
mov dword [esp + 0x2a9], eax
mov dword [esp + 0x2ad], eax
mov dword [esp + 0x2b1], eax
mov dword [esp + 0x2b5], eax
mov edx, dword [esp + 0x2c]
mov word [esp + 0x2b9], ax
mov byte [esp + 0x2bb], al
mov eax, dword [esp + 0x28]
push eax
push edx
push ecx
lea ecx, [edi - 0x44]
push str._04d__02d__02d
lea edi, [esp + 0x32c]
call fcn.004124c0
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x27c]
push eax
push ecx
push esi
push str._04d__02d__02d
mov ecx, 0x20
lea edi, [esp + 0x31c]
call fcn.004124c0
mov edx, dword [esp + 0x13e]
push edx
push str._03d
mov ecx, 0x20
lea edi, [esp + 0x2c4]
call fcn.004124c0
mov esi, dword [sym.imp.MSVCR80.dll__itoa]
xor eax, eax
add esp, 0x28
cmp dword [esp + 0x22e], ebx
mov byte [esp + 0x290], bl
mov dword [esp + 0x291], eax
mov dword [esp + 0x295], eax
mov byte [esp + 0x299], al
je 0x42d024
mov ecx, dword [esp + 0x122]
push 0xa
lea eax, [esp + 0x294]
push eax
push ecx
call esi
add esp, 0xc
lea ecx, [esp + 0x30]
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_void_]
push 0x16
lea edx, [esp + 0xf2]
push edx
lea ecx, [esp + 0x38]
mov byte [esp + 0x818], 3
call dword [sym.imp.MSVCP80.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::assign_char_const___unsigned_int_]
push 0x47c1c4
lea ecx, [esp + 0x34]
call dword [0x4682c8]
lea eax, [esp + 0x33c]
push eax
lea ecx, [esp + 0x34]
call dword [0x4682c8]
push 0x47c1c4
lea ecx, [esp + 0x34]
call dword [0x4682c8]
lea ecx, [esp + 0x31c]
push ecx
lea ecx, [esp + 0x34]
call dword [0x4682c8]
push 0x47c1c4
lea ecx, [esp + 0x34]
call dword [0x4682c8]
lea edx, [esp + 0x2fc]
push edx
lea ecx, [esp + 0x34]
call dword [0x4682c8]
cmp dword [esp + 0x22e], ebx
je 0x42d15a
push 0x47c1c4
lea ecx, [esp + 0x34]
call dword [0x4682c8]
lea eax, [esp + 0x1a6]
push eax
lea ecx, [esp + 0x34]
call dword [0x4682c8]
push 0x47c1c4
lea ecx, [esp + 0x34]
call dword [0x4682c8]
mov edx, dword [esp + 0x226]
push 0xa
lea ecx, [esp + 0x270]
push ecx
push edx
mov byte [esp + 0x278], bl
mov dword [esp + 0x279], ebx
mov dword [esp + 0x27d], ebx
mov dword [esp + 0x281], ebx
mov dword [esp + 0x285], ebx
mov dword [esp + 0x289], ebx
mov dword [esp + 0x28d], ebx
mov dword [esp + 0x291], ebx
mov word [esp + 0x295], bx
mov byte [esp + 0x297], bl
call esi
add esp, 0xc
lea eax, [esp + 0x26c]
push eax
lea ecx, [esp + 0x34]
call dword [0x4682c8]
push 0x47c1c4
lea ecx, [esp + 0x34]
call dword [0x4682c8]
lea ecx, [esp + 0x29c]
push ecx
lea ecx, [esp + 0x34]
call dword [0x4682c8]
cmp dword [esp + 0x22e], ebx
je 0x42d249
push 0x47c1c4
lea ecx, [esp + 0x34]
call dword [0x4682c8]
lea edx, [esp + 0x290]
push edx
lea ecx, [esp + 0x34]
call dword [0x4682c8]
push 0x47c1c4
lea ecx, [esp + 0x34]
call dword [0x4682c8]
mov ecx, dword [esp + 0x232]
push 0xa
lea eax, [esp + 0x2c0]
push eax
push ecx
mov byte [esp + 0x2c8], bl
mov dword [esp + 0x2c9], ebx
mov dword [esp + 0x2cd], ebx
mov dword [esp + 0x2d1], ebx
mov dword [esp + 0x2d5], ebx
mov dword [esp + 0x2d9], ebx
mov dword [esp + 0x2dd], ebx
mov dword [esp + 0x2e1], ebx
mov word [esp + 0x2e5], bx
mov byte [esp + 0x2e7], bl
call esi
add esp, 0xc
lea edx, [esp + 0x2bc]
push edx
lea ecx, [esp + 0x34]
call dword [0x4682c8]
push 0x47c1c4
lea ecx, [esp + 0x34]
call dword [0x4682c8]
lea eax, [esp + 0x126]
push eax
lea ecx, [esp + 0x34]
call dword [0x4682c8]
lea ecx, [esp + 0x30]
call dword [sym.imp.MSVCP80.dll_public:_unsigned_int___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::size_void_const]
lea ecx, [esp + 0x30]
mov esi, eax
call dword [sym.imp.MSVCP80.dll_public:_char_const____thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::c_str_void_const]
xor edx, edx
xor ecx, ecx
cmp esi, ebx
jle 0x42d274
movzx edi, byte [ecx + eax]
add ecx, 1
add edx, edi
cmp ecx, esi
jl 0x42d267
xor eax, eax
push edx
push 0x47c22c
lea ecx, [eax + 0x20]
lea edi, [esp + 0x2e4]
mov byte [esp + 0x2e4], bl
mov dword [esp + 0x2e5], eax
mov dword [esp + 0x2e9], eax
mov dword [esp + 0x2ed], eax
mov dword [esp + 0x2f1], eax
mov dword [esp + 0x2f5], eax
mov dword [esp + 0x2f9], eax
mov dword [esp + 0x2fd], eax
mov word [esp + 0x301], ax
mov byte [esp + 0x303], al
call fcn.004124c0
add esp, 8
mov ecx, edi
push ecx
lea ecx, [esp + 0x6c]
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
push 0x47c1c4
lea ecx, [esp + 0x6c]
mov byte [esp + 0x814], 4
call dword [0x4682c8]
lea edx, [esp + 0x30]
push edx
lea ecx, [esp + 0x6c]
call dword [0x4682cc]
push 0x1ff
lea eax, [esp + 0x401]
push ebx
push eax
mov byte [esp + 0x408], bl
call sub.MSVCR80.dll_memset
add esp, 0xc
lea ecx, [esp + 0x68]
call dword [sym.imp.MSVCP80.dll_public:_unsigned_int___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::size_void_const]
lea ecx, [esp + 0x68]
mov edi, eax
call dword [sym.imp.MSVCP80.dll_public:_char_const____thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::c_str_void_const]
push 0x200
lea ecx, [esp + 0x400]
push ecx
mov dword [esp + 0x274], eax
call dword [sym.imp.KERNEL32.dll_IsBadWritePtr]
test eax, eax
jne 0x42d370
mov ebx, dword [esp + 0x26c]
lea esi, [esp + 0x3fc]
mov eax, edi
call fcn.00434040
xor ebx, ebx
push str.OFFLINE
lea ecx, [esp + 0x88]
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
lea edx, [esp + 0x3fc]
push edx
lea ecx, [esp + 0x88]
mov byte [esp + 0x814], 5
call dword [0x4682c8]
push 0x1ff
lea eax, [esp + 0x601]
push ebx
push eax
mov byte [esp + 0x608], bl
call sub.MSVCR80.dll_memset
xor eax, eax
add esp, 0xc
lea ecx, [esp + 0x84]
mov dword [esp + 0x14], 0x200
mov dword [esp + 0x270], eax
mov dword [esp + 0x274], eax
mov dword [esp + 0x278], eax
mov esi, 0x468ce8
lea edi, [eax + 0x40]
call dword [sym.imp.MSVCP80.dll_public:_char_const____thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::c_str_void_const]
lea ecx, [esp + 0x84]
mov dword [esp + 0x26c], eax
call dword [sym.imp.MSVCP80.dll_public:_unsigned_int___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::size_void_const]
mov edx, dword [esp + 0x26c]
lea ecx, [esp + 0x14]
push ecx
sub esp, 0x10
mov ecx, esp
mov dword [ecx], edx
mov dword [ecx + 4], eax
mov dword [ecx + 8], esi
lea edx, [esp + 0x610]
mov dword [ecx + 0xc], edi
call fcn.00433c00
push 0x200
lea eax, [esp + 0x400]
push ebx
push eax
call sub.MSVCR80.dll_memset
mov edi, dword [esp + 0x20]
add esp, 0xc
push 0x200
lea ecx, [esp + 0x400]
push ecx
call dword [sym.imp.KERNEL32.dll_IsBadWritePtr]
test eax, eax
jne 0x42d474
lea esi, [esp + 0x3fc]
mov eax, edi
lea ebx, [esp + 0x5fc]
call fcn.00434040
xor ebx, ebx
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x20]
cmp dword [ecx], eax
mov dword [ecx], eax
jae 0x42d4f7
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, dword [esp + 0x18]
push eax
push 0xde1
push str._RBW:_d_Error_Code:_d
add ecx, 0x1f0
call fcn.00432450
add esp, 0xc
lea ecx, [esp + 0x84]
mov byte [esp + 0x810], 4
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea ecx, [esp + 0x68]
mov byte [esp + 0x810], 3
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea ecx, [esp + 0x30]
mov byte [esp + 0x810], 2
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea ecx, [esp + 0xa0]
mov byte [esp + 0x810], bl
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
jmp 0x42cdbc
push eax
mov eax, dword [esp + 0x28]
lea edx, [esp + 0x400]
push edx
push eax
call sub.MSVCR80.dll_memcpy
add esp, 0xc
lea ecx, [esp + 0x84]
mov byte [esp + 0x810], 4
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea ecx, [esp + 0x68]
mov byte [esp + 0x810], 3
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea ecx, [esp + 0x30]
mov byte [esp + 0x810], 2
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea ecx, [esp + 0xa0]
mov byte [esp + 0x810], bl
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea ecx, [esp + 0x4c]
mov dword [esp + 0x810], 0xffffffff
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov al, 1
mov ecx, dword [esp + 0x808]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x7f0]
xor ecx, esp
call fcn.0043ad38
mov esp, ebp
pop ebp
ret 0x1b8