Function at 0x2100a1820
Capabilities:
Get system information on windows

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x2f8
mov rbx, rcx
mov rbp, rdx
test byte [rcx + 7], 0x40
je 0x2100a1ac0
movabs rax, 0x74636e756665643c
mov r8d, dword [rbx + 0x14]
mov ecx, 0xb
xor edx, edx
mov qword [rsp + 0x1f0], rax
lea r13, [rsp + 0x190]
mov eax, 0x3e
lea r12, [rsp + 0x1f0]
mov word [rsp + 0x1f8], ax
mov rdi, r13
xor eax, eax
rep stosq qword [rdi], rax
mov ecx, 0x1000
mov qword [rsp + 0x110], 0
mov qword [rsp + 0x118], 0
mov qword [rsp + 0x120], 0
mov qword [rsp + 0x128], 0
mov qword [rsp + 0x130], 0
mov qword [rsp + 0x138], 0
mov qword [rsp + 0x140], 0
mov qword [rsp + 0x148], 0
mov qword [rsp + 0x150], 0
mov qword [rsp + 0x158], 0
mov qword [rsp + 0x160], 0
mov qword [rsp + 0x168], 0
mov qword [rsp + 0x170], 0
mov qword [rsp + 0x178], 0
mov qword [rsp + 0x180], 0
mov qword [rsp + 0x188], 0
call sym.OpenProcess
mov dword [rsp + 0xe8], 0x5a
mov r15, rax
test rax, rax
je 0x2100a1c76
mov qword [rsp + 0x20], 0
mov r8, r13
mov edx, 3
mov rcx, r15
mov r9d, 0x58
call sym.NtQueryInformationProcess
test eax, eax
js 0x2100a1ea8
mov r9d, 0x20
lea r8, [rsp + 0x110]
mov rcx, r15
mov qword [rsp + 0x20], 0
mov edx, 4
lea r13, [0x210273880]
call sym.NtQueryInformationProcess
test eax, eax
js 0x2100a1ee8
mov r9d, 0x30
lea r8, [rsp + 0x130]
mov edx, 1
mov rcx, r15
mov qword [rsp + 0x20], 0
call sym.NtQueryInformationProcess
test eax, eax
js 0x2100a1f58
mov rcx, r15
lea rsi, [rsp + 0x160]
call sym.GetPriorityClass
mov ecx, eax
call sym.winprio_to_nice_unsigned_int_
mov rcx, r15
mov r13d, eax
call sym.CloseHandle
lea eax, [r13 + 0x14]
xor r9d, r9d
mov rdx, rsi
mov r8d, 0x30
mov ecx, 3
mov dword [rsp + 0x10c], eax
call sym.NtQuerySystemInformation
test eax, eax
js 0x2100a1f20
mov rcx, qword [rsp + 0x128]
mov r15d, dword [rsp + 0x1a0]
movabs r8, 0x346dc5d63886594b
mov rax, rcx
sar rcx, 0x3f
imul r8
sar rdx, 0xb
sub rdx, rcx
mov rcx, qword [rsp + 0x120]
mov r14, rdx
mov rax, rcx
sar rcx, 0x3f
imul r8
mov rax, qword [rsp + 0x110]
mov r8, rdx
sar r8, 0xb
sub r8, rcx
test rax, rax
jne 0x2100a1d17
mov rdi, qword [rbx + 0xfc30]
mov rcx, rsi
mov qword [rsp + 0xf0], r8
call sym.to_time_t__LARGE_INTEGER_
mov r8, qword [rsp + 0xf0]
sub rdi, rax
imul rsi, rdi, 0x3e8
jmp 0x2100a1d40
lea rsi, [rcx + 0x18]
mov edx, 0x5c
lea r12, [rsp + 0x1f0]
mov rcx, rsi
call sym.msys_2.0.dll_wcsrchr
mov dword [rsp + 0x20], 1
mov r9, 0xffffffffffffffff
lea r8, [rax + 2]
test rax, rax
je 0x2100a2098
mov rcx, r12
mov edx, 0x100
call sym._sys_wcstombs_char__unsigned_long__wchar_t_const__unsigned_long__bool_
mov rcx, r12
call sym.msys_2.0.dll_strlen
cmp rax, 4
jbe 0x2100a1b64
lea rsi, [r12 + rax - 4]
lea r8, [0x2102909a9]
mov eax, 0x2e
mov rcx, rsi
lea r11, [0x2102aa140]
jmp 0x2100a1b56
movzx r9d, dl
movzx r10d, dl
movsx r9d, byte [r11 + r9]
xor r9d, r10d
cmp r9d, eax
jne 0x2100a1b64
test dl, dl
je 0x2100a1b61
movzx eax, byte [r8 + 1]
add r8, 1
add rcx, 1
movzx edx, byte [rcx]
cmp dl, al
jne 0x2100a1b30
test al, al
jne 0x2100a1b49
mov byte [rsi], 0
mov eax, dword [rbx + 4]
test eax, 0x40000000
jne 0x2100a2132
test al, 4
je 0x2100a1f90
lea r13, [rsp + 0x190]
xor eax, eax
mov r8d, dword [rbx + 0x14]
xor edx, edx
mov ecx, 0xb
mov rdi, r13
mov qword [rsp + 0x110], 0
rep stosq qword [rdi], rax
mov ecx, 0x1000
mov qword [rsp + 0x118], 0
mov qword [rsp + 0x120], 0
mov qword [rsp + 0x128], 0
mov qword [rsp + 0x130], 0
mov qword [rsp + 0x138], 0
mov qword [rsp + 0x140], 0
mov qword [rsp + 0x148], 0
mov qword [rsp + 0x150], 0
mov qword [rsp + 0x158], 0
mov qword [rsp + 0x160], 0
mov qword [rsp + 0x168], 0
mov qword [rsp + 0x170], 0
mov qword [rsp + 0x178], 0
mov qword [rsp + 0x180], 0
mov qword [rsp + 0x188], 0
call sym.OpenProcess
mov dword [rsp + 0xe8], 0x54
mov r15, rax
test rax, rax
jne 0x2100a1966
test byte [rbx + 7], 0x40
je 0x2100a20c4
lea rsi, [rsp + 0x160]
xor r9d, r9d
mov ecx, 3
xor r13d, r13d
mov r8d, 0x30
mov rdx, rsi
lea r12, [rsp + 0x1f0]
call sym.NtQuerySystemInformation
mov dword [rsp + 0x10c], 0x14
test eax, eax
js 0x2100a1f20
mov rcx, qword [rsp + 0x128]
mov r15d, dword [rsp + 0x1a0]
movabs r8, 0x346dc5d63886594b
mov rax, rcx
sar rcx, 0x3f
imul r8
sar rdx, 0xb
sub rdx, rcx
mov rcx, qword [rsp + 0x120]
mov r14, rdx
mov rax, rcx
sar rcx, 0x3f
imul r8
mov rax, qword [rsp + 0x110]
sar rdx, 0xb
sub rdx, rcx
mov r8, rdx
test rax, rax
je 0x2100a1a92
sub rax, qword [rsp + 0x160]
movabs rdx, 0x346dc5d63886594b
mov rcx, rax
imul rdx
mov rax, rcx
sar rax, 0x3f
sar rdx, 0xb
mov rsi, rdx
sub rsi, rax
mov ecx, dword [0x21034b024]
mov rax, qword [rsp + 0x1b0]
xor edx, edx
mov qword [rsp + 0x100], r8
mov rdi, qword [rsp + 0x1d8]
div rcx
xor edx, edx
mov qword [rsp + 0xf0], rax
mov rax, qword [rsp + 0x148]
div rcx
mov rcx, r12
mov qword [rsp + 0xf8], rax
call sym.msys_2.0.dll_strlen
mov rcx, qword [rbp]
lea rdx, [rax + 0x140]
call sym.crealloc_abort
mov r8, qword [rsp + 0x100]
mov r9, r12
mov rdx, qword [rsp + 0xf8]
mov qword [rbp], rax
mov rcx, rax
mov rax, qword [rsp + 0xf0]
mov qword [rsp + 0xd0], rdx
lea rdx, str._d___s___c__d__d__d__d__d__u__lu__lu__u__u__lu__lu__U__U__d__d__d__d__U__lu__ld__lu_n
mov qword [rsp + 0xc8], rax
mov eax, dword [rsp + 0x10c]
mov qword [rsp + 0x90], r8
mov dword [rsp + 0x98], eax
mov eax, dword [rbx + 0xfc28]
mov qword [rsp + 0x80], r8
mov dword [rsp + 0x40], eax
mov eax, dword [rbx + 0xfc24]
mov qword [rsp + 0xc0], rdi
mov dword [rsp + 0x38], eax
mov eax, dword [rbx + 0xfc20]
mov qword [rsp + 0xb8], rsi
mov dword [rsp + 0x30], eax
mov eax, dword [rbx + 8]
mov dword [rsp + 0xb0], 0
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0xe8]
mov dword [rsp + 0xa8], 0
mov dword [rsp + 0xa0], r13d
mov qword [rsp + 0x88], r14
mov qword [rsp + 0x78], r14
mov dword [rsp + 0x70], 0
mov dword [rsp + 0x68], 0
mov qword [rsp + 0x60], r15
mov qword [rsp + 0x58], r15
mov dword [rsp + 0x50], 0
mov dword [rsp + 0x48], 0xffffffff
mov dword [rsp + 0x20], eax
mov r8d, dword [rbx]
call sym.__small_sprintf
cdqe
add rsp, 0x2f8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
lea r13, [0x210273880]
test byte [0x210273880], 1
jne 0x2100a20a0
mov r9d, 0x20
lea r8, [rsp + 0x110]
mov edx, 4
mov rcx, r15
mov qword [rsp + 0x20], 0
call sym.NtQueryInformationProcess
test eax, eax
jns 0x2100a19c0
test byte [0x210273880], 1
je 0x2100a19c0
mov dword [rsp + 0x20], eax
lea r9, str.NtQueryInformationProcess_ProcessTimes_:_status__y
mov edx, 0x40
mov rcx, r13
lea r8, str.off_t_format_process_stat_void__char_
call method.strace.prntf_unsigned_int__char_const__char_const__..._
jmp 0x2100a19c0
test byte [0x210273880], 1
je 0x2100a1a37
mov dword [rsp + 0x20], eax
lea r9, str.NtQuerySystemInformation_SystemTimeOfDayInformation_:_status__y
lea r8, str.off_t_format_process_stat_void__char_
mov edx, 0x40
lea rcx, [0x210273880]
call method.strace.prntf_unsigned_int__char_const__char_const__..._
jmp 0x2100a1cbc
test byte [0x210273880], 1
je 0x2100a19ec
mov dword [rsp + 0x20], eax
lea r9, str.NtQueryInformationProcess_ProcessQuotaLimits_:_status__y
lea r8, str.off_t_format_process_stat_void__char_
mov edx, 0x40
lea rcx, [0x210273880]
call method.strace.prntf_unsigned_int__char_const__char_const__..._
jmp 0x2100a19ec
mov ecx, dword [rbx + 0x14]
call sym.get_process_state_unsigned_int_
mov dword [rsp + 0xe8], eax
lea r13, [rsp + 0x190]
xor eax, eax
mov r8d, dword [rbx + 0x14]
xor edx, edx
mov ecx, 0xb
mov rdi, r13
mov qword [rsp + 0x110], 0
rep stosq qword [rdi], rax
mov ecx, 0x1000
mov qword [rsp + 0x118], 0
mov qword [rsp + 0x120], 0
mov qword [rsp + 0x128], 0
mov qword [rsp + 0x130], 0
mov qword [rsp + 0x138], 0
mov qword [rsp + 0x140], 0
mov qword [rsp + 0x148], 0
mov qword [rsp + 0x150], 0
mov qword [rsp + 0x158], 0
mov qword [rsp + 0x160], 0
mov qword [rsp + 0x168], 0
mov qword [rsp + 0x170], 0
mov qword [rsp + 0x178], 0
mov qword [rsp + 0x180], 0
mov qword [rsp + 0x188], 0
call sym.OpenProcess
mov r15, rax
test rax, rax
jne 0x2100a1966
jmp 0x2100a1c76
mov r8, rsi
jmp 0x2100a1af5
mov dword [rsp + 0x20], eax
lea r9, str.NtQueryInformationProcess_ProcessVmCounters_:_status__y
mov edx, 0x40
mov rcx, r13
lea r8, str.off_t_format_process_stat_void__char_
call method.strace.prntf_unsigned_int__char_const__char_const__..._
jmp 0x2100a1ebc
call sym.GetLastError
mov edx, 0x46e
lea rcx, str._usr_src_MSYS2_packages_msys2_runtime_src_msys2_runtime_winsup_cygwin_fhandler_process.cc
mov r8d, eax
mov esi, eax
call sym.seterrno_from_win_error_char_const__int__unsigned_int_
mov rax, 0xffffffffffffffff
test byte [0x210273880], 1
je 0x2100a1e8e
mov edx, dword [rbx + 0x14]
mov dword [rsp + 0x20], esi
lea r9, str.OpenProcess:_ret__u__pid:__d
lea r8, str.off_t_format_process_stat_void__char_
lea rcx, [0x210273880]
mov qword [rsp + 0xe8], rax
mov dword [rsp + 0x28], edx
mov edx, 0x40
call method.strace.prntf_unsigned_int__char_const__char_const__..._
mov rax, qword [rsp + 0xe8]
jmp 0x2100a1e8e
mov dword [rsp + 0xe8], 0x5a
jmp 0x2100a1f9f