Function at 0x1400529f0
Capabilities:
Get system information on windows

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
mov qword [rsp + 8], rcx
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x80
movaps xmmword [rsp + 0x70], xmm6
mov r12, r8
mov r14, rcx
xor edi, edi
mov qword [rcx], rdi
mov qword [rcx + 8], rdi
mov qword [rcx + 0x10], rdi
mov qword [rcx + 0x38], rdx
mov qword [rcx + 0x40], r8
mov byte [rcx + 0x48], 1
movzx eax, byte [rsp + 0xd0]
mov byte [rcx + 0x49], al
mov qword [rcx + 0x4c], 1
mov dword [rcx + 0x54], 2
mov r15d, dword [rsp + 0xf0]
mov dword [rcx + 0x58], r15d
mov rbp, qword [rsp + 0xf8]
mov qword [rcx + 0x60], rbp
mov qword [rcx + 0x68], rdi
mov ecx, 0x400
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov qword [r14 + 0x70], rax
mov qword [r14 + 0x78], rdi
mov byte [r14 + 0x80], dil
mov dword [r14 + 0x84], edi
mov qword [r14 + 0x88], rdi
mov qword [r14 + 0x90], rdi
mov qword [r14 + 0x98], rdi
mov qword [r14 + 0xa0], rdi
mov qword [r14 + 0xa8], rdi
mov qword [r14 + 0xb0], rdi
mov qword [r14 + 0xb8], rdi
mov qword [r14 + 0xc0], rdi
lea rcx, [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov ecx, dword [rsp + 0x60]
mov dword [r14], ecx
mov rax, qword [rsp + 0x48]
mov qword [r14 + 8], rax
mov rax, qword [rsp + 0x50]
mov qword [r14 + 0x10], rax
mov dword [r14 + 4], ecx
mov ebx, ecx
mov eax, 0x60
mul rcx
mov rsi, 0xffffffffffffffff
cmovb rax, rsi
mov rcx, rax
call fcn.1400b7e90
test rbx, rbx
je 0x140052b2c
lea rcx, [rax + 0x50]
nop word [rax + rax]
mov dword [rcx], edi
lea rcx, [rcx + 0x60]
sub rbx, 1
jne 0x140052b20
mov qword [r14 + 0x28], rax
mov ecx, dword [r14 + 4]
call fcn.1400b7e90
mov qword [r14 + 0x30], rax
lea r8, [r14 + 0x18]
mov rcx, r12
call fcn.140052730
cmp byte [rbp], 0
je 0x140052c3b
xorps xmm0, xmm0
movups xmmword [rsp + 0x20], xmm0
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x38], rdi
mov r8, rsi
nop dword [rax + rax]
inc r8
cmp byte [r8 + rbp], 0
jne 0x140052b70
mov rdx, rbp
lea rcx, [rsp + 0x20]
call fcn.14003f350
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
mov r13, rax
lea rbx, [rsp + 0x20]
cmp qword [rsp + 0x38], 0xf
cmova rbx, qword [rsp + 0x20]
mov dword [rax], edi
mov r8d, reloc.WS2_32.dll_recv
lea rdx, [rsp + 0xf8]
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_strtol]
mov r12d, eax
cmp rbx, qword [rsp + 0xf8]
jne 0x140052bd6
lea rcx, str.invalid_stoi_argument
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xinvalid_argument_char_const____ptr64_]
int3
cmp dword [r13], 0x22
jne 0x140052beb
lea rcx, str.stoi_argument_out_of_range
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const____ptr64_]
nop
mov rdx, qword [rsp + 0x38]
cmp rdx, 0xf
jbe 0x140052c30
inc rdx
mov rcx, qword [rsp + 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140052c26
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140052c26
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400b7dec
nop dword [rax + rax]
inc rsi
cmp byte [rsi + rbp], 0
jne 0x140052c30
jmp 0x140052c43
mov r12d, 1
mov esi, edi
cmp dword [r14 + 4], 0
jbe 0x140052ce7
lea r13, [0x140053ad0]
lea rdx, [0x1400539e0]
lea rbp, [0x1400538c0]
movsd xmm6, qword [0x1400dc418]
nop dword [rax + rax]
mov eax, edi
lea rbx, [rax + rax*2]
shl rbx, 5
add rbx, qword [r14 + 0x28]
mov dword [rbx + 0x28], r15d
mov dword [rbx + 0x20], r12d
mov ecx, r15d
test r15d, r15d
je 0x140052cd4
sub ecx, 1
je 0x140052cce
sub ecx, 1
je 0x140052cae
sub ecx, 1
je 0x140052ca8
cmp ecx, 1
jne 0x140052cdf
mov qword [rbx + 0x58], r13
jmp 0x140052cdf
mov qword [rbx + 0x58], rdx
jmp 0x140052cdf
movd xmm1, esi
cvtdq2pd xmm1, xmm1
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
cvttsd2si eax, xmm0
mov dword [rbx + 0x24], eax
lea rdx, [0x1400539e0]
jmp 0x140052cdb
mov dword [rbx + 0x24], r12d
jmp 0x140052cdb
mov dword [rbx + 0x24], 1
mov qword [rbx + 0x58], rbp
inc edi
cmp edi, dword [r14 + 4]
jb 0x140052c70
mov rax, r14
lea r11, [rsp + 0x80]
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
movaps xmm6, xmmword [rsp + 0x70]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret