Function at 0x1800049a0
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 [0x18015b080]
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
jne 0x180004a51
lea rdx, str.Failed_to_open_process._Error:
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.18000d5a0
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
mov rcx, rbx
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___unsigned_long_int____ptr64]
lea rdx, [0x18000d780]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
jmp 0x180004f04
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.18000c150
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 0x180004ac6
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 0x180004ab0
cmp r12, qword [rsp + 0x48]
jae 0x180004e9f
mov r9d, Ordinal_50
lea r8, [rsp + 0x60]
mov rdx, r12
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_VirtualQueryEx]
test rax, rax
je 0x180004e9f
cmp dword [rbp - 0x80], 0x1000
jne 0x180004e8a
mov eax, dword [rbp - 0x7c]
cmp eax, 1
je 0x180004e8a
cmp eax, 0x100
je 0x180004e8a
mov rdi, qword [rsp + 0x78]
xor eax, eax
xorps xmm1, xmm1
movdqu xmmword [rbp], xmm1
mov qword [rbp + 0x10], rax
cmp rdi, 2
jb 0x180004b9b
mov rbx, rdi
and rbx, 0xfffffffffffffffe
jne 0x180004b3c
xor r15d, r15d
jmp 0x180004b79
cmp rbx, 0x1000
jb 0x180004b6e
lea rcx, [rbx + 0x27]
cmp rcx, rbx
jbe 0x180004f2e
call fcn.18010d3a0
test rax, rax
je 0x180004ef7
lea r15, [rax + 0x27]
and r15, 0xffffffffffffffe0
mov qword [r15 - 8], rax
jmp 0x180004b79
mov rcx, rbx
call fcn.18010d3a0
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 0x180004ba3
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 0x180004e4e
mov r8, rbx
mov rdx, r15
lea rcx, [rbp - 0x20]
call fcn.18000d7c0
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 0x180004c32
sub rdi, rbx
nop dword [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 0x180004c10
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 0x180004e08
sub rcx, r11
test r11, r11
jne 0x180004c68
xor ebx, ebx
jmp 0x180004d00
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 0x180004cac
cmp word [rbx], r9w
je 0x180004ca9
cmp rax, 1
je 0x180004cac
dec rax
add rbx, 2
cmp word [rbx], r9w
jne 0x180004c96
mov rcx, rbx
mov rbx, rcx
test rcx, rcx
je 0x180004e08
mov rdx, r11
mov rcx, r10
test r11, r11
je 0x180004ce4
mov r8, rbx
sub r8, r10
nop dword [rax]
movzx eax, word [r8 + rcx]
cmp ax, word [rcx]
jne 0x180004d22
add rcx, 2
sub rdx, 1
jne 0x180004cd0
sub rbx, rdi
sar rbx, 1
cmp rbx, 0xffffffffffffffff
je 0x180004e08
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 0x180004d2b
mov qword [rdx], rcx
add qword [r14 + 8], 8
jmp 0x180004d38
add rbx, 2
jmp 0x180004c80
lea r8, [rsp + 0x50]
mov rcx, r14
call fcn.18000eba0
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 0x180004e08
sub rax, r11
cmp rbx, rax
ja 0x180004e08
test r11, r11
je 0x180004dfe
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 0x180004dbc
cmp word [rbx], r9w
je 0x180004db9
cmp rax, 1
je 0x180004dbc
dec rax
add rbx, 2
cmp word [rbx], r9w
jne 0x180004da6
mov rcx, rbx
mov rbx, rcx
test rcx, rcx
je 0x180004e08
mov rdx, r11
mov rcx, r10
test r11, r11
je 0x180004df8
mov r8, rbx
sub r8, r10
nop word [rax + rax]
movzx eax, word [rcx + r8]
cmp ax, word [rcx]
jne 0x180004ee7
add rcx, 2
sub rdx, 1
jne 0x180004de0
sub rbx, rsi
sar rbx, 1
cmp rbx, 0xffffffffffffffff
jne 0x180004d00
cmp r13, 7
jbe 0x180004e44
lea rdx, [r13*2 + 2]
mov rax, r12
cmp rdx, 0x1000
jb 0x180004e3c
add rdx, 0x27
mov r12, qword [r12 - 8]
sub rax, r12
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180004ef0
mov rcx, r12
call fcn.18010d81c
mov r13, qword [rsp + 0x40]
mov r12, qword [rsp + 0x38]
test r15, r15
je 0x180004e8a
mov rax, qword [rbp + 0x10]
sub rax, r15
sar rax, 1
lea rdx, [rax + rax]
mov rax, r15
cmp rdx, 0x1000
jb 0x180004e82
add rdx, 0x27
mov r15, qword [r15 - 8]
sub rax, r15
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180004ef7
mov rcx, r15
call fcn.18010d81c
add r12, qword [rsp + 0x78]
mov qword [rsp + 0x38], r12
cmp r12, qword [rsp + 0x48]
jb 0x180004ad1
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop
mov rdx, qword [rbp - 0x28]
cmp rdx, 7
jbe 0x180004f04
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180004efe
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180004efe
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
add rbx, 2
jmp 0x180004d90
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.18010d81c
nop
mov rax, r14
mov rcx, qword [rbp + 0x20]
xor rcx, rsp
call fcn.18010d380
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.180001c60
nop
int3