Function at 0x180058190
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 [0x18010e080]
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 0x18005822d
lea rdx, str.Failed_to_open_the_process.
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.1800021b0
lea rdx, [0x180005880]
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 0x1800586e4
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.18005fb50
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 0x18005829d
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 0x180058287
cmp r12, qword [rsp + 0x48]
jae 0x18005867f
nop dword [rax + rax]
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 0x18005867f
cmp dword [rbp - 0x80], 0x1000
jne 0x18005866a
mov eax, dword [rbp - 0x7c]
cmp eax, 1
je 0x18005866a
cmp eax, 0x100
je 0x18005866a
mov rdi, qword [rsp + 0x78]
xor eax, eax
xorps xmm1, xmm1
movdqu xmmword [rbp], xmm1
mov qword [rbp + 0x10], rax
cmp rdi, 2
jb 0x18005837d
mov rbx, rdi
and rbx, 0xfffffffffffffffe
cmp rbx, 0x1000
jb 0x180058346
lea rcx, [rbx + 0x27]
cmp rcx, rbx
jbe 0x18005870e
call fcn.1800cd390
test rax, rax
je 0x1800586d7
lea r15, [rax + 0x27]
and r15, 0xffffffffffffffe0
mov qword [r15 - 8], rax
jmp 0x18005835b
test rbx, rbx
je 0x180058358
mov rcx, rbx
call fcn.1800cd390
mov r15, rax
jmp 0x18005835b
xor r15d, r15d
mov qword [rbp], r15
lea rsi, [rbx + r15]
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 0x180058385
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 0x18005862e
mov r8, rbx
mov rdx, r15
lea rcx, [rbp - 0x20]
call fcn.180061490
nop
lea rdi, [rbp - 0x20]
mov r13, qword [rbp - 8]
cmp r13, 7
seta al
mov r12, qword [rbp - 0x20]
cmova rdi, r12
lea rcx, [rbp - 0x20]
test al, al
mov rax, qword [rbp - 0x10]
je 0x1800583e6
mov rbx, r12
lea rsi, [r12 + rax*2]
jmp 0x1800583ee
lea rsi, [rcx + rax*2]
lea rbx, [rbp - 0x20]
cmp rbx, rsi
je 0x180058418
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 0x1800583f6
mov r13, qword [rbp - 8]
mov rax, 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, rax
ja 0x1800585e8
sub rax, r11
test r11, r11
jne 0x18005844e
xor ebx, ebx
jmp 0x1800584e0
lea rsi, [rax + 1]
lea rsi, [rdi + rsi*2]
mov rbx, rdi
movzx r9d, word [r10]
nop dword [rax]
mov rax, rsi
sub rax, rbx
sar rax, 1
mov ecx, 0
je 0x18005848c
cmp word [rbx], r9w
je 0x180058489
cmp rax, 1
je 0x18005848c
dec rax
add rbx, 2
cmp word [rbx], r9w
jne 0x180058476
mov rcx, rbx
mov rbx, rcx
test rcx, rcx
je 0x1800585e8
mov rdx, r11
mov rcx, r10
test r11, r11
je 0x1800584c4
mov r8, rbx
sub r8, r10
nop dword [rax]
movzx eax, word [r8 + rcx]
cmp ax, word [rcx]
jne 0x180058502
add rcx, 2
sub rdx, 1
jne 0x1800584b0
sub rbx, rdi
sar rbx, 1
cmp rbx, 0xffffffffffffffff
je 0x1800585e8
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 0x18005850b
mov qword [rdx], rcx
add qword [r14 + 8], 8
jmp 0x180058518
add rbx, 2
jmp 0x180058460
lea r8, [rsp + 0x50]
mov rcx, r14
call fcn.180063890
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 0x1800585e8
sub rax, r11
cmp rbx, rax
ja 0x1800585e8
test r11, r11
je 0x1800585de
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 0x18005859c
cmp word [rbx], r9w
je 0x180058599
cmp rax, 1
je 0x18005859c
dec rax
add rbx, 2
cmp word [rbx], r9w
jne 0x180058586
mov rcx, rbx
mov rbx, rcx
test rcx, rcx
je 0x1800585e8
mov rdx, r11
mov rcx, r10
test r11, r11
je 0x1800585d8
mov r8, rbx
sub r8, r10
nop word [rax + rax]
movzx eax, word [rcx + r8]
cmp ax, word [rcx]
jne 0x1800586c7
add rcx, 2
sub rdx, 1
jne 0x1800585c0
sub rbx, rsi
sar rbx, 1
cmp rbx, 0xffffffffffffffff
jne 0x1800584e0
cmp r13, 7
jbe 0x180058624
lea rdx, [r13*2 + 2]
mov rax, r12
cmp rdx, 0x1000
jb 0x18005861c
add rdx, 0x27
mov r12, qword [r12 - 8]
sub rax, r12
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800586d0
mov rcx, r12
call fcn.1800cd3cc
mov r13, qword [rsp + 0x40]
mov r12, qword [rsp + 0x38]
test r15, r15
je 0x18005866a
mov rax, qword [rbp + 0x10]
sub rax, r15
sar rax, 1
lea rdx, [rax + rax]
mov rax, r15
cmp rdx, 0x1000
jb 0x180058662
add rdx, 0x27
mov r15, qword [r15 - 8]
sub rax, r15
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800586d7
mov rcx, r15
call fcn.1800cd3cc
add r12, qword [rsp + 0x78]
mov qword [rsp + 0x38], r12
cmp r12, qword [rsp + 0x48]
jb 0x1800582b0
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop
mov rdx, qword [rbp - 0x28]
cmp rdx, 7
jbe 0x1800586e4
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800586de
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1800586de
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
add rbx, 2
jmp 0x180058570
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.1800cd3cc
nop
mov rax, r14
mov rcx, qword [rbp + 0x20]
xor rcx, rsp
call fcn.1800cd370
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.180001dc0
nop
int3