Function at 0x403e10
Capabilities:
Get number of processors

Disassembly:
push 0xffffffffffffffff
push 0x4230e9
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x64
movsx eax, word [0x42ca5e]
mov cl, byte [0x42ca7c]
mov dl, byte [0x42ca68]
sub eax, 0x16100001
push ebx
mov dword [0x42ca74], eax
mov al, byte [0x42ca48]
push esi
or cl, dl
push edi
add al, cl
push 0xd01bffff
push 0x2aa7ffff
xor ebx, ebx
xor esi, esi
mov byte [0x42ca48], al
call fcn.0040e840
push 0xff31ffff
push 0x55ebffff
mov byte [0x42ca49], al
call fcn.0040e7e0
mov dword [0x42ca88], eax
mov ecx, 0x11
xor eax, eax
lea edi, [esp + 0x3c]
rep stosd dword es:[edi], eax
mov ecx, dword [0x42ca80]
push 0x853bffff
sub ecx, 0x4aa00002
push 0x917bffff
mov dword [0x42ca80], ecx
call fcn.0040e7a0
movsx edx, byte [0x42ca51]
add word [0x42ca64], ax
push 0xeedfffff
push edx
mov dword [esp + 0x4c], 0x44
call fcn.0040e840
mov ecx, dword [0x42ca7c]
push 0x4f5ffff
add ecx, eax
xor eax, eax
dec word [0x42ca54]
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], eax
push 0xf053ffff
mov dword [esp + 0x3c], eax
mov dword [0x42ca7c], ecx
mov dword [esp + 0x40], eax
call fcn.0040ea40
push eax
push eax
mov dword [0x42ca84], eax
call fcn.0040e9b0
mov edx, dword [sym.imp.MSVCP60.dll_unsigned_int_const_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::npos]
mov dword [0x42ca88], eax
mov eax, dword [esp + 0xb0]
add esp, 0x30
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], ebx
mov cl, byte [eax]
mov dword [esp + 0x28], ebx
mov byte [esp + 0x1c], cl
mov ecx, dword [edx]
push ecx
push ebx
push eax
lea ecx, [esp + 0x28]
call dword [sym.imp.MSVCP60.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_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___unsigned_int__unsigned_int_]
movsx edx, word [0x42ca58]
mov eax, dword [0x42ca80]
mov edi, dword [0x42ca70]
or edx, eax
mov dword [esp + 0x78], ebx
movsx eax, byte [0x42ca4f]
add edi, edx
or eax, 0x767dffff
mov dword [0x42ca7c], eax
mov eax, dword [esp + 0x20]
mov dword [0x42ca70], edi
cmp eax, ebx
jne 0x403f87
mov eax, dword [sym.imp.MSVCP60.dll_char_const__private:_static_char_const____cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Nullstr_void_::_2::_C]
lea ecx, [esp + 0xc]
lea edx, [esp + 0x2c]
push ecx
push edx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push eax
push ebx
call dword [0x42d060]
test eax, eax
je 0x404048
mov eax, dword [0x42ca70]
push eax
push 0x95e1ffff
call fcn.0040e840
mov cx, word [0x42ca70]
push 0xda8fffff
add cx, word [0x42ca5c]
push 0xae19ffff
mov dword [0x42ca74], eax
mov esi, 1
add word [0x42ca54], cx
call fcn.0040e890
mov edx, dword [esp + 0x1c]
mov edi, dword [sym.imp.KERNEL32.DLL_CloseHandle]
add esp, 0x10
mov word [0x42ca52], ax
push edx
call edi
movsx eax, byte [0x42ca4d]
push 0x8e09ffff
push eax
call fcn.0040ea40
mov ecx, dword [0x42ca78]
add esp, 8
add ecx, eax
mov dword [0x42ca78], ecx
mov ecx, dword [esp + 0x10]
push ecx
call edi
movsx edx, byte [0x42ca4f]
push 0x9bf7ffff
push edx
call fcn.0040e7e0
mov cl, byte [0x42ca4f]
add esp, 8
add cl, al
mov byte [0x42ca4f], cl
push 0x8b9fffff
push 0x76a3ffff
call fcn.0040e7e0
add word [0x42ca60], ax
mov al, byte [0x42ca70]
mov cl, byte [0x42ca50]
add esp, 8
dec al
add cl, al
mov byte [0x42ca50], cl
mov ecx, dword [esp + 0x20]
cmp ecx, ebx
je 0x4040ac
mov al, byte [ecx - 1]
cmp al, bl
je 0x4040a2
cmp al, 0xff
je 0x4040a2
dec al
pop edi
mov byte [ecx - 1], al
mov eax, esi
pop esi
pop ebx
mov ecx, dword [esp + 0x64]
mov dword fs:[0], ecx
add esp, 0x70
ret
dec ecx
push ecx
call sub.MFC42.DLL_operatordelete
add esp, 4
mov ecx, dword [esp + 0x70]
mov eax, esi
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
add esp, 0x70
ret