Function at 0x180184be0
Capabilities:
Get system information on windows

Disassembly:
mov qword [rsp + 0x18], r8
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x27]
sub rsp, 0xa0
mov qword [rbp - 0x19], 0xfffffffffffffffe
mov qword [rsp + 0xe8], rbx
mov rbx, rdx
mov rdi, rcx
mov rsi, qword [rcx + 0x18]
mov eax, dword [rcx + 0x38]
test eax, eax
jne 0x180184c7b
lea edx, [rax + 5]
lea rcx, [rbp + 0x67]
call sym.Qt5Core.dll_class_QString___cdecl_qt_error_string_int_
nop
mov r8, rax
mov edx, 0xd
mov rcx, rsi
call sym.Qt5Core.dll_protected:_void___cdecl_QAbstractFileEngine::setError_enum_QFileDevice::FileError__class_QString_const____ptr64____ptr64
nop
mov rax, qword [rbp + 0x67]
mov ecx, dword [rax]
test ecx, ecx
je 0x180184c64
cmp ecx, 0xffffffff
je 0x180184f49
mov ebx, 0xffffffff
mov rax, qword [rbp + 0x67]
lock xadd dword [rax], ebx
cmp ebx, 1
jne 0x180184f49
mov edx, 2
lea r8d, [rdx + 6]
mov rcx, qword [rbp + 0x67]
call sym.Qt5Core.dll_public:_static_void___cdecl_QArrayData::deallocate_struct_QArrayData____ptr64__unsigned_long_long_unsigned___int64___unsigned_long_long_unsigned___int64__
jmp 0x180184f49
test rbx, rbx
jne 0x180184ce1
test r8, r8
jne 0x180184ce1
lea edx, [rbx + 0x57]
lea rcx, [rbp - 0x49]
call sym.Qt5Core.dll_class_QString___cdecl_qt_error_string_int_
nop
mov r8, rax
lea edx, [rbx + 8]
mov rcx, rsi
call sym.Qt5Core.dll_protected:_void___cdecl_QAbstractFileEngine::setError_enum_QFileDevice::FileError__class_QString_const____ptr64____ptr64
nop
mov rax, qword [rbp - 0x49]
mov ecx, dword [rax]
test ecx, ecx
je 0x180184cca
cmp ecx, 0xffffffff
je 0x180184f49
mov ebx, 0xffffffff
mov rax, qword [rbp - 0x49]
lock xadd dword [rax], ebx
cmp ebx, 1
jne 0x180184f49
mov edx, 2
lea r8d, [rdx + 6]
mov rcx, qword [rbp - 0x49]
call sym.Qt5Core.dll_public:_static_void___cdecl_QArrayData::deallocate_struct_QArrayData____ptr64__unsigned_long_long_unsigned___int64___unsigned_long_long_unsigned___int64__
jmp 0x180184f49
xor r15d, r15d
lea r12d, [r15 + 4]
test r9b, 1
je 0x180184cf4
lea r14d, [r15 + 1]
jmp 0x180184d09
test al, 2
je 0x180184d00
mov r14d, 2
jmp 0x180184d09
test al, 1
mov r14d, r15d
cmovne r14d, r12d
cmp qword [rcx + 0x88], r15
jne 0x180184e2c
mov rax, qword [rcx + 0x80]
cmp rax, 0xffffffffffffffff
jne 0x180184da0
mov rcx, qword [rcx + 0x78]
test rcx, rcx
je 0x180184d40
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll__fileno]
mov ecx, eax
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll__get_osfhandle]
cmp rax, 0xffffffffffffffff
jne 0x180184da0
mov edx, 5
lea rcx, [rbp - 0x41]
call sym.Qt5Core.dll_class_QString___cdecl_qt_error_string_int_
nop
mov r8, rax
mov edx, 0xd
mov rcx, rsi
call sym.Qt5Core.dll_protected:_void___cdecl_QAbstractFileEngine::setError_enum_QFileDevice::FileError__class_QString_const____ptr64____ptr64
nop
mov rax, qword [rbp - 0x41]
mov ecx, dword [rax]
test ecx, ecx
je 0x180184d89
cmp ecx, 0xffffffff
je 0x180184f49
mov ebx, 0xffffffff
mov rax, qword [rbp - 0x41]
lock xadd dword [rax], ebx
cmp ebx, 1
jne 0x180184f49
mov edx, 2
lea r8d, [rdx + 6]
mov rcx, qword [rbp - 0x41]
call sym.Qt5Core.dll_public:_static_void___cdecl_QArrayData::deallocate_struct_QArrayData____ptr64__unsigned_long_long_unsigned___int64___unsigned_long_long_unsigned___int64__
jmp 0x180184f49
test byte [rdi + 0x38], 2
mov r8d, 2
cmovne r8d, r12d
mov qword [rsp + 0x28], r15
mov dword [rsp + 0x20], r15d
xor r9d, r9d
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CreateFileMappingW]
mov qword [rdi + 0x88], rax
test rax, rax
jne 0x180184e2c
mov ebx, 0xffffffff
mov edx, ebx
lea rcx, [rbp - 0x39]
call sym.Qt5Core.dll_class_QString___cdecl_qt_error_string_int_
nop
mov r8, rax
lea edx, [rbx + 0xe]
mov rcx, rsi
call sym.Qt5Core.dll_protected:_void___cdecl_QAbstractFileEngine::setError_enum_QFileDevice::FileError__class_QString_const____ptr64____ptr64
nop
mov rax, qword [rbp - 0x39]
mov ecx, dword [rax]
test ecx, ecx
je 0x180184e15
cmp ecx, ebx
je 0x180184f49
mov rax, qword [rbp - 0x39]
lock xadd dword [rax], ebx
cmp ebx, 1
jne 0x180184f49
mov edx, 2
lea r8d, [rdx + 6]
mov rcx, qword [rbp - 0x39]
call sym.Qt5Core.dll_public:_static_void___cdecl_QArrayData::deallocate_struct_QArrayData____ptr64__unsigned_long_long_unsigned___int64___unsigned_long_long_unsigned___int64__
jmp 0x180184f49
mov r13, rbx
sar r13, 0x20
lea rcx, [rbp - 0x11]
call qword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov eax, dword [rbp + 0x17]
dec eax
mov r15d, ebx
and r15d, eax
je 0x180184e4e
not eax
and ebx, eax
mov r12d, r15d
mov rax, qword [rbp + 0x77]
add rax, r12
mov qword [rsp + 0x20], rax
mov r9d, ebx
mov r8d, r13d
mov edx, r14d
mov rcx, qword [rdi + 0x88]
call qword [sym.imp.KERNEL32.dll_MapViewOfFile]
test rax, rax
je 0x180184e9b
lea rbx, [r15 + rax]
mov qword [rbp - 0x21], rbx
lea rcx, [rdi + 0x90]
lea rdx, [rbp - 0x21]
call fcn.1801833c0
mov dword [rax], r15d
mov rax, rbx
jmp 0x180184f4b
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, 0xffffffff
mov edx, ebx
cmp eax, 5
je 0x180184ee7
lea rcx, [rbp - 0x31]
call sym.Qt5Core.dll_class_QString___cdecl_qt_error_string_int_
nop
mov r8, rax
lea edx, [rbx + 9]
mov rcx, rsi
call sym.Qt5Core.dll_protected:_void___cdecl_QAbstractFileEngine::setError_enum_QFileDevice::FileError__class_QString_const____ptr64____ptr64
nop
mov rax, qword [rbp - 0x31]
mov ecx, dword [rax]
test ecx, ecx
je 0x180184ee1
cmp ecx, ebx
je 0x180184f31
mov rax, qword [rbp - 0x31]
lock xadd dword [rax], ebx
cmp ebx, 1
jne 0x180184f31
mov rcx, qword [rbp - 0x31]
jmp 0x180184f22
lea rcx, [rbp - 0x29]
call sym.Qt5Core.dll_class_QString___cdecl_qt_error_string_int_
nop
mov r8, rax
mov edx, 0xd
mov rcx, rsi
call sym.Qt5Core.dll_protected:_void___cdecl_QAbstractFileEngine::setError_enum_QFileDevice::FileError__class_QString_const____ptr64____ptr64
nop
mov rax, qword [rbp - 0x29]
mov ecx, dword [rax]
test ecx, ecx
je 0x180184f1e
cmp ecx, 0xffffffff
je 0x180184f31
mov rax, qword [rbp - 0x29]
lock xadd dword [rax], ebx
cmp ebx, 1
jne 0x180184f31
mov rcx, qword [rbp - 0x29]
mov r8d, 8
lea edx, [r8 - 6]
call sym.Qt5Core.dll_public:_static_void___cdecl_QArrayData::deallocate_struct_QArrayData____ptr64__unsigned_long_long_unsigned___int64___unsigned_long_long_unsigned___int64__
mov rcx, qword [rdi + 0x88]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rdi + 0x88], 0
xor eax, eax
mov rbx, qword [rsp + 0xe8]
add rsp, 0xa0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret