Function at 0x1400e86f8
Capabilities:
Encode data using base64 via winapi

Disassembly:
mov rax, rsp
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0xd0
mov qword [rbp - 0x39], 0xfffffffffffffffe
mov qword [rax + 0x20], rbx
mov rax, qword [0x1401e0fc0]
xor rax, rsp
mov qword [rbp + 0x1f], rax
mov r14, r8
mov r12, rdx
mov rsi, rcx
mov qword [rbp - 0x31], rcx
xor edi, edi
mov qword [rcx + 0x10], rdi
lea eax, [rdi + 7]
mov qword [rcx + 0x18], rax
mov word [rcx], di
lea r15, [rcx + 0x20]
mov qword [r15 + 0x10], rdi
mov qword [r15 + 0x18], rax
mov word [r15], di
mov qword [rbp - 0x21], r8
mov qword [rbp - 0x29], rdx
lea rax, [rbp - 0x29]
mov qword [rbp - 0x71], rax
lea rax, [rbp - 0x21]
mov qword [rbp - 0x69], rax
lea rdx, [rbp - 0x71]
lea rcx, [rbp + 0xf]
call fcn.1400e7f74
shr r14, 2
movabs rax, 0x3ffffffffffffffe
and r14, rax
mov qword [rbp - 0x19], rdi
mov r9d, r14d
mov r13, r12
cmp r14d, 2
jb 0x1400e8916
mov r10d, dword [rbp + 0xf]
or r10d, 1
mov r11d, dword [rbp + 0x13]
or r11d, 1
xor ebx, ebx
add r10d, 0x69fb0000
add r11d, 0x13db0000
lea r15d, [r14 - 2]
shr r15d, 1
inc r15d
add ebx, dword [r13]
mov ecx, r10d
imul ecx, ebx
shr ebx, 0x10
imul eax, ebx, 0x10fa9605
sub ecx, eax
mov eax, ecx
shr eax, 0x10
imul edx, eax, 0x689b6b9f
imul eax, ecx, 0x79f8a395
add edx, eax
mov eax, edx
shr eax, 0x10
imul ecx, eax, 0x3c101569
imul r8d, edx, 0xea970001
sub r8d, ecx
add edi, r8d
mov eax, dword [r13 + 4]
lea r13, [r13 + 8]
add r8d, eax
mov eax, r8d
shr eax, 0x10
imul ecx, eax, 0x3ce8ec25
mov edx, r11d
imul edx, r8d
sub edx, ecx
mov eax, edx
shr eax, 0x10
imul ecx, eax, 0x2232e0f1
imul edx, edx, 0x59c3af2d
sub edx, ecx
mov eax, edx
shr eax, 0x10
imul ebx, eax, 0x35bd1ec9
imul eax, edx, 0x1ec90001
add ebx, eax
add edi, ebx
add r9d, 0xfffffffe
sub r15, 1
jne 0x1400e87cc
cmp r9d, 1
lea r15, [rsi + 0x20]
jne 0x1400e88f1
add ebx, dword [r13]
imul r10d, ebx
shr ebx, 0x10
imul eax, ebx, 0x10fa9605
sub r10d, eax
mov eax, r10d
shr eax, 0x10
imul edx, eax, 0x689b6b9f
imul eax, r10d, 0x79f8a395
add edx, eax
mov eax, edx
shr eax, 0x10
imul ecx, eax, 0x3c101569
imul r8d, edx, 0xea970001
sub r8d, ecx
add edi, r8d
mov eax, r8d
shr eax, 0x10
imul ecx, eax, 0x3ce8ec25
imul r11d, r8d
sub r11d, ecx
mov eax, r11d
shr eax, 0x10
imul edx, eax, 0x2232e0f1
imul r8d, r11d, 0x59c3af2d
sub r8d, edx
mov eax, r8d
shr eax, 0x10
imul ebx, eax, 0x35bd1ec9
imul eax, r8d, 0x1ec90001
add ebx, eax
add edi, ebx
lea r9, [rbp - 0x21]
lea r8, [rbp + 0xf]
mov edx, r14d
mov rcx, r12
call fcn.1400e84f8
test al, al
je 0x1400e8914
xor ebx, dword [rbp - 0x21]
mov dword [rbp - 0x19], ebx
xor edi, dword [rbp - 0x1d]
mov dword [rbp - 0x15], edi
xor edi, edi
lea rax, [rbp + 0xf]
lea rbx, [rbp + 0x1f]
sub ebx, eax
lea rax, [rbp - 0x21]
mov qword [rbp - 0x61], rax
mov qword [rbp - 0x71], rdi
lea rax, [rbp - 0x21]
mov qword [rsp + 0x20], rax
xor r9d, r9d
mov r14d, 0x40000001
mov r8d, r14d
mov edx, ebx
lea rcx, [rbp + 0xf]
call qword [sym.imp.CRYPT32.dll_CryptBinaryToStringW]
mov rcx, qword [rbp + 0x5f]
test eax, eax
je 0x1400e8b1a
movdqa xmm0, xmmword [0x14017fbb0]
movdqu xmmword [rbp - 1], xmm0
mov word [rbp - 0x11], di
lea rax, [rbp - 0x21]
mov qword [rbp - 0x79], rax
mov edx, dword [rbp - 0x21]
lea rax, [rbp - 0x11]
mov qword [rbp - 0x29], rax
lea rcx, [rbp - 0x11]
call fcn.140021b90
nop
mov r9, qword [rbp - 0x29]
cmp qword [r9 + 0x18], 8
jb 0x1400e8995
mov r9, qword [r9]
mov rax, qword [rbp - 0x79]
mov qword [rsp + 0x20], rax
mov r8d, r14d
mov edx, ebx
lea rcx, [rbp + 0xf]
call qword [sym.imp.CRYPT32.dll_CryptBinaryToStringW]
mov rcx, qword [rbp + 0x5f]
test eax, eax
je 0x1400e8b2c
lea rcx, [rbp - 0x29]
call fcn.1400219e8
movups xmm0, xmmword [rbp - 0x11]
movups xmmword [rbp - 0x59], xmm0
movups xmm1, xmmword [rbp - 1]
movups xmmword [rbp - 0x49], xmm1
movdqa xmm0, xmmword [0x14017fbb0]
movdqu xmmword [rbp - 1], xmm0
mov word [rbp - 0x11], di
lea rcx, [rbp - 0x11]
call fcn.140006970
lea rdx, [rbp - 0x59]
mov rcx, rsi
call fcn.14002de94
lea rcx, [rbp - 0x59]
call fcn.140006970
lea rax, [rbp - 0x21]
mov qword [rbp - 0x71], rax
mov qword [rbp - 0x61], rdi
lea rax, [rbp - 0x21]
mov qword [rsp + 0x20], rax
xor r9d, r9d
mov r8d, r14d
lea edx, [r9 + 8]
lea rcx, [rbp - 0x19]
call qword [sym.imp.CRYPT32.dll_CryptBinaryToStringW]
mov rcx, qword [rbp + 0x5f]
test eax, eax
je 0x1400e8b3e
movdqa xmm0, xmmword [0x14017fbb0]
movdqu xmmword [rbp - 1], xmm0
mov word [rbp - 0x11], di
lea rax, [rbp - 0x21]
mov qword [rbp - 0x79], rax
mov edx, dword [rbp - 0x21]
lea rax, [rbp - 0x11]
mov qword [rbp - 0x29], rax
lea rcx, [rbp - 0x11]
call fcn.140021b90
nop
mov r9, qword [rbp - 0x29]
cmp qword [r9 + 0x18], 8
jb 0x1400e8a72
mov r9, qword [r9]
mov rax, qword [rbp - 0x79]
mov qword [rsp + 0x20], rax
mov r8d, r14d
mov edx, 8
lea rcx, [rbp - 0x19]
call qword [sym.imp.CRYPT32.dll_CryptBinaryToStringW]
mov rcx, qword [rbp + 0x5f]
test eax, eax
je 0x1400e8b08
lea rcx, [rbp - 0x29]
call fcn.1400219e8
movups xmm0, xmmword [rbp - 0x11]
movups xmmword [rbp - 0x59], xmm0
movups xmm1, xmmword [rbp - 1]
movups xmmword [rbp - 0x49], xmm1
movdqa xmm0, xmmword [0x14017fbb0]
movdqu xmmword [rbp - 1], xmm0
mov word [rbp - 0x11], di
lea rcx, [rbp - 0x11]
call fcn.140006970
lea rdx, [rbp - 0x59]
mov rcx, r15
call fcn.14002de94
lea rcx, [rbp - 0x59]
call fcn.140006970
nop
mov rax, rsi
mov rcx, qword [rbp + 0x1f]
xor rcx, rsp
call fcn.14010fb20
mov rbx, qword [rsp + 0x128]
add rsp, 0xd0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
lea r8, str.onecore_amcore_smartscreencommoncore_src_string_algo.h
mov edx, 0x4d
call fcn.1400290d4
nop
lea r8, str.onecore_amcore_smartscreencommoncore_src_string_algo.h
mov edx, 0x4a
call fcn.1400290d4
nop
lea r8, str.onecore_amcore_smartscreencommoncore_src_string_algo.h
mov edx, 0x4d
call fcn.1400290d4
nop
lea r8, str.onecore_amcore_smartscreencommoncore_src_string_algo.h
mov edx, 0x4a
call fcn.1400290d4
int3