Function at 0x7ff7a6155e00
Capabilities:
Get system information on windows

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x30]
sub rsp, 0x130
mov rax, qword [0x7ff7a673fab8]
xor rax, rsp
mov qword [rbp + 0x28], rax
mov rbx, r8
mov r14, rcx
mov qword [rsp + 0x60], rcx
mov dword [rsp + 0x30], 1
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rcx], xmm0
mov qword [rcx], rax
mov qword [rcx + 8], rax
mov qword [rcx + 0x10], rax
mov dword [rsp + 0x30], 1
mov r8d, edx
xor edx, edx
mov ecx, 0x410
call qword [sym.imp.kernel32.dll_OpenProcess]
mov r12, rax
mov qword [rsp + 0x48], rax
test rax, rax
je 0x7ff7a6156360
lea rcx, [rbp - 0x68]
call qword [sym.imp.kernel32.dll_GetSystemInfo]
mov r15, qword [rbp - 0x60]
mov qword [rsp + 0x38], r15
mov r13, qword [rbp - 0x58]
mov qword [rsp + 0x50], r13
mov rdx, rbx
lea rcx, [rbp - 0x18]
call fcn.7ff7a6161380
nop
lea rdi, [rbp - 0x18]
mov r8, qword [rbp - 0x18]
cmp qword [rbp], 0x10
cmovae rdi, r8
lea rcx, [rbp - 0x18]
cmovae rcx, r8
mov rsi, qword [rbp - 8]
add rsi, rcx
lea rbx, [rbp - 0x18]
cmp qword [rbp], 0x10
cmovae rbx, r8
cmp rbx, rsi
je 0x7ff7a6155eeb
sub rdi, rbx
movsx ecx, byte [rbx]
call qword [sym.imp.ucrtbase.dll_tolower]
mov byte [rbx + rdi], al
inc rbx
cmp rbx, rsi
jne 0x7ff7a6155ed7
cmp r15, r13
jae 0x7ff7a6156309
movabs rsi, 0x7fffffffffffffff
nop
mov r9d, 0x30
lea r8, [rsp + 0x68]
mov rdx, r15
mov rcx, r12
call qword [sym.imp.kernel32.dll_VirtualQueryEx]
test rax, rax
je 0x7ff7a6156309
cmp dword [rbp - 0x78], 0x1000
jne 0x7ff7a61562f7
mov eax, dword [rbp - 0x74]
cmp eax, 1
je 0x7ff7a61562f7
cmp eax, 0x100
je 0x7ff7a61562f7
mov rdi, qword [rbp - 0x80]
xorps xmm1, xmm1
movdqu xmmword [rbp + 8], xmm1
xor ebx, ebx
mov qword [rbp + 0x18], rbx
test rdi, rdi
je 0x7ff7a6155fc0
cmp rdi, rsi
ja 0x7ff7a6156396
cmp rdi, 0x1000
jb 0x7ff7a6155f96
lea rcx, [rdi + 0x27]
cmp rcx, rdi
jbe 0x7ff7a6156390
call fcn.7ff7a63308b0
test rax, rax
je 0x7ff7a6156353
lea rsi, [rax + 0x27]
and rsi, 0xffffffffffffffe0
mov qword [rsi - 8], rax
jmp 0x7ff7a6155fa1
mov rcx, rdi
call fcn.7ff7a63308b0
mov rsi, rax
mov qword [rbp + 8], rsi
lea rbx, [rsi + rdi]
mov qword [rbp + 0x18], rbx
mov r8, rdi
xor edx, edx
mov rcx, rsi
call fcn.7ff7a6331946
mov qword [rbp + 0x10], rbx
jmp 0x7ff7a6155fc8
mov rbx, qword [rbp + 0x10]
mov rsi, qword [rbp + 8]
lea rax, [rbp + 0x20]
mov qword [rsp + 0x20], rax
mov r9, rdi
mov r8, rsi
mov rdx, qword [rsp + 0x68]
mov rcx, r12
call qword [sym.imp.kernel32.dll_ReadProcessMemory]
test eax, eax
je 0x7ff7a61562b5
xorps xmm0, xmm0
movups xmmword [rbp - 0x38], xmm0
xor eax, eax
mov qword [rbp - 0x28], rax
mov qword [rbp - 0x20], rax
cmp rsi, rbx
jne 0x7ff7a615601a
mov ecx, eax
mov qword [rbp - 0x28], rax
mov edi, 0xf
mov qword [rbp - 0x20], rdi
mov byte [rbp - 0x38], al
jmp 0x7ff7a61560f4
sub rbx, rsi
movabs rcx, 0x7fffffffffffffff
cmp rbx, rcx
ja 0x7ff7a615638a
mov qword [rbp - 0x20], 0xf
cmp rbx, 0x10
jae 0x7ff7a615605b
mov qword [rbp - 0x28], rbx
mov r8, rbx
mov rdx, rsi
lea rcx, [rbp - 0x38]
call sub.VCRUNTIME140.dll_memcpy
mov byte [rbp + rbx - 0x38], 0
jmp 0x7ff7a61560ec
mov rdi, rbx
or rdi, 0xf
cmp rdi, rcx
jbe 0x7ff7a615606c
mov rdi, rcx
jmp 0x7ff7a6156079
cmp rdi, 0x16
mov ecx, 0x16
cmovb rdi, rcx
mov rcx, rdi
add rcx, 1
mov rdx, 0xffffffffffffffff
cmovb rcx, rdx
cmp rcx, 0x1000
jb 0x7ff7a61560c0
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x7ff7a615639c
mov rcx, rax
call fcn.7ff7a63308b0
test rax, rax
je 0x7ff7a615634c
lea r15, [rax + 0x27]
and r15, 0xffffffffffffffe0
mov qword [r15 - 8], rax
jmp 0x7ff7a61560cd
test rcx, rcx
je 0x7ff7a61560ca
call fcn.7ff7a63308b0
mov r15, rax
mov qword [rbp - 0x38], r15
mov qword [rbp - 0x28], rbx
mov qword [rbp - 0x20], rdi
mov r8, rbx
mov rdx, rsi
mov rcx, r15
call sub.VCRUNTIME140.dll_memcpy
mov byte [r15 + rbx], 0
mov rcx, qword [rbp - 0x28]
mov rdi, qword [rbp - 0x20]
lea r12, [rbp - 0x38]
cmp rdi, 0x10
setae al
mov r15, qword [rbp - 0x38]
cmovae r12, r15
lea rdx, [rbp - 0x38]
test al, al
je 0x7ff7a6156118
mov rbx, r15
lea r13, [rcx + r15]
jmp 0x7ff7a6156120
lea r13, [rcx + rdx]
lea rbx, [rbp - 0x38]
cmp rbx, r13
je 0x7ff7a6156151
sub r12, rbx
nop dword [rax + rax]
movsx ecx, byte [rbx]
call qword [sym.imp.ucrtbase.dll_tolower]
mov byte [rbx + r12], al
inc rbx
cmp rbx, r13
jne 0x7ff7a6156130
mov rdi, qword [rbp - 0x20]
mov rcx, qword [rbp - 0x28]
mov r15, qword [rbp - 0x38]
lea r13, [rbp - 0x18]
cmp qword [rbp], 0x10
cmovae r13, qword [rbp - 0x18]
lea rax, [rbp - 0x38]
cmp rdi, 0x10
cmovae rax, r15
mov qword [rsp + 0x40], rax
mov r12, qword [rbp - 8]
cmp r12, rcx
ja 0x7ff7a615626f
sub rcx, r12
test r12, r12
jne 0x7ff7a6156189
xor ebx, ebx
jmp 0x7ff7a6156200
inc rcx
add rcx, rax
mov qword [rsp + 0x58], rcx
movsx edx, byte [r13]
mov r8, rcx
sub r8, rax
mov rcx, rax
call sub.VCRUNTIME140.dll_memchr
mov rbx, rax
test rax, rax
je 0x7ff7a615626f
nop dword [rax]
nop word [rax + rax]
mov r8, r12
mov rdx, r13
mov rcx, rbx
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x7ff7a61561f4
inc rbx
mov r8, qword [rsp + 0x58]
sub r8, rbx
movsx edx, byte [r13]
mov rcx, rbx
call sub.VCRUNTIME140.dll_memchr
mov rbx, rax
test rax, rax
jne 0x7ff7a61561c0
jmp 0x7ff7a615626f
sub rbx, qword [rsp + 0x40]
cmp rbx, 0xffffffffffffffff
je 0x7ff7a615626f
nop
mov rcx, qword [rsp + 0x68]
add rcx, rbx
mov qword [rsp + 0x40], rcx
mov rdx, qword [r14 + 8]
cmp rdx, qword [r14 + 0x10]
je 0x7ff7a6156221
mov qword [rdx], rcx
add qword [r14 + 8], 8
jmp 0x7ff7a615622e
lea r8, [rsp + 0x40]
mov rcx, r14
call fcn.7ff7a6162b70
lea r9, [rbp - 0x18]
cmp qword [rbp], 0x10
cmovae r9, qword [rbp - 0x18]
lea rcx, [rbp - 0x38]
mov r15, qword [rbp - 0x38]
mov rdi, qword [rbp - 0x20]
cmp rdi, 0x10
cmovae rcx, r15
lea r8, [rbx + 1]
mov rax, qword [rbp - 8]
mov qword [rsp + 0x20], rax
mov rdx, qword [rbp - 0x28]
call fcn.7ff7a6162350
mov rbx, rax
cmp rax, 0xffffffffffffffff
jne 0x7ff7a6156200
cmp rdi, 0x10
jb 0x7ff7a61562a6
lea rdx, [rdi + 1]
mov rax, r15
cmp rdx, 0x1000
jb 0x7ff7a615629e
add rdx, 0x27
mov r15, qword [r15 - 8]
sub rax, r15
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x7ff7a615634c
mov rcx, r15
call fcn.7ff7a6330db8
mov r13, qword [rsp + 0x50]
mov r12, qword [rsp + 0x48]
mov r15, qword [rsp + 0x38]
test rsi, rsi
je 0x7ff7a61562ed
mov rcx, qword [rbp + 0x18]
sub rcx, rsi
mov rax, rsi
cmp rcx, 0x1000
jb 0x7ff7a61562e2
add rcx, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x7ff7a6156353
mov rdx, rcx
mov rcx, rsi
call fcn.7ff7a6330db8
movabs rsi, 0x7fffffffffffffff
add r15, qword [rbp - 0x80]
mov qword [rsp + 0x38], r15
cmp r15, r13
jb 0x7ff7a6155f00
mov rcx, r12
call qword [sym.imp.kernel32.dll_CloseHandle]
nop
mov rdx, qword [rbp]
cmp rdx, 0x10
jb 0x7ff7a6156360
inc rdx
mov rcx, qword [rbp - 0x18]
mov rax, rcx
cmp rdx, 0x1000
jb 0x7ff7a615635a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x7ff7a615635a
call qword [sym.imp.ucrtbase.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.ucrtbase.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.ucrtbase.dll__invalid_parameter_noinfo_noreturn]
nop
call fcn.7ff7a6330db8
nop
mov rax, r14
mov rcx, qword [rbp + 0x28]
xor rcx, rsp
call fcn.7ff7a6330880
mov rbx, qword [rsp + 0x188]
add rsp, 0x130
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.7ff7a61516e0
nop
call fcn.7ff7a61515d0
int3
call fcn.7ff7a6162960
nop
call fcn.7ff7a61515d0
int3