Function at 0x180002620
Capabilities:
Decode data using base64 via winapi
Get disk size

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1f]
sub rsp, 0x88
mov rax, qword [0x180057040]
xor rax, rsp
mov qword [rbp + 7], rax
mov r12, rdx
mov qword [rbp - 1], r8
mov edx, 8
mov ebx, r9d
mov rdi, r8
mov dword [rbp - 0x29], ebx
mov r13, rcx
lea rcx, str.Fibonacci_number_at_position__d_is__d_n
lea r8d, [rdx + 0xd]
call fcn.1800011b0
movsd xmm3, qword [0x1800510e8]
lea rcx, str.Product_of__.2f_and__.2f_is__.2f_n
movsd xmm2, qword [0x1800510e0]
movq r9, xmm3
movsd xmm1, qword [0x1800510d8]
movq r8, xmm2
movq rdx, xmm1
call fcn.1800011b0
mov edx, 0x65
lea rcx, str._c_is_a_lowercase_letter._n
call fcn.1800011b0
test rdi, rdi
je 0x180002a67
xor eax, eax
mov r14d, 1
mov qword [rsp + 0x30], rax
xor r9d, r9d
mov qword [rsp + 0x28], rax
mov r8d, r14d
mov edx, ebx
mov qword [rsp + 0x20], r12
mov rcx, rdi
call qword [sym.imp.CRYPT32.dll_CryptStringToBinaryA]
test eax, eax
je 0x180002a67
mov ecx, dword [r12]
inc ecx
call fcn.180026954
lea r9, [rbp - 9]
mov qword [r13], rax
lea r8, [rbp - 0x11]
xor ecx, ecx
lea rdx, [rbp - 0x21]
call qword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceExA]
lea r15, str._GB_Free
lea rsi, [0x18005d270]
test eax, eax
je 0x18000276a
mov rbx, qword [rbp - 9]
lea rdx, str.Disk_Usage:
mov rdi, qword [rbp - 0x11]
mov rcx, rsi
shr rbx, 0x1e
shr rdi, 0x1e
call fcn.180018200
mov rcx, rax
mov rdx, rdi
call fcn.1800155f0
mov rcx, rax
lea rdx, str._GB_Total_
call fcn.180018200
mov rcx, rax
mov rdx, rbx
call fcn.1800155f0
mov rdx, r15
jmp 0x180002774
mov rax, rsi
lea rdx, str.Failed_to_get_disk_usage_
mov rcx, rax
call fcn.180018200
mov rcx, rax
call fcn.180018470
lea rcx, [rbp - 0x21]
call qword [sym.imp.KERNEL32.dll_GetLocalTime]
lea rdx, [0x180050d08]
mov rcx, rsi
call fcn.180018200
movzx edx, word [rbp - 0x21]
mov rcx, rax
call fcn.180015950
mov rcx, rax
lea rdx, [0x180050d04]
call fcn.180018200
movzx edx, word [rbp - 0x1f]
mov rcx, rax
call fcn.180015950
mov rcx, rax
lea rdx, [0x180050d04]
call fcn.180018200
movzx edx, word [rbp - 0x1b]
mov rcx, rax
call fcn.180015950
mov rcx, rax
lea rdx, [0x180050d00]
call fcn.180018200
movzx edx, word [rbp - 0x19]
mov rcx, rax
call fcn.180015950
mov rcx, rax
lea rdx, [0x180050cfc]
call fcn.180018200
movzx edx, word [rbp - 0x17]
mov rcx, rax
call fcn.180015950
mov rcx, rax
lea rdx, [0x180050cfc]
call fcn.180018200
movzx edx, word [rbp - 0x15]
mov rcx, rax
call fcn.180015950
mov rcx, rax
call fcn.180018470
mov edx, 8
lea rcx, str.Fibonacci_number_at_position__d_is__d_n
lea r8d, [rdx + 0xd]
call fcn.1800011b0
mov rdi, qword [r13]
test rdi, rdi
je 0x180002a67
mov ecx, dword [r12]
xor eax, eax
inc ecx
rep stosb byte [rdi], al
lea rcx, [rbp - 0x21]
call qword [sym.imp.KERNEL32.dll_GetLocalTime]
lea rdx, str.Current_Time_1:
mov rcx, rsi
call fcn.180018200
movzx edx, word [rbp - 0x19]
mov rcx, rax
call fcn.180015950
mov rcx, rax
lea rdx, [0x180050cfc]
call fcn.180018200
movzx edx, word [rbp - 0x17]
mov rcx, rax
call fcn.180015950
mov rcx, rax
lea rdx, [0x180050cfc]
call fcn.180018200
movzx edx, word [rbp - 0x15]
mov rcx, rax
call fcn.180015950
mov rcx, rax
call fcn.180018470
lea r9, [rbp - 0x11]
xor ecx, ecx
lea r8, [rbp - 9]
lea rdx, [rbp - 0x21]
call qword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceExA]
test eax, eax
je 0x180002928
mov rbx, qword [rbp - 0x11]
lea rdx, str.Disk_Usage:
mov rdi, qword [rbp - 9]
mov rcx, rsi
shr rbx, 0x1e
shr rdi, 0x1e
call fcn.180018200
mov rcx, rax
mov rdx, rdi
call fcn.1800155f0
mov rcx, rax
lea rdx, str._GB_Total_
call fcn.180018200
mov rcx, rax
mov rdx, rbx
call fcn.1800155f0
mov rdx, r15
jmp 0x180002932
mov rax, rsi
lea rdx, str.Failed_to_get_disk_usage_
mov rcx, rax
call fcn.180018200
mov rcx, rax
call fcn.180018470
mov edx, 6
lea rcx, str.Factorial_of__d_is__d_n
mov r8d, 0x2d0
call fcn.1800011b0
mov r9, qword [r13]
mov r8d, r14d
mov edx, dword [rbp - 0x29]
mov rcx, qword [rbp - 1]
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x20], r12
call qword [sym.imp.CRYPT32.dll_CryptStringToBinaryA]
test eax, eax
jne 0x180002a89
mov rcx, qword [r13]
call fcn.180026854
mov edx, 0x48
lea rcx, str._c_is_an_uppercase_letter._n
call fcn.1800011b0
lea r9, [rbp - 1]
xor ecx, ecx
lea r8, [rbp - 0x11]
lea rdx, [rbp - 0x21]
call qword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceExA]
test eax, eax
je 0x180002a07
mov rbx, qword [rbp - 1]
lea rdx, str.Disk_Usage:
mov rdi, qword [rbp - 0x11]
mov rcx, rsi
shr rbx, 0x1e
shr rdi, 0x1e
call fcn.180018200
mov rcx, rax
mov rdx, rdi
call fcn.1800155f0
mov rcx, rax
lea rdx, str._GB_Total_
call fcn.180018200
mov rcx, rax
mov rdx, rbx
call fcn.1800155f0
mov rsi, rax
jmp 0x180002a0e
lea r15, str.Failed_to_get_disk_usage_
mov rdx, r15
mov rcx, rsi
call fcn.180018200
mov rcx, rax
call fcn.180018470
mov ecx, 2
nop word [rax + rax]
mov eax, 0x11
cdq
idiv ecx
test edx, edx
je 0x180002a45
inc ecx
cmp ecx, 8
jle 0x180002a30
jmp 0x180002a48
xor r14d, r14d
test r14d, r14d
lea rax, str._d_is_not_a_prime_number._n
lea rcx, str._d_is_a_prime_number._n
mov edx, 0x11
cmove rcx, rax
call fcn.1800011b0
xor al, al
mov rcx, qword [rbp + 7]
xor rcx, rsp
call fcn.18001e8f0
add rsp, 0x88
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
movzx eax, r14b
jmp 0x180002a69