Function at 0x140188b90
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 [0x14039a678]
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 0x140188f75
mov r12, rsi
cmp qword [rsi + 0x18], 0x10
jb 0x140188bf3
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 0x140188c3e
mov rbx, r15
or rbx, 0xf
cmp rbx, rdx
jbe 0x140188c22
mov rbx, rdx
jmp 0x140188c2e
mov eax, SafeArrayPutElement
cmp rbx, rax
cmovb rbx, rax
lea rcx, [rbx + 1]
call fcn.1400d1570
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 [0x1402aaef0]
movups xmmword [r14 + 0x10], xmm1
mov eax, dword [0x1402aaf00]
mov dword [r14 + 0x20], eax
lea rcx, [r14 + 0x24]
mov r8, r13
mov rdx, r12
call fcn.14021bb20
mov byte [r14 + r15], 0
mov dword [rbp - 0x48], 2
lea rcx, [rbp - 0x28]
call fcn.14017eab0
mov rdx, rsi
cmp qword [rsi + 0x18], 0x10
jb 0x140188c98
mov rdx, qword [rsi]
lea r8, [0x1402a2984]
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], SafeArrayGetLBound
mov qword [rdi + 0x10], 1
mov word [rdi], 0x20
mov dword [rbp - 0x48], 3
cmp qword [rbp - 0x50], r12
je 0x140188eaa
mov qword [rbp - 0x28], r12
mov qword [rbp - 0x18], r12
mov qword [rbp - 0x10], SafeArrayGetLBound
lea ecx, [r12 + 0x30]
call fcn.1400d1570
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 [0x1402aaf18]
movups xmmword [rax + 0x10], xmm1
movzx eax, word [0x1402aaf28]
mov word [rcx + 0x20], ax
mov byte [rcx + 0x22], r12b
mov qword [rbp - 0x28], rcx
lea rcx, [rbp - 0x28]
call fcn.14017eab0
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.1401e3f7c
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 0x140188ddc
mov qword [rbp - 0x28], r12
mov qword [rbp - 0x18], r12
mov qword [rbp - 0x10], SafeArrayGetLBound
lea ecx, [r12 + 0x30]
call fcn.1400d1570
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 [0x1402aaf40]
movups xmmword [rax + 0x10], xmm1
movsd xmm0, qword [0x1402aaf50]
movsd qword [rax + 0x20], xmm0
mov byte [rax + 0x28], r12b
mov qword [rbp - 0x28], rax
lea rcx, [rbp - 0x28]
call fcn.14017eab0
mov r8, rbx
mov rdx, r14
lea rcx, [rbp - 0x28]
call fcn.140189220
mov rbx, rax
cmp rdi, rax
je 0x140188e59
mov rdx, qword [rdi + 0x18]
cmp rdx, 0x10
jb 0x140188e2d
mov rcx, qword [rdi]
inc rdx
cmp rdx, 0x1000
jb 0x140188e28
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140188f69
mov rcx, r8
call fcn.1401e3784
mov qword [rdi + 0x10], r12
mov qword [rdi + 0x18], SafeArrayGetLBound
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], SafeArrayGetLBound
mov byte [rbx], 0
mov rdx, qword [rbp - 0x10]
cmp rdx, 0x10
jb 0x140188e94
inc rdx
mov rcx, qword [rbp - 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140188e8f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140188f69
call fcn.1401e3784
mov edx, 1
mov rcx, r14
call fcn.1401e3784
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], SafeArrayGetLBound
mov ecx, 0x20
call fcn.1400d1570
mov qword [rbp - SafeArrayPutElement], 0x18
mov qword [rbp - 0x10], 0x1f
movups xmm0, xmmword [str._base64_FileEncode__End]
movups xmmword [rax], xmm0
movsd xmm1, qword [0x1402aaf70]
movsd qword [rax + 0x10], xmm1
mov byte [rax + 0x18], 0
mov qword [rbp - 0x28], rax
lea rcx, [rbp - 0x28]
call fcn.14017eab0
nop
mov rdx, qword [rsi + 0x18]
cmp rdx, 0x10
jb 0x140188f33
inc rdx
mov rcx, qword [rsi]
cmp rdx, 0x1000
jb 0x140188f2e
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140188f6f
mov rcx, r8
call fcn.1401e3784
mov qword [rsi + 0x10], r12
mov qword [rsi + 0x18], SafeArrayGetLBound
mov byte [rsi], 0
mov rax, rdi
mov rcx, qword [rbp - 8]
xor rcx, rsp
call fcn.1401e3ce0
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.1400e7e40
int3