Function at 0x14016b9d0
Capabilities:
Read file on windows

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x70
mov rax, qword [0x140351248]
xor rax, rsp
mov qword [rbp - 8], rax
mov rsi, rdx
mov rdi, rcx
mov qword [rbp - 0x38], rcx
mov qword [rbp - 0x30], rdx
xor ecx, ecx
mov dword [rbp - 0x48], ecx
mov r13, qword [rdx + 0x10]
movabs rdx, 0x7fffffffffffffff
mov rax, rdx
sub rax, r13
cmp rax, 0x24
jb 0x14016bdb5
mov r12, rsi
cmp qword [rsi + 0x18], 0x10
jb 0x14016ba33
mov r12, qword [rsi]
mov qword [rbp - 0x28], rcx
mov qword [rbp - 0x18], rcx
mov qword [rbp - 0x10], rcx
lea r15, [r13 + 0x24]
mov ebx, SafeArrayGetLBound
lea r14, [rbp - 0x28]
cmp r15, rbx
jbe 0x14016ba7e
mov rbx, r15
or rbx, 0xf
cmp rbx, rdx
jbe 0x14016ba62
mov rbx, rdx
jmp 0x14016ba6e
mov eax, SafeArrayPutElement
cmp rbx, rax
cmovb rbx, rax
lea rcx, [rbx + 1]
call fcn.1400b88d0
mov r14, rax
mov qword [rbp - 0x28], rax
mov qword [rbp - 0x18], r15
mov qword [rbp - 0x10], rbx
movups xmm0, xmmword [str._base64_FileEncode__Start_filename:]
movups xmmword [r14], xmm0
movups xmm1, xmmword [0x14027bf60]
movups xmmword [r14 + 0x10], xmm1
mov eax, dword [0x14027bf70]
mov dword [r14 + 0x20], eax
lea rcx, [r14 + 0x24]
mov r8, r13
mov rdx, r12
call fcn.1401f7750
mov byte [r14 + r15], 0
mov dword [rbp - 0x48], 2
lea rcx, [rbp - 0x28]
call fcn.140162100
mov rdx, rsi
cmp qword [rsi + 0x18], 0x10
jb 0x14016bad8
mov rdx, qword [rsi]
lea r8, [0x140274194]
lea rcx, [rbp - 0x50]
call sub.api_ms_win_crt_stdio_l1_1_0.dll_fopen_s
xor r12d, r12d
mov qword [rdi], r12
mov qword [rdi + 0x18], SafeArrayLock
mov qword [rdi + 0x10], 1
mov word [rdi], 0x20
mov dword [rbp - 0x48], 3
cmp qword [rbp - 0x50], r12
je 0x14016bcea
mov qword [rbp - 0x28], r12
mov qword [rbp - 0x18], r12
mov qword [rbp - 0x10], SafeArrayLock
lea ecx, [r12 + 0x30]
call fcn.1400b88d0
mov rcx, rax
mov qword [rbp - 0x18], 0x22
mov qword [rbp - 0x10], 0x2f
movups xmm0, xmmword [str._base64_FileEncode__File_not_null]
movups xmmword [rax], xmm0
movups xmm1, xmmword [0x14027bf88]
movups xmmword [rax + 0x10], xmm1
movzx eax, word [0x14027bf98]
mov word [rcx + 0x20], ax
mov byte [rcx + 0x22], r12b
mov qword [rbp - 0x28], rcx
lea rcx, [rbp - 0x28]
call fcn.140162100
xor edx, edx
lea r8d, [r12 + 2]
mov rcx, qword [rbp - 0x50]
call sub.api_ms_win_crt_stdio_l1_1_0.dll_fseek
mov rcx, qword [rbp - 0x50]
call sub.api_ms_win_crt_stdio_l1_1_0.dll_ftell
movsxd rbx, eax
mov rcx, rbx
call fcn.1401c030c
mov r14, rax
xor r8d, r8d
xor edx, edx
mov rcx, qword [rbp - 0x50]
call sub.api_ms_win_crt_stdio_l1_1_0.dll_fseek
mov r9, qword [rbp - 0x50]
mov r8, rbx
lea edx, [r12 + 1]
mov rcx, r14
call sub.api_ms_win_crt_stdio_l1_1_0.dll_fread
cmp eax, ebx
je 0x14016bc1c
mov qword [rbp - 0x28], r12
mov qword [rbp - 0x18], r12
mov qword [rbp - 0x10], SafeArrayLock
lea ecx, [r12 + 0x30]
call fcn.1400b88d0
mov qword [rbp - 0x18], 0x28
mov qword [rbp - 0x10], 0x2f
movups xmm0, xmmword [str._base64_FileEncode__result___totalsize]
movups xmmword [rax], xmm0
movups xmm1, xmmword [0x14027bfb0]
movups xmmword [rax + 0x10], xmm1
movsd xmm0, qword [0x14027bfc0]
movsd qword [rax + 0x20], xmm0
mov byte [rax + 0x28], r12b
mov qword [rbp - 0x28], rax
lea rcx, [rbp - 0x28]
call fcn.140162100
mov r8, rbx
mov rdx, r14
lea rcx, [rbp - 0x28]
call fcn.14016c060
mov rbx, rax
cmp rdi, rax
je 0x14016bc99
mov rdx, qword [rdi + 0x18]
cmp rdx, 0x10
jb 0x14016bc6d
mov rcx, qword [rdi]
inc rdx
cmp rdx, 0x1000
jb 0x14016bc68
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14016bda9
mov rcx, r8
call fcn.1401bfb10
mov qword [rdi + 0x10], r12
mov qword [rdi + 0x18], SafeArrayLock
mov byte [rdi], 0
movups xmm0, xmmword [rbx]
movups xmmword [rdi], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [rdi + 0x10], xmm1
mov qword [rbx + 0x10], r12
mov qword [rbx + 0x18], SafeArrayLock
mov byte [rbx], 0
mov rdx, qword [rbp - 0x10]
cmp rdx, 0x10
jb 0x14016bcd4
inc rdx
mov rcx, qword [rbp - 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14016bccf
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14016bda9
call fcn.1401bfb10
mov edx, 1
mov rcx, r14
call fcn.1401bfb10
mov rcx, qword [rbp - 0x50]
call sub.api_ms_win_crt_stdio_l1_1_0.dll_fclose
mov qword [rbp - 0x28], r12
mov qword [rbp - 0x18], r12
mov qword [rbp - 0x10], SafeArrayLock
mov ecx, 0x20
call fcn.1400b88d0
mov qword [rbp - SafeArrayPutElement], 0x18
mov qword [rbp - 0x10], 0x1f
movups xmm0, xmmword [str._base64_FileEncode__End]
movups xmmword [rax], xmm0
movsd xmm1, qword [0x14027bfe0]
movsd qword [rax + 0x10], xmm1
mov byte [rax + 0x18], 0
mov qword [rbp - 0x28], rax
lea rcx, [rbp - 0x28]
call fcn.140162100
nop
mov rdx, qword [rsi + 0x18]
cmp rdx, 0x10
jb 0x14016bd73
inc rdx
mov rcx, qword [rsi]
cmp rdx, 0x1000
jb 0x14016bd6e
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14016bdaf
mov rcx, r8
call fcn.1401bfb10
mov qword [rsi + 0x10], r12
mov qword [rsi + 0x18], SafeArrayLock
mov byte [rsi], 0
mov rax, rdi
mov rcx, qword [rbp - 8]
xor rcx, rsp
call fcn.1401c0070
mov rbx, qword [rsp + 0xc0]
add rsp, 0x70
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call sub.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn
nop
call sub.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn
nop
call fcn.1400cf1a0
int3