Function at 0x1800052e0
Capabilities:
Get disk size
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 - 0x450]
sub rsp, 0x550
mov rax, qword [0x18005c020]
xor rax, rsp
mov qword [rbp + 0x448], rax
mov rsi, rdx
mov qword [rsp + 0x40], rdx
mov r14, rcx
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x48], rcx
mov qword [rbp - 0x58], rdx
xor r13d, r13d
mov dword [rsp + 0x30], r13d
mov dword [rsp + 0x60], 0x40
lea rcx, [rsp + 0x60]
call qword [sym.imp.KERNEL32.dll_GlobalMemoryStatusEx]
lea r15, [0x180062260]
test eax, eax
je 0x18000539e
mov rdi, qword [rsp + 0x70]
shr rdi, 0x14
mov rbx, qword [rsp + 0x68]
shr rbx, 0x14
lea rdx, str.Memory_Usage:
mov rcx, r15
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 0x1800053a8
mov rax, r15
lea rdx, str.Failed_to_get_memory_usage_
mov rcx, rax
call fcn.1800128c0
mov rcx, rax
call fcn.180012b30
lea r9, [rsp + 0x58]
lea r8, [rsp + 0x50]
lea rdx, [rbp + 0xd0]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceExW]
test eax, eax
je 0x180005424
mov rdi, qword [rsp + 0x58]
shr rdi, 0x1e
mov rbx, qword [rsp + 0x50]
shr rbx, 0x1e
lea rdx, str.Disk_Usage:
mov rcx, r15
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
lea rdx, str._GB_Free
jmp 0x18000542e
mov rax, r15
lea rdx, str.Failed_to_get_disk_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 qword [r14], r13
mov qword [r14 + 0x10], r13
mov qword [r14 + 0x18], 7
mov word [r14], r13w
mov dword [rsp + 0x30], 1
mov edx, 0x48
lea rcx, str._c_is_an_uppercase_letter._n
call fcn.1800017e0
xor edx, edx
mov r8d, pe_nt_image_headers64
lea rcx, [rbp - 0x4c]
call fcn.18001d1b0
mov dword [rbp - 0x50], 0x114
lea rcx, [rbp - 0x50]
call qword [sym.imp.KERNEL32.dll_GetVersionExW]
test eax, eax
je 0x1800054fe
lea rdx, str.Operating_System_Version:
mov rcx, r15
call fcn.1800128c0
mov rcx, rax
mov edx, dword [rbp - 0x4c]
call fcn.18000fdf0
mov rcx, rax
lea rdx, [0x180055154]
call fcn.1800128c0
mov rcx, rax
mov edx, dword [rbp - 0x48]
call fcn.18000fdf0
mov rcx, rax
lea rdx, str.__Build
call fcn.1800128c0
mov rcx, rax
mov edx, dword [rbp - 0x44]
call fcn.18000fdf0
lea rdx, [0x180055144]
jmp 0x180005508
mov rax, r15
lea rdx, str.Failed_to_get_operating_system_version_
mov rcx, rax
call fcn.1800128c0
mov rcx, rax
call fcn.180012b30
mov r12d, 2
mov ecx, r12d
mov eax, 0x11
cdq
idiv ecx
test edx, edx
je 0x18000553d
inc ecx
cmp ecx, 8
jle 0x180005521
lea rcx, str._d_is_a_prime_number._n
jmp 0x180005544
lea rcx, str._d_is_not_a_prime_number._n
mov edx, 0x11
call fcn.1800017e0
mov rbx, rsi
cmp qword [rsi + 0x18], 0x10
jb 0x18000555b
mov rbx, qword [rsi]
call qword [sym.imp.KERNEL32.dll_GetACP]
mov ecx, eax
mov dword [rsp + 0x28], r13d
mov qword [rsp + 0x20], r13
mov r13, 0xffffffffffffffff
mov r9d, r13d
mov r8, rbx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov edi, eax
mov dword [rsp + 0x58], eax
lea edx, [r13 + 0x66]
lea rcx, str._c_is_a_lowercase_letter._n
call fcn.1800017e0
mov dword [rbp + 0xe0], 0x348
xor ebx, ebx
xor r9d, r9d
lea r8, [rbp + 0xe0]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.USER32.dll_EnumDisplayDevicesW]
test eax, eax
je 0x1800056ce
mov r14d, 0xdc
nop word [rax + rax]
lea rdx, str.Display_Device_Name:
mov rcx, r15
call fcn.1800128c0
mov rcx, rax
lea rdx, [rbp + 0xe4]
call fcn.18000fa90
mov rcx, rax
call fcn.180012b30
lea rdx, str.Display_Device_String:
mov rcx, r15
call fcn.1800128c0
mov rcx, rax
lea rdx, [rbp + 0x124]
call fcn.18000fa90
mov rcx, rax
call fcn.180012b30
mov word [rbp - 0xc], r14w
lea r8, [rbp - 0x50]
mov edx, 0xffffffff
lea rcx, [rbp + 0xe4]
call qword [sym.imp.USER32.dll_EnumDisplaySettingsW]
test eax, eax
je 0x1800056a8
lea rdx, str.Display_Resolution:
mov rcx, r15
call fcn.1800128c0
mov rcx, rax
mov edx, dword [rbp + 0x5c]
call fcn.18000fdf0
mov rcx, rax
lea rdx, [0x180054e98]
call fcn.1800128c0
mov rcx, rax
mov edx, dword [rbp + 0x60]
call fcn.18000fdf0
mov rcx, rax
call fcn.180012b30
lea rdx, str.Display_Refresh_Rate:
mov rcx, r15
call fcn.1800128c0
mov rcx, rax
mov edx, dword [rbp + 0x68]
call fcn.18000fdf0
mov rcx, rax
lea rdx, [0x180054eb8]
call fcn.1800128c0
mov rcx, rax
call fcn.180012b30
mov rcx, r15
call fcn.180012b30
inc ebx
xor r9d, r9d
lea r8, [rbp + 0xe0]
mov edx, ebx
xor ecx, ecx
call qword [sym.imp.USER32.dll_EnumDisplayDevicesW]
test eax, eax
jne 0x1800055d0
lea rcx, [rsp + 0x60]
call qword [sym.imp.KERNEL32.dll_GetSystemInfo]
lea rdx, str.Processor_Architecture:
mov rcx, r15
call fcn.1800128c0
movzx ecx, word [rsp + 0x60]
test ecx, ecx
je 0x180005727
sub ecx, 5
je 0x18000571e
sub ecx, 1
je 0x180005715
cmp ecx, 3
mov rcx, r15
je 0x18000570c
lea rdx, str.Unknown
jmp 0x180005731
lea rdx, str.AMD64
jmp 0x180005731
lea rdx, str.IA64
jmp 0x18000572e
lea rdx, [0x18005507c]
jmp 0x18000572e
lea rdx, [0x180055088]
mov rcx, r15
call fcn.1800128c0
mov rcx, rax
call fcn.180012b30
lea rdx, str.Number_of_Processors:
mov rcx, r15
call fcn.1800128c0
mov rcx, rax
mov edx, dword [rbp - 0x80]
call fcn.18000fdf0
mov rcx, rax
call fcn.180012b30
lea rdx, str.Processor_Type:
mov rcx, r15
call fcn.1800128c0
mov rcx, rax
mov edx, dword [rbp - 0x7c]
call fcn.18000fdf0
mov rcx, rax
call fcn.180012b30
lea rdx, str.Processor_Level:
mov rcx, r15
call fcn.1800128c0
mov rcx, rax
movzx edx, word [rbp - 0x74]
call fcn.18000ffa0
mov rcx, rax
call fcn.180012b30
lea rdx, str.Processor_Revision:
mov rcx, r15
call fcn.1800128c0
mov rcx, rax
movzx edx, word [rbp - 0x72]
call fcn.18000ffa0
mov rcx, rax
call fcn.180012b30
lea ecx, [rdi + 1]
mov qword [rsp + 0x50], rcx
mov rax, r12
mul rcx
cmovo rax, r13
mov rcx, rax
call fcn.18001aeb0
mov r14, rax
mov qword [rbp + 0xd0], rax
xorps xmm0, xmm0
movsd xmm1, qword [0x180055448]
ucomisd xmm0, xmm1
ja 0x180005803
sqrtpd xmm0, xmm1
jmp 0x18000580b
movaps xmm0, xmm1
call fcn.180043f34
cvtsd2ss xmm0, xmm0
xorps xmm2, xmm2
cvtss2sd xmm2, xmm0
movq r8, xmm2
mov edx, 9
lea rcx, str.Square_root_of__d_is__.2f_n
call fcn.1800017e0
mov edx, 0x35
lea rcx, str._c_is_a_digit._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 dword [rsp + 0x60], 0x40
lea rcx, [rsp + 0x60]
call qword [sym.imp.KERNEL32.dll_GlobalMemoryStatusEx]
test eax, eax
je 0x1800058d6
mov rdi, qword [rsp + 0x70]
shr rdi, 0x14
mov rbx, qword [rsp + 0x68]
shr rbx, 0x14
lea rdx, str.Memory_Usage:
mov rcx, r15
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 0x1800058e0
mov rax, r15
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
mov edx, 0x2c
lea rcx, str._c_is_a_punctuation_mark._n
call fcn.1800017e0
mov r8, qword [rsp + 0x50]
xor edx, edx
mov rcx, r14
call fcn.18001d1b0
xor ecx, ecx
call fcn.1800230fc
mov qword [rsp + 0x50], rax
lea rcx, [rsp + 0x50]
call fcn.180023458
mov r9, rax
lea r8, str._Y__m__d__H:_M:_S
mov edx, 0x14
lea rcx, [rbp + 0x430]
call fcn.1800204c4
lea rdx, str.Current_Time_2:
mov rcx, r15
call fcn.1800128c0
mov rcx, rax
lea rdx, [rbp + 0x430]
call fcn.1800128c0
mov rcx, rax
call fcn.180012b30
mov dword [rsp + 0x60], 0x40
lea rcx, [rsp + 0x60]
call qword [sym.imp.KERNEL32.dll_GlobalMemoryStatusEx]
test eax, eax
je 0x1800059e5
mov rdi, qword [rsp + 0x70]
shr rdi, 0x14
mov rbx, qword [rsp + 0x68]
shr rbx, 0x14
lea rdx, str.Memory_Usage:
mov rcx, r15
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 rcx, str._MB_Available
jmp 0x1800059ef
mov rax, r15
lea rcx, str.Failed_to_get_memory_usage_
mov rdx, rcx
mov rcx, rax
call fcn.1800128c0
mov rcx, rax
call fcn.180012b30
lea r9, [rsp + 0x50]
lea r8, [rbp - 0x60]
lea rdx, [rbp + 0x430]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceExW]
test eax, eax
je 0x180005a6c
mov rdi, qword [rsp + 0x50]
shr rdi, 0x1e
mov rbx, qword [rbp - 0x60]
shr rbx, 0x1e
lea rdx, str.Disk_Usage:
mov rcx, r15
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
lea rdx, str._GB_Free
jmp 0x180005a76
mov rax, r15
lea rdx, str.Failed_to_get_disk_usage_
mov rcx, rax
call fcn.1800128c0
mov rcx, rax
call fcn.180012b30
mov rbx, rsi
cmp qword [rsi + 0x18], 0x10
jb 0x180005a93
mov rbx, qword [rsi]
call qword [sym.imp.KERNEL32.dll_GetACP]
mov ecx, eax
mov eax, dword [rsp + 0x58]
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], r14
mov r9d, r13d
mov r8, rbx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov edx, 8
lea r8d, [rdx + 0xd]
lea rcx, str.Fibonacci_number_at_position__d_is__d_n
call fcn.1800017e0
mov edx, 4
lea r8d, [rdx + 0xc]
lea rcx, str.Square_of__d_is__d_n
call fcn.1800017e0
mov edx, 0x35
lea rcx, str._c_is_a_digit._n
call fcn.1800017e0
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:
mov rcx, r15
call fcn.1800128c0
mov rcx, rax
mov edx, esi
call fcn.18000fdf0
mov rcx, rax
lea rdx, str._days_
call fcn.1800128c0
mov rcx, rax
mov edx, edi
call fcn.18000fdf0
mov rcx, rax
lea rdx, str._hours_
call fcn.1800128c0
mov rcx, rax
mov edx, ebx
call fcn.18000fdf0
mov rcx, rax
lea rdx, str._minutes_
call fcn.1800128c0
mov rcx, rax
mov edx, r14d
call fcn.18000fdf0
mov rcx, rax
lea rdx, str._seconds
call fcn.1800128c0
mov rcx, rax
call fcn.180012b30
xor ebx, ebx
mov dword [rsp + 0x58], 8
lea rcx, [rsp + 0x58]
call qword [sym.imp.USER32.dll_GetLastInputInfo]
test eax, eax
je 0x180005c56
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, eax
sub ecx, dword [rsp + 0x5c]
mov eax, 0x10624dd3
mul ecx
mov ebx, edx
shr ebx, 6
lea rdx, str.Idle_Time:
mov rcx, r15
call fcn.1800128c0
mov rcx, rax
mov edx, ebx
call fcn.18000fdf0
mov rcx, rax
lea rdx, str._seconds
call fcn.1800128c0
mov rcx, rax
call fcn.180012b30
lea rcx, [rbp + 0x430]
call qword [sym.imp.KERNEL32.dll_GetLocalTime]
lea rdx, str.Current_Time_2:
mov rcx, r15
call fcn.1800128c0
mov rcx, rax
movzx edx, word [rbp + 0x430]
call fcn.18000ffa0
mov rcx, rax
lea rdx, [0x180054ce8]
call fcn.1800128c0
mov rcx, rax
movzx edx, word [rbp + 0x432]
call fcn.18000ffa0
mov rcx, rax
lea rdx, [0x180054ce8]
call fcn.1800128c0
mov rcx, rax
movzx edx, word [rbp + 0x436]
call fcn.18000ffa0
mov rcx, rax
lea rdx, [0x180054ce4]
call fcn.1800128c0
mov rcx, rax
movzx edx, word [rbp + 0x438]
call fcn.18000ffa0
mov rcx, rax
lea rdx, [0x180054ce0]
call fcn.1800128c0
mov rcx, rax
movzx edx, word [rbp + 0x43a]
call fcn.18000ffa0
mov rcx, rax
lea rdx, [0x180054ce0]
call fcn.1800128c0
mov rcx, rax
movzx edx, word [rbp + 0x43c]
call fcn.18000ffa0
mov rcx, rax
call fcn.180012b30
lea rcx, [rbp + 0x430]
call qword [sym.imp.KERNEL32.dll_GetLocalTime]
lea rdx, str.Current_Time_1:
mov rcx, r15
call fcn.1800128c0
mov rcx, rax
movzx edx, word [rbp + 0x438]
call fcn.18000ffa0
mov rcx, rax
lea rdx, [0x180054ce0]
call fcn.1800128c0
mov rcx, rax
movzx edx, word [rbp + 0x43a]
call fcn.18000ffa0
mov rcx, rax
lea rdx, [0x180054ce0]
call fcn.1800128c0
mov rcx, rax
movzx edx, word [rbp + 0x43c]
call fcn.18000ffa0
mov rcx, rax
call fcn.180012b30
mov rbx, qword [rbp + 0xd0]
inc r13
cmp word [rbx + r13*2], 0
jne 0x180005dc5
mov r8, r13
mov rdx, rbx
mov rdi, qword [rsp + 0x38]
mov rcx, rdi
call fcn.180011260
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
nop dword [rax]
mov eax, 0x11
cdq
idiv r12d
test edx, edx
je 0x180005e1f
inc r12d
cmp r12d, 8
jle 0x180005e00
lea rcx, str._d_is_a_prime_number._n
jmp 0x180005e26
lea rcx, str._d_is_not_a_prime_number._n
mov edx, 0x11
call fcn.1800017e0
mov edx, 0x48
lea rcx, str._c_is_an_uppercase_letter._n
call fcn.1800017e0
mov rcx, rbx
call fcn.18001ae7c
xor edx, edx
mov r8d, pe_nt_image_headers64
lea rcx, [rbp - 0x4c]
call fcn.18001d1b0
mov dword [rbp - 0x50], 0x114
lea rcx, [rbp - 0x50]
call qword [sym.imp.KERNEL32.dll_GetVersionExW]
test eax, eax
je 0x180005ec9
lea rdx, str.Operating_System_Version:
mov rcx, r15
call fcn.1800128c0
mov rcx, rax
mov edx, dword [rbp - 0x4c]
call fcn.18000fdf0
mov rcx, rax
lea rdx, [0x180055154]
call fcn.1800128c0
mov rcx, rax
mov edx, dword [rbp - 0x48]
call fcn.18000fdf0
mov rcx, rax
lea rdx, str.__Build
call fcn.1800128c0
mov rcx, rax
mov edx, dword [rbp - 0x44]
call fcn.18000fdf0
mov r15, rax
lea rdx, [0x180055144]
jmp 0x180005ed0
lea rdx, str.Failed_to_get_operating_system_version_
mov rcx, r15
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, 5
lea r9d, [rdx + 3]
lea r8d, [rdx - 2]
lea rcx, str.Sum_of__d_and__d_is__d_n
call fcn.1800017e0
nop
mov rbx, qword [rsp + 0x40]
mov rdx, qword [rbx + 0x18]
cmp rdx, 0x10
jb 0x180005f4c
inc rdx
mov rcx, qword [rbx]
cmp rdx, 0x1000
jb 0x180005f47
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x180005f8c
mov rcx, r8
call fcn.18001ae7c
mov qword [rbx + 0x10], 0
mov qword [rbx + 0x18], 0xf
mov byte [rbx], 0
mov rax, rdi
mov rcx, qword [rbp + 0x448]
xor rcx, rsp
call fcn.18001ae20
mov rbx, qword [rsp + 0x5a0]
add rsp, 0x550
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.18001ff34
int3