Function at 0x14003d3a0
Capabilities:
Encode data using base64

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x30
xor r13d, r13d
mov rdi, r9
mov r12d, r8d
mov r14d, edx
mov rsi, rcx
test rcx, rcx
je 0x14003d3dc
mov r15, qword [rbp + 0x50]
test r15, r15
jne 0x14003d3e6
mov ecx, 0x80070057
jmp 0x14003d61d
lea r8, [rbp + 0x30]
mov edx, 2
mov ecx, r14d
call fcn.140077d18
mov ebx, eax
test eax, eax
js 0x14003d49f
mov eax, 0xaaaaaaab
lea r8, [rbp + 0x30]
mul dword [rbp + 0x30]
mov ecx, edx
mov edx, 4
shr ecx, 1
call fcn.140077e40
mov ebx, eax
test eax, eax
js 0x14003d49f
and r12d, 1
je 0x14003d46d
mov ecx, dword [rbp + 0x30]
lea r8, [rbp - 0x10]
mov edx, 0x3f
call fcn.140077d18
mov ebx, eax
test eax, eax
js 0x14003d49f
mov ecx, dword [rbp - 0x10]
lea r8, [rbp - 0x10]
shr ecx, 6
mov edx, 2
call fcn.140077e40
mov ebx, eax
test eax, eax
js 0x14003d49f
mov edx, dword [rbp - 0x10]
lea r8, [rbp + 0x30]
mov ecx, dword [rbp + 0x30]
call fcn.140077d18
mov ebx, eax
test eax, eax
js 0x14003d49f
mov ecx, dword [rbp + 0x30]
mov edx, 1
test rdi, rdi
jne 0x14003d490
mov r8, r15
call fcn.140077d18
mov ebx, eax
test eax, eax
js 0x14003d49f
mov ebx, r13d
jmp 0x14003d62c
lea r8, [rbp - 0x10]
call fcn.140077d18
mov ebx, eax
test eax, eax
jns 0x14003d4a6
mov ecx, eax
jmp 0x14003d61f
mov r13d, dword [rbp - 0x10]
cmp dword [r15], r13d
jae 0x14003d4bb
mov ebx, 0x8007007a
mov ecx, ebx
jmp 0x14003d61f
xor eax, eax
lea r9, [rdi + r13*2]
mov r11d, eax
lea ecx, [rax + 0xa]
lea r10d, [rax + 0xd]
test r14d, r14d
jle 0x14003d5f8
lea r8, [rdi + 6]
lea rdx, [rdi + 2]
test r12d, r12d
je 0x14003d50d
cmp r11d, 0x10
jne 0x14003d50a
mov r11d, eax
cmp rdx, r9
jae 0x14003d618
mov dword [rdi], 0xa000d
add rdx, 4
add rdi, 4
mov eax, 0xa
add r8, 4
inc r11d
mov al, byte [rsi]
xor r10d, r10d
inc rsi
mov word [rbp - 0x10], r10w
mov byte [rbp + 0x30], al
cmp r14d, 1
jbe 0x14003d536
mov cl, byte [rsi]
inc rsi
cmp r14d, 2
jbe 0x14003d539
mov r10b, byte [rsi]
inc rsi
jmp 0x14003d539
mov cl, byte [rbp - 0xf]
cmp r8, r9
jae 0x14003d618
movzx eax, al
lea r15, [0x14039b9b0]
shr rax, 2
movzx eax, byte [rax + r15]
mov r15, qword [rbp + 0x50]
mov word [rdi], ax
movzx eax, cl
mov ecx, eax
mov dword [rbp - 0xc], eax
movzx eax, byte [rbp + 0x30]
shl eax, 4
shr ecx, 4
or rcx, rax
lea rax, [0x14039b9b0]
and ecx, 0x3f
movzx eax, byte [rcx + rax]
mov word [rdi + 2], ax
cmp r14d, 1
jbe 0x14003d5aa
mov eax, dword [rbp - 0xc]
shl eax, 2
movzx ecx, r10b
shr rcx, 6
or rcx, rax
lea rax, [0x14039b9b0]
and ecx, 0x3f
movzx eax, byte [rcx + rax]
jmp 0x14003d5af
mov eax, 0x3d
mov word [rdi + 4], ax
cmp r14d, 2
jbe 0x14003d5cd
movzx eax, r10b
lea rcx, [0x14039b9b0]
and eax, 0x3f
movzx ecx, byte [rax + rcx]
jmp 0x14003d5d2
mov ecx, 0x3d
mov word [rdi + 6], cx
add rdx, 8
add rdi, 8
add r8, 8
add r14d, 0xfffffffd
xor eax, eax
test r14d, r14d
jg 0x14003d4dc
lea ecx, [rax + 0xa]
lea r10d, [rax + 0xd]
test r12d, r12d
je 0x14003d613
lea rax, [rdi + 2]
cmp rax, r9
jae 0x14003d618
mov word [rdi], r10w
lea rdi, [rax + 2]
mov word [rax], cx
xor eax, eax
cmp rdi, r9
jb 0x14003d626
mov ecx, 0x8000ffff
mov ebx, ecx
call fcn.14003e600
jmp 0x14003d62c
mov word [rdi], ax
mov dword [r15], r13d
mov ecx, ebx
call fcn.14006a86c
mov rsi, qword [rsp + 0x70]
mov eax, ebx
mov rbx, qword [rsp + 0x68]
mov rdi, qword [rsp + 0x78]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rbp
ret