Function at 0x210098840
Capabilities:
Get system information on windows

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rdi
push rsi
push rbx
sub rsp, 0xa8
lea rbp, [rsp + 0xa0]
mov rax, qword gs:[0x30]
mov rax, qword [rax + 8]
mov eax, dword [rax - 0x2cc8]
mov dword [rbp - 0x38], eax
sub rsp, 0x150
lea rcx, [rbp - 0x38]
mov rax, qword gs:[0x30]
mov rax, qword [rax + 8]
mov qword [rbp + 0x58], rdx
lea r13, [rsp + 0x50]
mov eax, dword [rax - 0x2cc4]
mov dword [rbp - 0x34], eax
call method.tmp_pathbuf.c_get__
mov qword [rbp - 0x48], rax
mov eax, dword [0x21034b040]
mov rdx, rax
lea rax, [rax + rax*2]
shl rax, 4
call fcn.21021b550
xor r9d, r9d
mov ecx, 8
sub rsp, rax
lea r8d, [rdx + rdx*2]
lea rbx, [rsp + 0x50]
shl r8d, 4
mov rdx, rbx
call sym.NtQuerySystemInformation
test eax, eax
js 0x210098ba0
mov r15d, dword [0x21034b040]
xor r14d, r14d
xor edi, edi
xor r8d, r8d
test r15, r15
je 0x210098967
mov r10, rbx
xor esi, esi
xor r14d, r14d
xor edi, edi
movabs r11, 0x346dc5d63886594b
xor r8d, r8d
nop dword [rax]
mov r9, qword [r10]
mov rcx, qword [r10 + 8]
add rsi, 1
add r10, 0x30
sub rcx, r9
mov rax, rcx
sar rcx, 0x3f
imul r11
sar rdx, 0xb
sub rdx, rcx
mov rcx, qword [r10 - 0x20]
add rdi, rdx
mov rax, rcx
sar rcx, 0x3f
imul r11
mov rax, r9
sar r9, 0x3f
sar rdx, 0xb
sub rdx, rcx
add r8, rdx
imul r11
sar rdx, 0xb
sub rdx, r9
add r14, rdx
cmp r15, rsi
jne 0x210098910
mov qword [rsp + 0x20], rdi
mov rdi, qword [rbp - 0x48]
xor r9d, r9d
lea rdx, str.cpu__U__U__U__U_n
mov qword [rsp + 0x28], r14
mov rcx, rdi
call sym.__small_sprintf
movsxd rsi, eax
mov eax, dword [0x21034b040]
add rsi, rdi
test eax, eax
je 0x210098c10
xor r12d, r12d
xor r14d, r14d
lea rdi, str.cpu_d__U__U__U__U_n
movabs r15, 0x346dc5d63886594b
nop word [rax + rax]
mov eax, dword [rbx + 0x28]
mov r10, qword [rbx + 0x10]
mov r8, r12
add r12, 1
mov r11, qword [rbx]
add rbx, 0x30
add r14, rax
mov rax, r10
sar r10, 0x3f
imul r15
mov rax, r11
mov r9, rdx
imul r15
mov rax, r11
sar rax, 0x3f
sar r9, 0xb
sub r9, r10
sar rdx, 0xb
sub rdx, rax
mov qword [rsp + 0x30], rdx
mov rcx, qword [rbx - 0x28]
mov qword [rsp + 0x20], 0
sub rcx, r11
mov rax, rcx
sar rcx, 0x3f
imul r15
sar rdx, 0xb
sub rdx, rcx
mov rcx, rsi
mov qword [rsp + 0x28], rdx
mov rdx, rdi
call sym.__small_sprintf
cdqe
add rsi, rax
mov eax, dword [0x21034b040]
cmp rax, r12
ja 0x2100989b8
xor r9d, r9d
mov r8d, 0x148
mov rdx, r13
mov ecx, 2
call sym.NtQuerySystemInformation
test eax, eax
js 0x210098b80
lea r15, [rbp - 0x30]
xor r9d, r9d
mov r8d, 0x30
mov ecx, 3
mov rdx, r15
call sym.NtQuerySystemInformation
test eax, eax
js 0x210098b50
mov edi, dword [r13 + 0x60]
mov rcx, r15
mov ebx, dword [r13 + 0x50]
mov r9d, edi
add r9d, dword [r13 + 0x68]
mov r13d, dword [r13 + 0x128]
mov qword [rbp - 0x50], r9
call sym.to_time_t__LARGE_INTEGER_
mov qword [rsp + 0x38], r13
mov r8, rbx
mov rcx, rsi
mov qword [rsp + 0x40], rax
mov eax, edi
mov r9, qword [rbp - 0x50]
lea rdx, str.page__u__u_nswap__u__u_nintr__u_nctxt__u_nbtime__u_n
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rbx
call sym.__small_sprintf
mov rdi, qword [rbp - 0x48]
cdqe
lea r13, [rsi + rax]
mov rax, qword [rbp + 0x58]
sub r13, rdi
mov rcx, qword [rax]
mov rdx, r13
call sym.crealloc_abort
mov r8, r13
mov rdx, rdi
mov rcx, rax
mov rax, qword [rbp + 0x58]
mov qword [rax], rcx
call sym.msys_2.0.dll_memcpy
mov edx, dword [rbp - 0x38]
mov rax, qword gs:[0x30]
mov rax, qword [rax + 8]
mov dword [rax - 0x2cc8], edx
mov edx, dword [rbp - 0x34]
mov rax, qword gs:[0x30]
mov rax, qword [rax + 8]
mov dword [rax - 0x2cc4], edx
mov rax, r13
lea rsp, [rbp + 8]
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
test byte [0x210273880], 1
jne 0x210098c00
mov r8d, eax
mov edx, 0x245
lea rcx, str._usr_src_MSYS2_packages_msys2_runtime_src_msys2_runtime_winsup_cygwin_fhandler_proc.cc
xor r13d, r13d
call sym.seterrno_from_nt_status_char_const__int__int_
jmp 0x210098b06
test byte [0x210273880], 1
jne 0x210098bd8
mov ecx, 0x29
xor eax, eax
mov rdi, r13
rep stosq qword [rdi], rax
jmp 0x210098a60
test byte [0x210273880], 1
je 0x210098b5d
mov dword [rsp + 0x20], eax
lea r9, str.NtQuerySystemInformation_SystemProcessorPerformanceInformation___status__y
mov dword [rbp - 0x48], eax
lea r8, str.off_t_format_proc_stat_void__char_
mov edx, 0x40
lea rcx, [0x210273880]
call method.strace.prntf_unsigned_int__char_const__char_const__..._
mov eax, dword [rbp - 0x48]
jmp 0x210098b5d
mov dword [rsp + 0x20], eax
lea r9, str.NtQuerySystemInformation_SystemPerformanceInformation___status__y
lea r8, str.off_t_format_proc_stat_void__char_
mov edx, 0x40
lea rcx, [0x210273880]
call method.strace.prntf_unsigned_int__char_const__char_const__..._
jmp 0x210098b89
mov dword [rsp + 0x20], eax
lea r9, [0x21028f900]
mov dword [rbp - 0x48], eax
jmp 0x210098bb7
xor r14d, r14d
jmp 0x210098a42