Function at 0x180011da0
Capabilities:
Get disk size
Get hostname
Get memory capacity

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rsi
push rbp
push rdi
push r12
push r14
push r15
lea rbp, [rsp - 0x200]
sub rsp, 0x300
mov rax, qword [0x180057040]
xor rax, rsp
mov qword [rbp + 0x1f8], rax
mov r15, rdx
mov r12, rcx
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x30], rdx
lea rcx, [rbp + 0x1d0]
call qword [sym.imp.KERNEL32.dll_GetLocalTime]
lea rdx, str.Current_Time_1:
lea rcx, [0x18005d270]
call fcn.180018200
mov rcx, rax
movzx edx, word [rbp + 0x1d8]
call fcn.180015950
mov rcx, rax
lea rdx, [0x180050cfc]
call fcn.180018200
mov rcx, rax
movzx edx, word [rbp + 0x1da]
call fcn.180015950
mov rcx, rax
lea rdx, [0x180050cfc]
call fcn.180018200
mov rcx, rax
movzx edx, word [rbp + 0x1dc]
call fcn.180015950
mov rcx, rax
call fcn.180018470
mov edx, 0x20
lea rcx, str._c_is_a_whitespace_character._n
call fcn.1800011b0
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
mov r14, rax
movabs rax, 0x8daea1d7f4cf721b
mul r14
mov rsi, r14
sub rsi, rdx
shr rsi, 1
add rsi, rdx
shr rsi, 0x1a
imul rax, rsi, 0x5265c00
mov rcx, r14
sub rcx, rax
movabs r8, 0x4a90be587de6e565
mov rax, r8
mul rcx
mov rdi, rdx
shr rdi, 0x14
mov rax, r8
mul r14
shr rdx, 0x14
imul rax, rdx, 0x36ee80
mov rbx, r14
sub rbx, rax
movabs rcx, 0x179ec9cbd821dc3b
mov rax, rcx
mul rbx
sub rbx, rdx
shr rbx, 1
add rbx, rdx
shr rbx, 0xf
mov rax, rcx
mul r14
mov rax, r14
sub rax, rdx
shr rax, 1
add rax, rdx
shr rax, 0xf
imul rax, rax, 0xea60
sub r14, rax
movabs rax, 0x624dd2f1a9fbe77
mul r14
sub r14, rdx
shr r14, 1
add r14, rdx
shr r14, 9
lea rdx, str.System_Uptime:
lea rcx, [0x18005d270]
call fcn.180018200
mov rcx, rax
mov edx, esi
call fcn.1800157a0
mov rcx, rax
lea rdx, str._days_
call fcn.180018200
mov rcx, rax
mov edx, edi
call fcn.1800157a0
mov rcx, rax
lea rdx, str._hours_
call fcn.180018200
mov rcx, rax
mov edx, ebx
call fcn.1800157a0
mov rcx, rax
lea rdx, str._minutes_
call fcn.180018200
mov rcx, rax
mov edx, r14d
call fcn.1800157a0
mov rcx, rax
lea rdx, str._seconds
call fcn.180018200
mov rcx, rax
call fcn.180018470
xor r14d, r14d
mov ebx, r14d
mov dword [rsp + 0x20], 8
lea rcx, [rsp + 0x20]
call qword [sym.imp.USER32.dll_GetLastInputInfo]
test eax, eax
je 0x180011fd3
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, eax
sub ecx, dword [rsp + 0x24]
mov eax, 0x10624dd3
mul ecx
mov ebx, edx
shr ebx, 6
lea rdx, str.Idle_Time:
lea rcx, [0x18005d270]
call fcn.180018200
mov rcx, rax
mov edx, ebx
call fcn.1800157a0
mov rcx, rax
lea rdx, str._seconds
call fcn.180018200
mov rcx, rax
call fcn.180018470
mov edx, 4
lea r8d, [rdx + 0xc]
lea rcx, str.Square_of__d_is__d_n
call fcn.1800011b0
lea r9, [rsp + 0x20]
lea r8, [rbp + 0x1e8]
lea rdx, [rbp + 0x1d0]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceExA]
test eax, eax
je 0x180012090
mov rdi, qword [rsp + 0x20]
shr rdi, 0x1e
mov rbx, qword [rbp + 0x1e8]
shr rbx, 0x1e
lea rdx, str.Disk_Usage:
lea rcx, [0x18005d270]
call fcn.180018200
mov rcx, rax
mov rdx, rbx
call fcn.1800155f0
mov rcx, rax
lea rdx, str._GB_Total_
call fcn.180018200
mov rcx, rax
mov rdx, rdi
call fcn.1800155f0
lea rdx, str._GB_Free
jmp 0x18001209e
lea rax, [0x18005d270]
lea rdx, str.Failed_to_get_disk_usage_
mov rcx, rax
call fcn.180018200
mov rcx, rax
call fcn.180018470
mov edx, 0xa
lea r9d, [rdx - 7]
lea r8d, [rdx - 3]
lea rcx, str.Difference_between__d_and__d_is__d_n
call fcn.1800011b0
cmp qword [r12 + 0x18], 0x10
jb 0x1800120e0
mov rbx, qword [r12]
mov rdi, rbx
add rdi, qword [r12 + 0x10]
mov rsi, rbx
jmp 0x1800120ee
mov rdi, qword [r12 + 0x10]
add rdi, r12
mov rbx, r12
mov rsi, r12
cmp rbx, rdi
je 0x180012109
sub rsi, rbx
movsx ecx, byte [rbx]
call fcn.180023da0
mov byte [rsi + rbx], al
inc rbx
cmp rbx, rdi
jne 0x1800120f6
mov edx, 5
lea r9d, [rdx + 3]
lea r8d, [rdx - 2]
lea rcx, str.Sum_of__d_and__d_is__d_n
call fcn.1800011b0
mov edx, 6
mov r8d, 0x2d0
lea rcx, str.Factorial_of__d_is__d_n
call fcn.1800011b0
mov dword [rbp + 0x20], 0x1a8
mov ebx, r14d
xor r9d, r9d
lea r8, [rbp + 0x20]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.USER32.dll_EnumDisplayDevicesA]
test eax, eax
je 0x180012266
mov edi, 0x9c
lea rdx, str.Display_Device_Name:
lea rcx, [0x18005d270]
call fcn.180018200
mov rcx, rax
lea rdx, [rbp + 0x24]
call fcn.180018200
mov rcx, rax
call fcn.180018470
lea rdx, str.Display_Device_String:
lea rcx, [0x18005d270]
call fcn.180018200
mov rcx, rax
lea rdx, [rbp + 0x44]
call fcn.180018200
mov rcx, rax
call fcn.180018470
mov word [rbp - 0x5c], di
lea r8, [rbp - 0x80]
mov edx, 0xffffffff
lea rcx, [rbp + 0x24]
call qword [sym.imp.USER32.dll_EnumDisplaySettingsA]
test eax, eax
je 0x18001223f
lea rdx, str.Display_Resolution:
lea rcx, [0x18005d270]
call fcn.180018200
mov rcx, rax
mov edx, dword [rbp - 0x14]
call fcn.1800157a0
mov rcx, rax
lea rdx, [0x180050f10]
call fcn.180018200
mov rcx, rax
mov edx, dword [rbp - 0x10]
call fcn.1800157a0
mov rcx, rax
call fcn.180018470
lea rdx, str.Display_Refresh_Rate:
lea rcx, [0x18005d270]
call fcn.180018200
mov rcx, rax
mov edx, dword [rbp - 8]
call fcn.1800157a0
mov rcx, rax
lea rdx, [0x180050f30]
call fcn.180018200
mov rcx, rax
call fcn.180018470
lea rcx, [0x18005d270]
call fcn.180018470
inc ebx
xor r9d, r9d
lea r8, [rbp + 0x20]
mov edx, ebx
xor ecx, ecx
call qword [sym.imp.USER32.dll_EnumDisplayDevicesA]
test eax, eax
jne 0x180012161
mov edx, 7
lea rcx, str._d_is_odd_n
call fcn.1800011b0
xor ecx, ecx
call fcn.1800264b0
mov qword [rbp + 0x1e8], rax
lea rcx, [rbp + 0x1e8]
call fcn.18002680c
mov r9, rax
lea r8, str._Y__m__d__H:_M:_S
mov edx, 0x14
lea rcx, [rbp + 0x1d0]
call fcn.180023bf4
lea rdx, [0x180050d08]
lea rcx, [0x18005d270]
call fcn.180018200
mov rcx, rax
lea rdx, [rbp + 0x1d0]
call fcn.180018200
mov rcx, rax
call fcn.180018470
movsd xmm3, qword [0x1800510e8]
movq r9, xmm3
movsd xmm2, qword [0x1800510e0]
movq r8, xmm2
movsd xmm1, qword [0x1800510d8]
movq rdx, xmm1
lea rcx, str.Product_of__.2f_and__.2f_is__.2f_n
call fcn.1800011b0
cmp qword [r15 + 0x18], 0x10
jb 0x18001231f
mov rbx, qword [r15]
mov rdi, rbx
add rdi, qword [r15 + 0x10]
mov rsi, rbx
jmp 0x18001232c
mov rdi, qword [r15 + 0x10]
add rdi, r15
mov rbx, r15
mov rsi, r15
cmp rbx, rdi
je 0x180012347
sub rsi, rbx
movsx ecx, byte [rbx]
call fcn.180023da0
mov byte [rsi + rbx], al
inc rbx
cmp rbx, rdi
jne 0x180012334
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.1800011b0
mov edx, 0xf
mov r9d, 0x14
mov r8d, r9d
lea rcx, str.The_maximum_number_between__d_and__d_is__d_n
call fcn.1800011b0
mov dword [rsp + 0x40], 0x40
lea rcx, [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_GlobalMemoryStatusEx]
test eax, eax
je 0x1800123e3
mov rdi, qword [rsp + 0x50]
shr rdi, 0x14
mov rbx, qword [rsp + 0x48]
shr rbx, 0x14
lea rdx, str.Memory_Usage:
lea rcx, [0x18005d270]
call fcn.180018200
mov rcx, rax
mov rdx, rbx
call fcn.1800155f0
mov rcx, rax
lea rdx, str._MB_Total_
call fcn.180018200
mov rcx, rax
mov rdx, rdi
call fcn.1800155f0
lea rdx, str._MB_Available
jmp 0x1800123f1
lea rax, [0x18005d270]
lea rdx, str.Failed_to_get_memory_usage_
mov rcx, rax
call fcn.180018200
mov rcx, rax
call fcn.180018470
mov edx, 0x2c
lea rcx, str._c_is_a_punctuation_mark._n
call fcn.1800011b0
mov dword [rsp + 0x20], 0x10
lea rdx, [rsp + 0x20]
lea rcx, [rbp + 0x1d0]
call qword [sym.imp.KERNEL32.dll_GetComputerNameA]
test eax, eax
je 0x180012455
lea rdx, str.Computer_Name:
call fcn.180018520
mov rcx, rax
lea rdx, [rbp + 0x1d0]
call fcn.1800187c0
mov rcx, rax
call fcn.180018af0
jmp 0x180012470
lea rdx, str.Failed_to_get_computer_name_
lea rcx, [0x18005d270]
call fcn.180018200
mov rcx, rax
call fcn.180018470
mov dword [rsp + 0x20], 0x10
lea r8, [rsp + 0x20]
lea rdx, [rbp + 0x1e8]
mov ecx, 2
call qword [sym.imp.KERNEL32.dll_GetComputerNameExA]
test eax, eax
je 0x1800124b8
lea rdx, str.Domain_Name:
call fcn.180018520
mov rcx, rax
lea rdx, [rbp + 0x1e8]
call fcn.1800187c0
mov rcx, rax
call fcn.180018af0
jmp 0x1800124d3
lea rdx, str.Failed_to_get_domain_name_
lea rcx, [0x18005d270]
call fcn.180018200
mov rcx, rax
call fcn.180018470
lea rcx, [rbp + 0x1d0]
call qword [sym.imp.KERNEL32.dll_GetLocalTime]
lea rdx, [0x180050d08]
lea rcx, [0x18005d270]
call fcn.180018200
mov rcx, rax
movzx edx, word [rbp + 0x1d0]
call fcn.180015950
mov rcx, rax
lea rdx, [0x180050d04]
call fcn.180018200
mov rcx, rax
movzx edx, word [rbp + 0x1d2]
call fcn.180015950
mov rcx, rax
lea rdx, [0x180050d04]
call fcn.180018200
mov rcx, rax
movzx edx, word [rbp + 0x1d6]
call fcn.180015950
mov rcx, rax
lea rdx, [0x180050d00]
call fcn.180018200
mov rcx, rax
movzx edx, word [rbp + 0x1d8]
call fcn.180015950
mov rcx, rax
lea rdx, [0x180050cfc]
call fcn.180018200
mov rcx, rax
movzx edx, word [rbp + 0x1da]
call fcn.180015950
mov rcx, rax
lea rdx, [0x180050cfc]
call fcn.180018200
mov rcx, rax
movzx edx, word [rbp + 0x1dc]
call fcn.180015950
mov rcx, rax
call fcn.180018470
xor r8d, r8d
mov rdx, r15
mov rcx, r12
call fcn.180015b40
mov rbx, rax
mov rdx, qword [r12 + 0x18]
cmp rdx, 0x10
jb 0x1800125ed
mov rcx, qword [r12]
inc rdx
cmp rdx, 0x1000
jb 0x1800125e8
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x180012674
mov rcx, r8
call fcn.18001e910
mov qword [r12 + 0x10], r14
mov qword [r12 + 0x18], 0xf
mov byte [r12], 0
mov rdx, qword [r15 + 0x18]
cmp rdx, 0x10
jb 0x180012636
inc rdx
mov rcx, qword [r15]
cmp rdx, 0x1000
jb 0x180012631
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x18001267a
mov rcx, r8
call fcn.18001e910
mov qword [r15 + 0x10], r14
mov qword [r15 + 0x18], 0xf
mov byte [r15], 0
mov rax, rbx
mov rcx, qword [rbp + 0x1f8]
xor rcx, rsp
call fcn.18001e8f0
lea r11, [rsp + 0x300]
mov rbx, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rbp
ret
call fcn.180026134
nop
call fcn.180026134
int3