Function at 0x140052818
Capabilities:
Get system information on windows

Disassembly:
mov rax, rsp
push rdi
push r14
push r15
sub rsp, 0x60
mov qword [rax - 0x58], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov esi, edx
mov r15, rcx
test edx, edx
jne 0x14005286f
xorps xmm0, xmm0
movups xmmword [rax - 0x50], xmm0
movups xmmword [rax - 0x40], xmm0
movups xmmword [rax - 0x30], xmm0
lea rcx, [rax - 0x50]
call qword [sym.imp.api_ms_win_core_sysinfo_l1_1_0.dll_GetSystemInfo]
nop dword [rax + rax]
mov esi, dword [rsp + 0x48]
cmp esi, 1
jae 0x14005286f
mov eax, 0x80070057
jmp 0x140052a60
xor ebx, ebx
mov qword [rsp + 0x90], rbx
lea ecx, [rbx + 0x38]
call fcn.1400c8f30
mov rdi, rax
test rdi, rdi
je 0x1400528b9
lea rax, [0x1400d6948]
mov qword [rdi], rax
and qword [rdi + 8], rbx
lea rax, [0x1400d6d70]
mov qword [rdi + 0x10], rax
and qword [rdi + 0x18], rbx
lea rax, [0x1400d6d78]
mov qword [rdi + 0x20], rax
and qword [rdi + 0x28], rbx
and qword [rdi + 0x30], rbx
xor r8d, r8d
test rdi, rdi
je 0x1400528dc
lea rcx, [rsp + 0x90]
call fcn.140052b34
mov rbx, rdi
mov qword [rsp + 0x90], rbx
mov r8, rdi
add r8, 8
lea rdx, [0x140052a80]
mov ecx, 4
call qword [sym.imp.api_ms_win_core_libraryloader_l1_2_0.dll_GetModuleHandleExW]
nop dword [rax + rax]
test eax, eax
jne 0x140052925
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
nop dword [rax + rax]
movzx ebx, ax
or ebx, 0x80070000
test eax, eax
cmovle ebx, eax
mov edi, 0x80004005
test ebx, ebx
cmovns ebx, edi
jmp 0x1400529f0
xor r8d, r8d
mov rdx, rbx
lea rcx, [0x140052a80]
call qword [sym.imp.api_ms_win_core_threadpool_l1_2_0.dll_CreateThreadpoolWork]
nop dword [rax + rax]
mov rdi, rax
mov rcx, qword [rbx + 0x28]
cmp rax, rcx
je 0x14005295f
test rcx, rcx
je 0x14005295b
call qword [sym.imp.api_ms_win_core_threadpool_l1_2_0.dll_CloseThreadpoolWork]
nop dword [rax + rax]
mov qword [rbx + 0x28], rdi
cmp qword [rbx + 0x28], 0
jne 0x140052990
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
nop dword [rax + rax]
movzx ecx, ax
or ecx, 0x80070000
test eax, eax
cmovle ecx, eax
mov edi, 0x80004005
test ecx, ecx
cmovns ecx, edi
test ecx, ecx
jns 0x140052995
jmp 0x1400529ee
mov edi, 0x80004005
xor ecx, ecx
call qword [sym.imp.api_ms_win_core_threadpool_l1_2_0.dll_CreateThreadpool]
nop dword [rax + rax]
mov r14, rax
mov rcx, qword [rbx + 0x18]
cmp rax, rcx
je 0x1400529c4
test rcx, rcx
je 0x1400529c0
call qword [sym.imp.api_ms_win_core_threadpool_l1_2_0.dll_CloseThreadpool]
nop dword [rax + rax]
mov qword [rbx + 0x18], r14
cmp qword [rbx + 0x18], 0
jne 0x140052a01
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
nop dword [rax + rax]
movzx ecx, ax
or ecx, 0x80070000
test eax, eax
cmovle ecx, eax
test ecx, ecx
cmovns ecx, edi
test ecx, ecx
jns 0x140052a01
mov ebx, ecx
lea rcx, [rsp + 0x90]
call fcn.140052b34
mov eax, ebx
jmp 0x140052a60
mov edx, esi
mov rcx, qword [rbx + 0x18]
call qword [sym.imp.api_ms_win_core_threadpool_l1_2_0.dll_SetThreadpoolThreadMaximum]
nop dword [rax + rax]
lea rdi, [r15 + 0x10]
lea rax, [rsp + 0x90]
cmp rdi, rax
je 0x140052a3d
and qword [rsp + 0x90], 0
cmp rbx, qword [rdi]
je 0x140052a3d
mov rcx, rdi
call fcn.140052b34
mov qword [rdi], rbx
lea rcx, [rsp + 0x90]
call fcn.140052b34
xor eax, eax
jmp 0x140052a60
lea r11, [rsp + 0x60]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rsp, r11
pop r15
pop r14
pop rdi
ret