Function at 0x180009bb0
Capabilities:
Check os version
Get disk size
Get hostname
Get memory capacity
Get system information on windows

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x490]
sub rsp, 0x590
mov rax, qword [0x18005c020]
xor rax, rsp
mov qword [rbp + 0x488], rax
mov r12, rdx
mov r15, rcx
mov qword [rbp + 0xd8], rcx
mov qword [rbp - 0x70], rdx
mov dword [rbp + 0x100], 0x348
xor r13d, r13d
mov ebx, r13d
xor r9d, r9d
lea r8, [rbp + 0x100]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.USER32.dll_EnumDisplayDevicesW]
lea rsi, [0x180062260]
mov edi, 0xdc
test eax, eax
je 0x180009d2d
nop dword [rax]
lea rdx, str.Display_Device_Name:
mov rcx, rsi
call fcn.1800128c0
mov rcx, rax
lea rdx, [rbp + 0x104]
call fcn.18000fa90
mov rcx, rax
call fcn.180012b30
lea rdx, str.Display_Device_String:
mov rcx, rsi
call fcn.1800128c0
mov rcx, rax
lea rdx, [rbp + 0x144]
call fcn.18000fa90
mov rcx, rax
call fcn.180012b30
mov word [rbp - 0x1c], di
lea r8, [rbp - 0x60]
mov edx, 0xffffffff
lea rcx, [rbp + 0x104]
call qword [sym.imp.USER32.dll_EnumDisplaySettingsW]
test eax, eax
je 0x180009d07
lea rdx, str.Display_Resolution:
mov rcx, rsi
call fcn.1800128c0
mov rcx, rax
mov edx, dword [rbp + 0x4c]
call fcn.18000fdf0
mov rcx, rax
lea rdx, [0x180054e98]
call fcn.1800128c0
mov rcx, rax
mov edx, dword [rbp + 0x50]
call fcn.18000fdf0
mov rcx, rax
call fcn.180012b30
lea rdx, str.Display_Refresh_Rate:
mov rcx, rsi
call fcn.1800128c0
mov rcx, rax
mov edx, dword [rbp + 0x58]
call fcn.18000fdf0
mov rcx, rax
lea rdx, [0x180054eb8]
call fcn.1800128c0
mov rcx, rax
call fcn.180012b30
mov rcx, rsi
call fcn.180012b30
inc ebx
xor r9d, r9d
lea r8, [rbp + 0x100]
mov edx, ebx
xor ecx, ecx
call qword [sym.imp.USER32.dll_EnumDisplayDevicesW]
test eax, eax
jne 0x180009c30
mov edx, 0x7e4
lea rcx, str._d_is_a_leap_year._n
call fcn.1800017e0
mov edx, 7
lea rcx, str._d_is_odd_n
call fcn.1800017e0
mov edx, 0x20
lea rcx, str._c_is_a_whitespace_character._n
call fcn.1800017e0
mov dword [rsp + 0x50], 0x40
lea rcx, [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_GlobalMemoryStatusEx]
test eax, eax
je 0x180009dc6
mov rdi, qword [rsp + 0x60]
shr rdi, 0x14
mov rbx, qword [rsp + 0x58]
shr rbx, 0x14
lea rdx, str.Memory_Usage:
mov rcx, rsi
call fcn.1800128c0
mov rcx, rax
mov rdx, rbx
call fcn.18000fc40
mov rcx, rax
lea rdx, str._MB_Total_
call fcn.1800128c0
mov rcx, rax
mov rdx, rdi
call fcn.18000fc40
lea rdx, str._MB_Available
jmp 0x180009dd0
mov rax, rsi
lea rdx, str.Failed_to_get_memory_usage_
mov rcx, rax
call fcn.1800128c0
mov rcx, rax
call fcn.180012b30
mov edx, 0x19
mov r9d, edx
lea r8d, [rdx + 5]
lea rcx, str.The_minimum_number_between__d_and__d_is__d_n
call fcn.1800017e0
xorps xmm0, xmm0
movups xmmword [rbp + 0xc8], xmm0
mov rcx, r12
cmp qword [r12 + 0x18], 0x10
jb 0x180009e11
mov rcx, qword [r12]
lea rax, [rbp + 0xd4]
mov qword [rsp + 0x38], rax
lea rax, [rbp + 0xd2]
mov qword [rsp + 0x30], rax
lea rax, [rbp + 0xd0]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0xce]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0xca]
lea r8, [rbp + 0xc8]
lea rdx, str._hu__hu__hu__hu:_hu:_hu
call fcn.1800018a0
mov r14d, eax
mov dword [rsp + 0x50], 0x40
lea rcx, [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_GlobalMemoryStatusEx]
test eax, eax
je 0x180009ec4
mov rdi, qword [rsp + 0x60]
shr rdi, 0x14
mov rbx, qword [rsp + 0x58]
shr rbx, 0x14
lea rdx, str.Memory_Usage:
mov rcx, rsi
call fcn.1800128c0
mov rcx, rax
mov rdx, rbx
call fcn.18000fc40
mov rcx, rax
lea rdx, str._MB_Total_
call fcn.1800128c0
mov rcx, rax
mov rdx, rdi
call fcn.18000fc40
lea rdx, str._MB_Available
jmp 0x180009ece
mov rax, rsi
lea rdx, str.Failed_to_get_memory_usage_
mov rcx, rax
call fcn.1800128c0
mov rcx, rax
call fcn.180012b30
mov edx, 0x2c
lea rcx, str._c_is_a_punctuation_mark._n
call fcn.1800017e0
mov edx, 6
mov r8d, 0x2d0
lea rcx, str.Factorial_of__d_is__d_n
call fcn.1800017e0
cmp r14d, 6
je 0x180009f2d
mov qword [r15], r13
mov qword [r15 + 0x10], r13
mov qword [r15 + 0x18], 0xf
mov byte [r15], r13b
xor r8d, r8d
lea rdx, [0x180054b8b]
jmp 0x18000ad73
mov edx, 6
mov r8d, 0x2d0
lea rcx, str.Factorial_of__d_is__d_n
call fcn.1800017e0
lea r9, [rsp + 0x40]
lea r8, [rbp + 0xc0]
lea rdx, [rbp + 0x450]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceExW]
lea r13, str._GB_Free
test eax, eax
je 0x180009fb7
mov rdi, qword [rsp + 0x40]
shr rdi, 0x1e
mov rbx, qword [rbp + 0xc0]
shr rbx, 0x1e
lea rdx, str.Disk_Usage:
mov rcx, rsi
call fcn.1800128c0
mov rcx, rax
mov rdx, rbx
call fcn.18000fc40
mov rcx, rax
lea rdx, str._GB_Total_
call fcn.1800128c0
mov rcx, rax
mov rdx, rdi
call fcn.18000fc40
mov rdx, r13
jmp 0x180009fc1
mov rax, rsi
lea rdx, str.Failed_to_get_disk_usage_
mov rcx, rax
call fcn.1800128c0
mov rcx, rax
call fcn.180012b30
lea rcx, [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_GetSystemInfo]
lea rdx, str.Processor_Architecture:
mov rcx, rsi
call fcn.1800128c0
movzx ecx, word [rsp + 0x50]
test ecx, ecx
je 0x18000a027
sub ecx, 5
je 0x18000a01e
sub ecx, 1
je 0x18000a015
cmp ecx, 3
je 0x18000a00c
lea rdx, str.Unknown
jmp 0x18000a02e
lea rdx, str.AMD64
jmp 0x18000a02e
lea rdx, str.IA64
jmp 0x18000a02e
lea rdx, [0x18005507c]
jmp 0x18000a02e
lea rdx, [0x180055088]
mov rcx, rsi
call fcn.1800128c0
mov rcx, rax
call fcn.180012b30
lea rdx, str.Number_of_Processors:
mov rcx, rsi
call fcn.1800128c0
mov rcx, rax
mov edx, dword [rsp + 0x70]
call fcn.18000fdf0
mov rcx, rax
call fcn.180012b30
lea rdx, str.Processor_Type:
mov rcx, rsi
call fcn.1800128c0
mov rcx, rax
mov edx, dword [rsp + 0x74]
call fcn.18000fdf0
mov rcx, rax
call fcn.180012b30
lea rdx, str.Processor_Level:
mov rcx, rsi
call fcn.1800128c0
mov rcx, rax
movzx edx, word [rsp + 0x7c]
call fcn.18000ffa0
mov rcx, rax
call fcn.180012b30
lea rdx, str.Processor_Revision:
mov rcx, rsi
call fcn.1800128c0
mov rcx, rax
movzx edx, word [rsp + 0x7e]
call fcn.18000ffa0
mov rcx, rax
call fcn.180012b30
mov dword [rsp + 0x40], 0x10
lea rdx, [rsp + 0x40]
lea rcx, [rbp + 0x450]
call qword [sym.imp.KERNEL32.dll_GetComputerNameW]
test eax, eax
je 0x18000a116
lea rdx, str.Computer_Name:
lea rcx, [0x180062400]
call fcn.180012bc0
mov rcx, rax
lea rdx, [rbp + 0x450]
call fcn.180012bc0
mov rcx, rax
call fcn.180012e40
jmp 0x18000a12d
lea rdx, str.Failed_to_get_computer_name_
mov rcx, rsi
call fcn.1800128c0
mov rcx, rax
call fcn.180012b30
mov dword [rsp + 0x40], 0x10
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x50]
mov r14d, 2
mov ecx, r14d
call qword [sym.imp.KERNEL32.dll_GetComputerNameExW]
test eax, eax
je 0x18000a17c
lea rdx, str.Domain_Name:
lea rcx, [0x180062400]
call fcn.180012bc0
mov rcx, rax
lea rdx, [rsp + 0x50]
call fcn.180012bc0
mov rcx, rax
call fcn.180012e40
jmp 0x18000a193
lea rdx, str.Failed_to_get_domain_name_
mov rcx, rsi
call fcn.1800128c0
mov rcx, rax
call fcn.180012b30
mov edx, 8
lea r8d, [rdx + 0xd]
lea rcx, str.Fibonacci_number_at_position__d_is__d_n
call fcn.1800017e0
movsd xmm3, qword [0x180055440]
movq r9, xmm3
movsd xmm2, qword [0x180055438]
movq r8, xmm2
movsd xmm1, qword [0x180055430]
movq rdx, xmm1
lea rcx, str.Product_of__.2f_and__.2f_is__.2f_n
call fcn.1800017e0
mov edx, 0x7e4
lea rcx, str._d_is_a_leap_year._n
call fcn.1800017e0
mov edx, 0x35
lea rcx, str._c_is_a_digit._n
call fcn.1800017e0
mov edx, 0x2c
lea rcx, str._c_is_a_punctuation_mark._n
call fcn.1800017e0
lea rdx, [rbp + 0xe0]
lea rcx, [rbp + 0xc8]
call qword [sym.imp.KERNEL32.dll_SystemTimeToFileTime]
test eax, eax
jne 0x18000a2e1
lea edx, [rax + 0x48]
lea rcx, str._c_is_an_uppercase_letter._n
call fcn.1800017e0
mov edx, 0xf
mov r9d, 0x14
mov r8d, r9d
lea rcx, str.The_maximum_number_between__d_and__d_is__d_n
call fcn.1800017e0
lea r9, [rbp + 0xc0]
lea r8, [rsp + 0x40]
lea rdx, [rbp + 0x450]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceExW]
test eax, eax
je 0x18000a2bf
mov rdi, qword [rbp + 0xc0]
shr rdi, 0x1e
mov rbx, qword [rsp + 0x40]
shr rbx, 0x1e
lea rdx, str.Disk_Usage:
mov rcx, rsi
call fcn.1800128c0
mov rcx, rax
mov rdx, rbx
call fcn.18000fc40
mov rcx, rax
lea rdx, str._GB_Total_
call fcn.1800128c0
mov rcx, rax
mov rdx, rdi
call fcn.18000fc40
mov rsi, rax
jmp 0x18000a2c6
lea r13, str.Failed_to_get_disk_usage_
mov rdx, r13
mov rcx, rsi
call fcn.1800128c0
mov rcx, rax
call fcn.180012b30
xor r13d, r13d
jmp 0x180009f0c
lea rcx, [rbp + 0x450]
call qword [sym.imp.KERNEL32.dll_GetLocalTime]
lea rdx, str.Current_Time_1:
mov rcx, rsi
call fcn.1800128c0
mov rcx, rax
movzx edx, word [rbp + 0x458]
call fcn.18000ffa0
mov rcx, rax
lea rdx, [0x180054ce0]
call fcn.1800128c0
mov rcx, rax
movzx edx, word [rbp + 0x45a]
call fcn.18000ffa0
mov rcx, rax
lea rdx, [0x180054ce0]
call fcn.1800128c0
mov rcx, rax
movzx edx, word [rbp + 0x45c]
call fcn.18000ffa0
mov rcx, rax
call fcn.180012b30
lea rcx, [rbp + 0x450]
call qword [sym.imp.KERNEL32.dll_GetLocalTime]
lea rdx, str.Current_Time_1:
mov rcx, rsi
call fcn.1800128c0
mov rcx, rax
movzx edx, word [rbp + 0x458]
call fcn.18000ffa0
mov rcx, rax
lea rdx, [0x180054ce0]
call fcn.1800128c0
mov rcx, rax
movzx edx, word [rbp + 0x45a]
call fcn.18000ffa0
mov rcx, rax
lea rdx, [0x180054ce0]
call fcn.1800128c0
mov rcx, rax
movzx edx, word [rbp + 0x45c]
call fcn.18000ffa0
mov rcx, rax
call fcn.180012b30
mov dword [rsp + 0x50], 0x40
lea rcx, [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_GlobalMemoryStatusEx]
test eax, eax
je 0x18000a425
mov rdi, qword [rsp + 0x60]
shr rdi, 0x14
mov rbx, qword [rsp + 0x58]
shr rbx, 0x14
lea rdx, str.Memory_Usage:
mov rcx, rsi
call fcn.1800128c0
mov rcx, rax
mov rdx, rbx
call fcn.18000fc40
mov rcx, rax
lea rdx, str._MB_Total_
call fcn.1800128c0
mov rcx, rax
mov rdx, rdi
call fcn.18000fc40
lea rdx, str._MB_Available
jmp 0x18000a42f
mov rax, rsi
lea rdx, str.Failed_to_get_memory_usage_
mov rcx, rax
call fcn.1800128c0
mov rcx, rax
call fcn.180012b30
mov edx, 6
mov r8d, 0x2d0
lea rcx, str.Factorial_of__d_is__d_n
call fcn.1800017e0
mov edx, 0xa
lea r9d, [rdx - 7]
lea r8d, [rdx - 3]
lea rcx, str.Difference_between__d_and__d_is__d_n
call fcn.1800017e0
mov edx, 0x48
lea rcx, str._c_is_an_uppercase_letter._n
call fcn.1800017e0
lea rdx, [rbp + 0xd8]
lea rcx, [rbp + 0xe0]
call qword [sym.imp.KERNEL32.dll_LocalFileTimeToFileTime]
test eax, eax
jne 0x18000a5ab
lea r8d, [rax + 1]
mov eax, 0x11
cdq
idiv r14d
test edx, edx
je 0x18000a4bb
inc r14d
cmp r14d, 8
jle 0x18000a4a0
xor r13d, r13d
jmp 0x18000a4c1
xor r13d, r13d
mov r8d, r13d
lea rax, str._d_is_not_a_prime_number._n
lea rcx, str._d_is_a_prime_number._n
test r8d, r8d
cmove rcx, rax
mov edx, 0x11
call fcn.1800017e0
mov edx, 4
lea r8d, [rdx + 0xc]
lea rcx, str.Square_of__d_is__d_n
call fcn.1800017e0
xor edx, edx
mov r8d, pe_nt_image_headers64
lea rcx, [rbp - 0x5c]
call fcn.18001d1b0
mov dword [rbp - 0x60], 0x114
lea rcx, [rbp - 0x60]
call qword [sym.imp.KERNEL32.dll_GetVersionExW]
mov rcx, rsi
test eax, eax
je 0x18000a575
lea rdx, str.Operating_System_Version:
call fcn.1800128c0
mov rcx, rax
mov edx, dword [rbp - 0x5c]
call fcn.18000fdf0
mov rcx, rax
lea rdx, [0x180055154]
call fcn.1800128c0
mov rcx, rax
mov edx, dword [rbp - 0x58]
call fcn.18000fdf0
mov rcx, rax
lea rdx, str.__Build
call fcn.1800128c0
mov rcx, rax
mov edx, dword [rbp - 0x54]
call fcn.18000fdf0
mov rcx, rax
lea rdx, [0x180055144]
jmp 0x18000a57c
lea rdx, str.Failed_to_get_operating_system_version_
call fcn.1800128c0
mov rcx, rax
call fcn.180012b30
mov qword [r15], r13
mov qword [r15 + 0x10], r13
mov qword [r15 + 0x18], 0xf
mov byte [r15], 0
xor r8d, r8d
lea rdx, [0x180054b8b]
jmp 0x18000ad73
mov edx, 7
lea rcx, str._d_is_odd_n
call fcn.1800017e0
mov dword [rbp + 0x100], 0x348
xor r13d, r13d
mov ebx, r13d
xor r9d, r9d
lea r8, [rbp + 0x100]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.USER32.dll_EnumDisplayDevicesW]
mov edi, 0xdc
test eax, eax
je 0x18000a6ed
nop dword [rax]
lea rdx, str.Display_Device_Name:
mov rcx, rsi
call fcn.1800128c0
mov rcx, rax
lea rdx, [rbp + 0x104]
call fcn.18000fa90
mov rcx, rax
call fcn.180012b30
lea rdx, str.Display_Device_String:
mov rcx, rsi
call fcn.1800128c0
mov rcx, rax
lea rdx, [rbp + 0x144]
call fcn.18000fa90
mov rcx, rax
call fcn.180012b30
mov word [rbp - 0x1c], di
lea r8, [rbp - 0x60]
mov edx, 0xffffffff
lea rcx, [rbp + 0x104]
call qword [sym.imp.USER32.dll_EnumDisplaySettingsW]
test eax, eax
je 0x18000a6c7
lea rdx, str.Display_Resolution:
mov rcx, rsi
call fcn.1800128c0
mov rcx, rax
mov edx, dword [rbp + 0x4c]
call fcn.18000fdf0
mov rcx, rax
lea rdx, [0x180054e98]
call fcn.1800128c0
mov rcx, rax
mov edx, dword [rbp + 0x50]
call fcn.18000fdf0
mov rcx, rax
call fcn.180012b30
lea rdx, str.Display_Refresh_Rate:
mov rcx, rsi
call fcn.1800128c0
mov rcx, rax
mov edx, dword [rbp + 0x58]
call fcn.18000fdf0
mov rcx, rax
lea rdx, [0x180054eb8]
call fcn.1800128c0
mov rcx, rax
call fcn.180012b30
mov rcx, rsi
call fcn.180012b30
inc ebx
xor r9d, r9d
lea r8, [rbp + 0x100]
mov edx, ebx
xor ecx, ecx
call qword [sym.imp.USER32.dll_EnumDisplayDevicesW]
test eax, eax
jne 0x18000a5f0
movsd xmm3, qword [0x180055440]
movq r9, xmm3
movsd xmm2, qword [0x180055438]
movq r8, xmm2
movsd xmm1, qword [0x180055430]
movq rdx, xmm1
lea rcx, str.Product_of__.2f_and__.2f_is__.2f_n
call fcn.1800017e0
mov edx, 0x7e4
lea rcx, str._d_is_a_leap_year._n
call fcn.1800017e0
mov edx, 5
lea r9d, [rdx + 3]
lea r8d, [rdx - 2]
lea rcx, str.Sum_of__d_and__d_is__d_n
call fcn.1800017e0
mov edx, 0x2c
lea rcx, str._c_is_a_punctuation_mark._n
call fcn.1800017e0
xor ecx, ecx
call fcn.1800230fc
mov qword [rbp + 0xc0], rax
lea rcx, [rbp + 0xc0]
call fcn.180023458
mov r9, rax
lea r8, str._Y__m__d__H:_M:_S
mov edx, 0x14
lea rcx, [rbp + 0x450]
call fcn.1800204c4
lea rdx, str.Current_Time_2:
mov rcx, rsi
call fcn.1800128c0
mov rcx, rax
lea rdx, [rbp + 0x450]
call fcn.1800128c0
mov rcx, rax
call fcn.180012b30
mov edx, 0x19
mov r9d, edx
lea r8d, [rdx + 5]
lea rcx, str.The_minimum_number_between__d_and__d_is__d_n
call fcn.1800017e0
nop
mov eax, 0x11
cdq
idiv r14d
test edx, edx
je 0x18000a7ef
inc r14d
cmp r14d, 8
jle 0x18000a7d0
lea rcx, str._d_is_a_prime_number._n
jmp 0x18000a7f6
lea rcx, str._d_is_not_a_prime_number._n
mov edx, 0x11
call fcn.1800017e0
mov edx, 0x35
lea rcx, str._c_is_a_digit._n
call fcn.1800017e0
mov edx, 7
lea rcx, str._d_is_odd_n
call fcn.1800017e0
mov edx, 0xf
mov r9d, 0x14
mov r8d, r9d
lea rcx, str.The_maximum_number_between__d_and__d_is__d_n
call fcn.1800017e0
lea rdx, [rbp + 0xe8]
lea rcx, [rbp + 0xd8]
call qword [sym.imp.KERNEL32.dll_FileTimeToSystemTime]
test eax, eax
jne 0x18000a8f0
lea edx, [rax + 4]
lea r8d, [rax + 0x10]
lea rcx, str.Square_of__d_is__d_n
call fcn.1800017e0
mov edx, 0x20
lea rcx, str._c_is_a_whitespace_character._n
call fcn.1800017e0
lea rcx, [rbp + 0x450]
call qword [sym.imp.KERNEL32.dll_GetLocalTime]
lea rdx, str.Current_Time_1:
mov rcx, rsi
call fcn.1800128c0
mov rcx, rax
movzx edx, word [rbp + 0x458]
call fcn.18000ffa0
mov rcx, rax
lea rdx, [0x180054ce0]
call fcn.1800128c0
mov rcx, rax
movzx edx, word [rbp + 0x45a]
call fcn.18000ffa0
mov rcx, rax
lea rdx, [0x180054ce0]
call fcn.1800128c0
mov rcx, rax
movzx edx, word [rbp + 0x45c]
call fcn.18000ffa0
mov rcx, rax
call fcn.180012b30
jmp 0x180009f0c
mov dword [rsp + 0x28], 0x14
lea rax, [rbp + 0x470]
mov qword [rsp + 0x20], rax
lea r9, str.yyyy_MM_dd
lea r8, [rbp + 0xe8]
xor edx, edx
mov ecx, 0x800
call qword [sym.imp.KERNEL32.dll_GetDateFormatA]
mov dword [rbp + 0x100], 0x348
mov ebx, r13d
xor r9d, r9d
lea r8, [rbp + 0x100]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.USER32.dll_EnumDisplayDevicesW]
test eax, eax
je 0x18000aa4d
nop dword [rax + rax]
lea rdx, str.Display_Device_Name:
mov rcx, rsi
call fcn.1800128c0
mov rcx, rax
lea rdx, [rbp + 0x104]
call fcn.18000fa90
mov rcx, rax
call fcn.180012b30
lea rdx, str.Display_Device_String:
mov rcx, rsi
call fcn.1800128c0
mov rcx, rax
lea rdx, [rbp + 0x144]
call fcn.18000fa90
mov rcx, rax
call fcn.180012b30
mov word [rbp - 0x1c], di
lea r8, [rbp - 0x60]
mov edx, 0xffffffff
lea rcx, [rbp + 0x104]
call qword [sym.imp.USER32.dll_EnumDisplaySettingsW]
test eax, eax
je 0x18000aa27
lea rdx, str.Display_Resolution:
mov rcx, rsi
call fcn.1800128c0
mov rcx, rax
mov edx, dword [rbp + 0x4c]
call fcn.18000fdf0
mov rcx, rax
lea rdx, [0x180054e98]
call fcn.1800128c0
mov rcx, rax
mov edx, dword [rbp + 0x50]
call fcn.18000fdf0
mov rcx, rax
call fcn.180012b30
lea rdx, str.Display_Refresh_Rate:
mov rcx, rsi
call fcn.1800128c0
mov rcx, rax
mov edx, dword [rbp + 0x58]
call fcn.18000fdf0
mov rcx, rax
lea rdx, [0x180054eb8]
call fcn.1800128c0
mov rcx, rax
call fcn.180012b30
mov rcx, rsi
call fcn.180012b30
inc ebx
xor r9d, r9d
lea r8, [rbp + 0x100]
mov edx, ebx
xor ecx, ecx
call qword [sym.imp.USER32.dll_EnumDisplayDevicesW]
test eax, eax
jne 0x18000a950
mov dword [rsp + 0x50], 0x40
lea rcx, [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_GlobalMemoryStatusEx]
mov rcx, rsi
test eax, eax
je 0x18000aab6
mov rdi, qword [rsp + 0x60]
shr rdi, 0x14
mov rbx, qword [rsp + 0x58]
shr rbx, 0x14
lea rdx, str.Memory_Usage:
call fcn.1800128c0
mov rcx, rax
mov rdx, rbx
call fcn.18000fc40
mov rcx, rax
lea rdx, str._MB_Total_
call fcn.1800128c0
mov rcx, rax
mov rdx, rdi
call fcn.18000fc40
mov rcx, rax
lea rdx, str._MB_Available
jmp 0x18000aabd
lea rdx, str.Failed_to_get_memory_usage_
call fcn.1800128c0
mov rcx, rax
call fcn.180012b30
xor edx, edx
mov r8d, pe_nt_image_headers64
lea rcx, [rbp - 0x5c]
call fcn.18001d1b0
mov dword [rbp - 0x60], 0x114
lea rcx, [rbp - 0x60]
call qword [sym.imp.KERNEL32.dll_GetVersionExW]
mov rcx, rsi
test eax, eax
je 0x18000ab4a
lea rdx, str.Operating_System_Version:
call fcn.1800128c0
mov rcx, rax
mov edx, dword [rbp - 0x5c]
call fcn.18000fdf0
mov rcx, rax
lea rdx, [0x180055154]
call fcn.1800128c0
mov rcx, rax
mov edx, dword [rbp - 0x58]
call fcn.18000fdf0
mov rcx, rax
lea rdx, str.__Build
call fcn.1800128c0
mov rcx, rax
mov edx, dword [rbp - 0x54]
call fcn.18000fdf0
mov rcx, rax
lea rdx, [0x180055144]
jmp 0x18000ab51
lea rdx, str.Failed_to_get_operating_system_version_
call fcn.1800128c0
mov rcx, rax
call fcn.180012b30
lea r8, [0x180054ce4]
mov edx, 0x14
lea rcx, [rbp + 0x470]
call fcn.180024384
mov edx, 0x19
mov r9d, edx
lea r8d, [rdx + 5]
lea rcx, str.The_minimum_number_between__d_and__d_is__d_n
call fcn.1800017e0
mov edx, 6
mov r8d, 0x2d0
lea rcx, str.Factorial_of__d_is__d_n
call fcn.1800017e0
mov edx, 7
lea rcx, str._d_is_odd_n
call fcn.1800017e0
lea rdx, [rbp + 0x470]
mov rbx, 0xffffffffffffffff
mov rax, rbx
inc rax
cmp byte [rdx + rax], r13b
jne 0x18000abc7
mov edx, 0x14
sub edx, eax
lea r8, [rbp + 0x470]
add rax, r8
mov dword [rsp + 0x28], edx
mov qword [rsp + 0x20], rax
lea r9, str.HH:mm:ss
lea r8, [rbp + 0xe8]
xor edx, edx
mov ecx, 0x800
call qword [sym.imp.KERNEL32.dll_GetTimeFormatA]
lea rcx, [rbp + 0x450]
call qword [sym.imp.KERNEL32.dll_GetLocalTime]
lea rdx, str.Current_Time_2:
mov rcx, rsi
call fcn.1800128c0
mov rcx, rax
movzx edx, word [rbp + 0x450]
call fcn.18000ffa0
mov rcx, rax
lea rdx, [0x180054ce8]
call fcn.1800128c0
mov rcx, rax
movzx edx, word [rbp + 0x452]
call fcn.18000ffa0
mov rcx, rax
lea rdx, [0x180054ce8]
call fcn.1800128c0
mov rcx, rax
movzx edx, word [rbp + 0x456]
call fcn.18000ffa0
mov rcx, rax
lea rdx, [0x180054ce4]
call fcn.1800128c0
mov rcx, rax
movzx edx, word [rbp + 0x458]
call fcn.18000ffa0
mov rcx, rax
lea rdx, [0x180054ce0]
call fcn.1800128c0
mov rcx, rax
movzx edx, word [rbp + 0x45a]
call fcn.18000ffa0
mov rcx, rax
lea rdx, [0x180054ce0]
call fcn.1800128c0
mov rcx, rax
movzx edx, word [rbp + 0x45c]
call fcn.18000ffa0
mov rcx, rax
call fcn.180012b30
xor ecx, ecx
call fcn.1800230fc
mov qword [rbp + 0xc0], rax
lea rcx, [rbp + 0xc0]
call fcn.180023458
mov r9, rax
lea r8, str._Y__m__d__H:_M:_S
mov edx, 0x14
lea rcx, [rbp + 0x450]
call fcn.1800204c4
lea rdx, str.Current_Time_2:
mov rcx, rsi
call fcn.1800128c0
mov rcx, rax
lea rdx, [rbp + 0x450]
call fcn.1800128c0
mov rcx, rax
call fcn.180012b30
mov edx, 6
mov r8d, 0x2d0
lea rcx, str.Factorial_of__d_is__d_n
call fcn.1800017e0
mov qword [r15], r13
mov qword [r15 + 0x10], r13
mov qword [r15 + 0x18], 0xf
mov byte [r15], r13b
lea rax, [rbp + 0x470]
nop dword [rax]
inc rbx
cmp byte [rax + rbx], r13b
jne 0x18000ad60
mov r8, rbx
lea rdx, [rbp + 0x470]
mov rcx, r15
call fcn.180011570
nop
mov rdx, qword [r12 + 0x18]
cmp rdx, 0x10
jb 0x18000adb4
inc rdx
mov rcx, qword [r12]
cmp rdx, 0x1000
jb 0x18000adaf
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x18000adf4
mov rcx, r8
call fcn.18001ae7c
mov qword [r12 + 0x10], r13
mov qword [r12 + 0x18], 0xf
mov byte [r12], 0
mov rax, r15
mov rcx, qword [rbp + 0x488]
xor rcx, rsp
call fcn.18001ae20
mov rbx, qword [rsp + 0x5e0]
add rsp, 0x590
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.18001ff34
int3