Function at 0x14004a4d0
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 [0x140078010]
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 0x14004a56d
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.140053a90
lea rdx, [0x140053c60]
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 0x14004aa1a
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.140052330
nop
lea rdi, [rbp - 0x40]
mov r8, qword [rbp - 0x40]
cmp qword [rbp - 0x28], 8
cmovae rdi, r8
lea rcx, [rbp - 0x40]
cmovae rcx, r8
mov rax, qword [rbp - 0x30]
lea rsi, [rcx + rax*2]
lea rbx, [rbp - 0x40]
cmovae rbx, r8
cmp rbx, rsi
je 0x14004a5dd
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 0x14004a5c7
cmp r12, qword [rsp + 0x48]
jae 0x14004a9cc
mov r9d, 0x30
lea r8, [rsp + 0x60]
mov rdx, r12
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_VirtualQueryEx]
test rax, rax
je 0x14004a9cc
cmp dword [rbp - 0x80], 0x1000
jne 0x14004a9a6
mov eax, dword [rbp - 0x7c]
cmp eax, 1
je 0x14004a9a6
cmp eax, 0x100
je 0x14004a9a6
mov rdi, qword [rsp + 0x78]
xor eax, eax
xorps xmm1, xmm1
movdqu xmmword [rbp], xmm1
mov qword [rbp + 0x10], rax
cmp rdi, 2
jb 0x14004a6b5
mov rbx, rdi
and rbx, 0xfffffffffffffffe
cmp rbx, 0x1000
jb 0x14004a67e
lea rcx, [rbx + 0x27]
cmp rcx, rbx
jbe 0x14004aa44
call fcn.140060544
test rax, rax
je 0x14004a9c5
lea r15, [rax + 0x27]
and r15, 0xffffffffffffffe0
mov qword [r15 - 8], rax
jmp 0x14004a693
test rbx, rbx
je 0x14004a690
mov rcx, rbx
call fcn.140060544
mov r15, rax
jmp 0x14004a693
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 0x14004a6bd
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 0x14004a96a
mov r8, rbx
mov rdx, r15
lea rcx, [rbp - 0x20]
call fcn.140053ca0
nop
lea rdi, [rbp - 0x20]
mov r13, qword [rbp - 8]
cmp r13, 8
setae al
mov r12, qword [rbp - 0x20]
cmovae rdi, r12
lea rcx, [rbp - 0x20]
test al, al
mov rax, qword [rbp - 0x10]
je 0x14004a71e
mov rbx, r12
lea rsi, [r12 + rax*2]
jmp 0x14004a726
lea rsi, [rcx + rax*2]
lea rbx, [rbp - 0x20]
cmp rbx, rsi
je 0x14004a752
sub rdi, rbx
nop
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 0x14004a730
mov r13, qword [rbp - 8]
mov rax, qword [rbp - 0x10]
mov r12, qword [rbp - 0x20]
lea r10, [rbp - 0x40]
cmp qword [rbp - 0x28], 8
cmovae r10, qword [rbp - 0x40]
lea rdi, [rbp - 0x20]
cmp r13, 8
cmovae rdi, r12
mov r11, qword [rbp - 0x30]
cmp r11, rax
ja 0x14004a928
sub rax, r11
test r11, r11
jne 0x14004a788
xor ebx, ebx
jmp 0x14004a820
lea rsi, [rax + 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 0x14004a7cc
cmp word [rbx], r9w
je 0x14004a7c9
cmp rax, 1
je 0x14004a7cc
dec rax
add rbx, 2
cmp word [rbx], r9w
jne 0x14004a7b6
mov rcx, rbx
mov rbx, rcx
test rcx, rcx
je 0x14004a928
mov rdx, r11
mov rcx, r10
test r11, r11
je 0x14004a804
mov r8, rbx
sub r8, r10
nop dword [rax]
movzx eax, word [r8 + rcx]
cmp ax, word [rcx]
jne 0x14004a842
add rcx, 2
sub rdx, 1
jne 0x14004a7f0
sub rbx, rdi
sar rbx, 1
cmp rbx, 0xffffffffffffffff
je 0x14004a928
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 0x14004a84b
mov qword [rdx], rcx
add qword [r14 + 8], 8
jmp 0x14004a858
add rbx, 2
jmp 0x14004a7a0
lea r8, [rsp + 0x50]
mov rcx, r14
call fcn.140056690
inc rbx
lea r10, [rbp - 0x40]
cmp qword [rbp - 0x28], 8
cmovae r10, qword [rbp - 0x40]
lea rsi, [rbp - 0x20]
mov r12, qword [rbp - 0x20]
mov r13, qword [rbp - 8]
cmp r13, 8
cmovae rsi, r12
mov r11, qword [rbp - 0x30]
mov rax, qword [rbp - 0x10]
cmp r11, rax
ja 0x14004a928
sub rax, r11
cmp rbx, rax
ja 0x14004a928
test r11, r11
je 0x14004a91e
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 0x14004a8dc
cmp word [rbx], r9w
je 0x14004a8d9
cmp rax, 1
je 0x14004a8dc
dec rax
add rbx, 2
cmp word [rbx], r9w
jne 0x14004a8c6
mov rcx, rbx
mov rbx, rcx
test rcx, rcx
je 0x14004a928
mov rdx, r11
mov rcx, r10
test r11, r11
je 0x14004a918
mov r8, rbx
sub r8, r10
nop word [rax + rax]
movzx eax, word [rcx + r8]
cmp ax, word [rcx]
jne 0x14004a9b5
add rcx, 2
sub rdx, 1
jne 0x14004a900
sub rbx, rsi
sar rbx, 1
cmp rbx, 0xffffffffffffffff
jne 0x14004a820
cmp r13, 8
jb 0x14004a960
lea rdx, [r13*2 + 2]
mov rax, r12
cmp rdx, 0x1000
jb 0x14004a958
add rdx, 0x27
mov r12, qword [r12 - 8]
sub rax, r12
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004a9be
mov rcx, r12
call fcn.140060350
mov r13, qword [rsp + 0x40]
mov r12, qword [rsp + 0x38]
test r15, r15
je 0x14004a9a6
mov rax, qword [rbp + 0x10]
sub rax, r15
sar rax, 1
lea rdx, [rax + rax]
mov rax, r15
cmp rdx, 0x1000
jb 0x14004a99e
add rdx, 0x27
mov r15, qword [r15 - 8]
sub rax, r15
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004a9c5
mov rcx, r15
call fcn.140060350
add r12, qword [rsp + 0x78]
mov qword [rsp + 0x38], r12
jmp 0x14004a5dd
add rbx, 2
jmp 0x14004a8b0
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]
int3
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop
mov rdx, qword [rbp - 0x28]
cmp rdx, 8
jb 0x14004aa1a
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004aa14
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14004aa14
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140060350
nop
mov rax, r14
mov rcx, qword [rbp + 0x20]
xor rcx, rsp
call fcn.14005fef0
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.140038580
nop
int3