Function at 0x140004aa0
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 [0x140106040]
xor rax, rsp
mov qword [rbp + 0x20], rax
mov rbx, r8
mov r14, rcx
mov qword [rsp + 0x58], 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 r13, rax
mov qword [rsp + 0x40], rax
test rax, rax
je 0x140004fd4
lea rcx, [rbp - 0x70]
call qword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov r12, qword [rbp - 0x68]
mov qword [rsp + 0x38], r12
mov rax, qword [rbp - 0x60]
mov qword [rsp + 0x48], rax
mov rdx, rbx
lea rcx, [rbp - 0x40]
call fcn.14000d110
nop
lea rdi, [rbp - 0x40]
mov r8, qword [rbp - 0x40]
cmp qword [rbp - 0x28], 7
cmova rdi, r8
lea rcx, [rbp - 0x40]
cmova rcx, r8
mov rax, qword [rbp - 0x30]
lea rsi, [rcx + rax*2]
lea rbx, [rbp - 0x40]
cmova rbx, r8
cmp rbx, rsi
je 0x140004b89
sub rdi, rbx
movzx ecx, word [rbx]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_towlower]
mov word [rbx + rdi], ax
add rbx, 2
cmp rbx, rsi
jne 0x140004b73
cmp r12, qword [rsp + 0x48]
jae 0x140004f6f
nop dword [rax]
nop dword [rax + rax]
mov r9d, 0x30
lea r8, [rsp + 0x60]
mov rdx, r12
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_VirtualQueryEx]
test rax, rax
je 0x140004f6f
cmp dword [rbp - 0x80], 0x1000
jne 0x140004f5a
mov eax, dword [rbp - 0x7c]
cmp eax, 1
je 0x140004f5a
cmp eax, 0x100
je 0x140004f5a
mov rdi, qword [rsp + 0x78]
xor eax, eax
xorps xmm1, xmm1
movdqu xmmword [rbp], xmm1
mov qword [rbp + 0x10], rax
cmp rdi, 2
jb 0x140004c6a
mov rbx, rdi
and rbx, 0xfffffffffffffffe
jne 0x140004c0b
xor r15d, r15d
jmp 0x140004c48
cmp rbx, 0x1000
jb 0x140004c3d
lea rcx, [rbx + 0x27]
cmp rcx, rbx
jbe 0x140004ffe
call fcn.1400afb68
test rax, rax
je 0x140004fc7
lea r15, [rax + 0x27]
and r15, 0xffffffffffffffe0
mov qword [r15 - 8], rax
jmp 0x140004c48
mov rcx, rbx
call fcn.1400afb68
mov r15, rax
mov qword [rbp], r15
lea rsi, [r15 + rbx]
mov qword [rbp + 0x10], rsi
mov r8, rbx
xor edx, edx
mov rcx, r15
call sub.VCRUNTIME140.dll_memset
mov rbx, rsi
mov qword [rbp + 8], rbx
jmp 0x140004c72
mov rbx, qword [rbp + 8]
mov r15, qword [rbp]
lea rax, [rbp + 0x18]
mov qword [rsp + 0x20], rax
mov r9, rdi
mov r8, r15
mov rdx, qword [rsp + 0x60]
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
test eax, eax
je 0x140004f1e
mov r8, rbx
mov rdx, r15
lea rcx, [rbp - 0x20]
call fcn.14000dfc0
nop
lea rdi, [rbp - 0x20]
mov r12, qword [rbp - 0x20]
mov r13, qword [rbp - 8]
cmp r13, 7
cmova rdi, r12
lea rax, [rbp - 0x20]
cmova rax, r12
mov rcx, qword [rbp - 0x10]
lea rsi, [rax + rcx*2]
lea rbx, [rbp - 0x20]
cmova rbx, r12
cmp rbx, rsi
je 0x140004d02
sub rdi, rbx
nop dword [rax + rax]
movzx ecx, word [rbx]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_towlower]
mov word [rbx + rdi], ax
add rbx, 2
cmp rbx, rsi
jne 0x140004ce0
mov r13, qword [rbp - 8]
mov rcx, qword [rbp - 0x10]
mov r12, qword [rbp - 0x20]
lea r10, [rbp - 0x40]
cmp qword [rbp - 0x28], 7
cmova r10, qword [rbp - 0x40]
lea rdi, [rbp - 0x20]
cmp r13, 7
cmova rdi, r12
mov r11, qword [rbp - 0x30]
cmp r11, rcx
ja 0x140004ed8
sub rcx, r11
test r11, r11
jne 0x140004d38
xor ebx, ebx
jmp 0x140004dd0
lea rsi, [rcx + 1]
lea rsi, [rdi + rsi*2]
mov rbx, rdi
movzx r9d, word [r10]
nop word [rax + rax]
mov rax, rsi
sub rax, rbx
sar rax, 1
mov ecx, 0
je 0x140004d7c
cmp word [rbx], r9w
je 0x140004d79
cmp rax, 1
je 0x140004d7c
dec rax
add rbx, 2
cmp word [rbx], r9w
jne 0x140004d66
mov rcx, rbx
mov rbx, rcx
test rcx, rcx
je 0x140004ed8
mov rdx, r11
mov rcx, r10
test r11, r11
je 0x140004db4
mov r8, rbx
sub r8, r10
nop dword [rax]
movzx eax, word [r8 + rcx]
cmp ax, word [rcx]
jne 0x140004df2
add rcx, 2
sub rdx, 1
jne 0x140004da0
sub rbx, rdi
sar rbx, 1
cmp rbx, 0xffffffffffffffff
je 0x140004ed8
nop dword [rax]
nop dword [rax + rax]
mov rax, qword [rsp + 0x60]
lea rcx, [rax + rbx*2]
mov qword [rsp + 0x50], rcx
mov rdx, qword [r14 + 8]
cmp rdx, qword [r14 + 0x10]
je 0x140004dfb
mov qword [rdx], rcx
add qword [r14 + 8], 8
jmp 0x140004e08
add rbx, 2
jmp 0x140004d50
lea r8, [rsp + 0x50]
mov rcx, r14
call fcn.14000fdf0
inc rbx
lea r10, [rbp - 0x40]
cmp qword [rbp - 0x28], 7
cmova r10, qword [rbp - 0x40]
lea rsi, [rbp - 0x20]
mov r12, qword [rbp - 0x20]
mov r13, qword [rbp - 8]
cmp r13, 7
cmova rsi, r12
mov r11, qword [rbp - 0x30]
mov rax, qword [rbp - 0x10]
cmp r11, rax
ja 0x140004ed8
sub rax, r11
cmp rbx, rax
ja 0x140004ed8
test r11, r11
je 0x140004ece
lea rdi, [rax + 1]
lea rdi, [rsi + rdi*2]
lea rbx, [rsi + rbx*2]
movzx r9d, word [r10]
nop
mov rax, rdi
sub rax, rbx
sar rax, 1
mov ecx, 0
je 0x140004e8c
cmp word [rbx], r9w
je 0x140004e89
cmp rax, 1
je 0x140004e8c
dec rax
add rbx, 2
cmp word [rbx], r9w
jne 0x140004e76
mov rcx, rbx
mov rbx, rcx
test rcx, rcx
je 0x140004ed8
mov rdx, r11
mov rcx, r10
test r11, r11
je 0x140004ec8
mov r8, rbx
sub r8, r10
nop word [rax + rax]
movzx eax, word [rcx + r8]
cmp ax, word [rcx]
jne 0x140004fb7
add rcx, 2
sub rdx, 1
jne 0x140004eb0
sub rbx, rsi
sar rbx, 1
cmp rbx, 0xffffffffffffffff
jne 0x140004dd0
cmp r13, 7
jbe 0x140004f14
lea rdx, [r13*2 + 2]
mov rax, r12
cmp rdx, 0x1000
jb 0x140004f0c
add rdx, 0x27
mov r12, qword [r12 - 8]
sub rax, r12
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140004fc0
mov rcx, r12
call fcn.1400afa40
mov r13, qword [rsp + 0x40]
mov r12, qword [rsp + 0x38]
test r15, r15
je 0x140004f5a
mov rax, qword [rbp + 0x10]
sub rax, r15
sar rax, 1
lea rdx, [rax + rax]
mov rax, r15
cmp rdx, 0x1000
jb 0x140004f52
add rdx, 0x27
mov r15, qword [r15 - 8]
sub rax, r15
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140004fc7
mov rcx, r15
call fcn.1400afa40
add r12, qword [rsp + 0x78]
mov qword [rsp + 0x38], r12
cmp r12, qword [rsp + 0x48]
jb 0x140004ba0
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop
mov rdx, qword [rbp - 0x28]
cmp rdx, 7
jbe 0x140004fd4
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140004fce
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140004fce
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
add rbx, 2
jmp 0x140004e60
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call fcn.1400afa40
nop
mov rax, r14
mov rcx, qword [rbp + 0x20]
xor rcx, rsp
call fcn.1400afa20
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.140002b60
nop
int3