Function at 0x1400c1b3c
Capabilities:
Encode data using base64

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rdx
mov qword [rax + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x38
mov r12, r8
mov rdi, rcx
xor r10d, r10d
mov dword [rax - 0x54], r10d
mov qword [rcx + 0x10], r10
mov qword [rcx + 0x18], 7
mov word [rcx], r10w
mov dword [rax - 0x54], 1
lea r15, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
cmp r8, 3
jb 0x1400c205a
movabs r9, 0x7ffffffffffffffe
movabs r11, 0x7fffffffffffffff
movzx ecx, byte [rdx]
mov r8b, byte [rdx + 1]
mov r14b, cl
and r14b, 3
shl r14b, 4
mov al, r8b
shr al, 4
or r14b, al
mov byte [rsp + 0x90], r14b
mov dl, byte [rdx + 2]
and r8b, 0xf
shl r8b, 2
mov al, dl
shr al, 6
or r8b, al
mov byte [rsp + 0x98], r8b
and dl, 0x3f
mov byte [rsp + 0x20], dl
shr rcx, 2
movsx r13d, byte [rcx + r15]
mov r14, qword [rdi + 0x10]
mov r15, qword [rdi + 0x18]
cmp r14, r15
jae 0x1400c1c1f
lea rax, [r14 + 1]
mov qword [rdi + 0x10], rax
mov rax, rdi
cmp r15, 8
jb 0x1400c1c0f
mov rax, qword [rdi]
mov word [rax + r14*2], r13w
mov word [rax + r14*2 + 2], r10w
jmp 0x1400c1cec
mov rax, r9
sub rax, r14
cmp rax, 1
jb 0x1400c2269
lea rbp, [r14 + 1]
mov rbx, rbp
or rbx, 7
cmp rbx, r9
jbe 0x1400c1c47
mov rbx, r9
mov rcx, r11
jmp 0x1400c1c70
mov rcx, r15
shr rcx, 1
mov rax, r9
sub rax, rcx
cmp r15, rax
ja 0x1400c1c3f
lea rax, [r15 + rcx]
cmp rbx, rax
cmovb rbx, rax
lea rcx, [rbx + 1]
cmp rcx, r11
ja 0x1400c226f
add rcx, rcx
call fcn.140013038
mov rsi, rax
mov qword [rdi + 0x10], rbp
mov qword [rdi + 0x18], rbx
add r14, r14
mov r8, r14
mov rcx, rax
cmp r15, 8
jb 0x1400c1cbf
mov rbx, qword [rdi]
mov rdx, rbx
call fcn.1401d78b0
mov word [rsi + r14], r13w
xor eax, eax
mov word [rsi + r14 + 2], ax
lea rdx, [r15*2 + 2]
mov rcx, rbx
call fcn.1400131d4
xor r10d, r10d
jmp 0x1400c1cd5
mov rdx, rdi
call fcn.1401d78b0
mov word [rsi + r14], r13w
xor r10d, r10d
mov word [rsi + r14 + 2], r10w
movabs r11, 0x7fffffffffffffff
movabs r9, 0x7ffffffffffffffe
mov qword [rdi], rsi
movzx eax, byte [rsp + 0x90]
lea rcx, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
movsx r15d, byte [rax + rcx]
mov rsi, qword [rdi + 0x10]
mov r14, qword [rdi + 0x18]
cmp rsi, r14
jae 0x1400c1d31
lea rax, [rsi + 1]
mov qword [rdi + 0x10], rax
mov rax, rdi
cmp r14, 8
jb 0x1400c1d21
mov rax, qword [rdi]
mov word [rax + rsi*2], r15w
mov word [rax + rsi*2 + 2], r10w
jmp 0x1400c1de9
mov rax, r9
sub rax, rsi
cmp rax, 1
jb 0x1400c2269
lea r13, [rsi + 1]
mov rbx, r13
or rbx, 7
cmp rbx, r9
jbe 0x1400c1d59
mov rbx, r9
mov rcx, r11
jmp 0x1400c1d82
mov rcx, r14
shr rcx, 1
mov rax, r9
sub rax, rcx
cmp r14, rax
ja 0x1400c1d51
lea rax, [r14 + rcx]
cmp rbx, rax
cmovb rbx, rax
lea rcx, [rbx + 1]
cmp rcx, r11
ja 0x1400c226f
add rcx, rcx
call fcn.140013038
mov rbp, rax
mov qword [rdi + 0x10], r13
mov qword [rdi + 0x18], rbx
add rsi, rsi
mov r8, rsi
mov rcx, rax
cmp r14, 8
jb 0x1400c1dd0
mov rbx, qword [rdi]
mov rdx, rbx
call fcn.1401d78b0
mov word [rsi + rbp], r15w
xor eax, eax
mov word [rsi + rbp + 2], ax
lea rdx, [r14*2 + 2]
mov rcx, rbx
call fcn.1400131d4
xor r10d, r10d
jmp 0x1400c1de6
mov rdx, rdi
call fcn.1401d78b0
mov word [rsi + rbp], r15w
xor r10d, r10d
mov word [rsi + rbp + 2], r10w
mov qword [rdi], rbp
movzx eax, byte [rsp + 0x98]
lea r9, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
movsx ebp, byte [rax + r9]
mov rsi, qword [rdi + 0x10]
mov r15, qword [rdi + 0x18]
cmp rsi, r15
jae 0x1400c1e2d
lea rax, [rsi + 1]
mov qword [rdi + 0x10], rax
mov rax, rdi
cmp r15, 8
jb 0x1400c1e1e
mov rax, qword [rdi]
mov word [rax + rsi*2], bp
mov word [rax + rsi*2 + 2], r10w
jmp 0x1400c1f01
movabs rdx, 0x7ffffffffffffffe
mov rax, rdx
sub rax, rsi
cmp rax, 1
jb 0x1400c2269
lea r13, [rsi + 1]
mov rbx, r13
or rbx, 7
cmp rbx, rdx
jbe 0x1400c1e66
mov rbx, rdx
movabs rcx, 0x7fffffffffffffff
jmp 0x1400c1e99
mov rcx, r15
shr rcx, 1
mov rax, rdx
sub rax, rcx
cmp r15, rax
ja 0x1400c1e57
lea rax, [r15 + rcx]
cmp rbx, rax
cmovb rbx, rax
lea rcx, [rbx + 1]
movabs rax, 0x7fffffffffffffff
cmp rcx, rax
ja 0x1400c226f
add rcx, rcx
call fcn.140013038
mov r14, rax
mov qword [rdi + 0x10], r13
mov qword [rdi + 0x18], rbx
add rsi, rsi
mov r8, rsi
mov rcx, rax
cmp r15, 8
jb 0x1400c1ee8
mov rbx, qword [rdi]
mov rdx, rbx
call fcn.1401d78b0
mov word [r14 + rsi], bp
xor eax, eax
mov word [r14 + rsi + 2], ax
lea rdx, [r15*2 + 2]
mov rcx, rbx
call fcn.1400131d4
xor r10d, r10d
jmp 0x1400c1efe
mov rdx, rdi
call fcn.1401d78b0
mov word [r14 + rsi], bp
xor r10d, r10d
mov word [r14 + rsi + 2], r10w
mov qword [rdi], r14
movzx eax, byte [rsp + 0x20]
lea rsi, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
movsx r15d, byte [rax + rsi]
mov rsi, qword [rdi + 0x10]
mov r14, qword [rdi + 0x18]
cmp rsi, r14
jae 0x1400c1f43
lea rax, [rsi + 1]
mov qword [rdi + 0x10], rax
mov rax, rdi
cmp r14, 8
jb 0x1400c1f33
mov rax, qword [rdi]
mov word [rax + rsi*2], r15w
mov word [rax + rsi*2 + 2], r10w
jmp 0x1400c2016
movabs rdx, 0x7ffffffffffffffe
mov rax, rdx
sub rax, rsi
cmp rax, 1
jb 0x1400c2269
lea r13, [rsi + 1]
mov rbx, r13
or rbx, 7
cmp rbx, rdx
jbe 0x1400c1f7c
mov rbx, rdx
movabs rcx, 0x7fffffffffffffff
jmp 0x1400c1faf
mov rcx, r14
shr rcx, 1
mov rax, rdx
sub rax, rcx
cmp r14, rax
ja 0x1400c1f6d
lea rax, [r14 + rcx]
cmp rbx, rax
cmovb rbx, rax
lea rcx, [rbx + 1]
movabs rax, 0x7fffffffffffffff
cmp rcx, rax
ja 0x1400c226f
add rcx, rcx
call fcn.140013038
mov rbp, rax
mov qword [rdi + 0x10], r13
mov qword [rdi + 0x18], rbx
add rsi, rsi
mov r8, rsi
mov rcx, rax
cmp r14, 8
jb 0x1400c1ffd
mov rbx, qword [rdi]
mov rdx, rbx
call fcn.1401d78b0
mov word [rsi + rbp], r15w
xor eax, eax
mov word [rsi + rbp + 2], ax
lea rdx, [r14*2 + 2]
mov rcx, rbx
call fcn.1400131d4
xor r10d, r10d
jmp 0x1400c2013
mov rdx, rdi
call fcn.1401d78b0
mov word [rsi + rbp], r15w
xor r10d, r10d
mov word [rsi + rbp + 2], r10w
mov qword [rdi], rbp
sub r12, 3
mov rdx, qword [rsp + 0x88]
add rdx, 3
mov qword [rsp + 0x88], rdx
cmp r12, 3
movabs r9, 0x7ffffffffffffffe
movabs r11, 0x7fffffffffffffff
lea r15, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
jae 0x1400c1ba0
lea r15, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
sub r12, 1
je 0x1400c2162
cmp r12, 1
jne 0x1400c2255
movzx ecx, byte [rdx]
mov sil, byte [rdx + 1]
mov bl, cl
and bl, 3
shl bl, 4
mov al, sil
shr al, 4
or bl, al
and sil, 0xf
shl sil, 2
shr rcx, 2
movsx r9d, byte [rcx + r15]
mov rcx, qword [rdi + 0x10]
cmp rcx, qword [rdi + 0x18]
jae 0x1400c20c2
lea rax, [rcx + 1]
mov qword [rdi + 0x10], rax
mov rax, rdi
cmp qword [rdi + 0x18], 8
jb 0x1400c20b5
mov rax, qword [rdi]
mov word [rax + rcx*2], r9w
mov word [rax + rcx*2 + 2], r10w
jmp 0x1400c20cd
mov rcx, rdi
call fcn.140028414
xor r10d, r10d
movzx eax, bl
movsx r9d, byte [rax + r15]
mov rcx, qword [rdi + 0x10]
cmp rcx, qword [rdi + 0x18]
jae 0x1400c2101
lea rax, [rcx + 1]
mov qword [rdi + 0x10], rax
mov rax, rdi
cmp qword [rdi + 0x18], 8
jb 0x1400c20f4
mov rax, qword [rdi]
mov word [rax + rcx*2], r9w
mov word [rax + rcx*2 + 2], r10w
jmp 0x1400c210c
mov rcx, rdi
call fcn.140028414
xor r10d, r10d
movzx eax, sil
movsx r9d, byte [rax + r15]
mov rcx, qword [rdi + 0x10]
cmp rcx, qword [rdi + 0x18]
jae 0x1400c2141
lea rax, [rcx + 1]
mov qword [rdi + 0x10], rax
mov rax, rdi
cmp qword [rdi + 0x18], 8
jb 0x1400c2134
mov rax, qword [rdi]
mov word [rax + rcx*2], r9w
mov word [rax + rcx*2 + 2], r10w
jmp 0x1400c2149
mov rcx, rdi
call fcn.140028414
mov rcx, qword [rdi + 0x10]
cmp rcx, qword [rdi + 0x18]
jb 0x1400c222c
mov r9d, 0x3d
jmp 0x1400c224d
movzx eax, byte [rdx]
mov bl, al
and bl, 3
shl bl, 4
shr rax, 2
movsx r9d, byte [rax + r15]
mov rcx, qword [rdi + 0x10]
cmp rcx, qword [rdi + 0x18]
jae 0x1400c21a2
lea rax, [rcx + 1]
mov qword [rdi + 0x10], rax
mov rax, rdi
cmp qword [rdi + 0x18], 8
jb 0x1400c2195
mov rax, qword [rdi]
mov word [rax + rcx*2], r9w
mov word [rax + rcx*2 + 2], r10w
jmp 0x1400c21ad
mov rcx, rdi
call fcn.140028414
xor r10d, r10d
movzx eax, bl
movsx r9d, byte [rax + r15]
mov rcx, qword [rdi + 0x10]
cmp rcx, qword [rdi + 0x18]
jae 0x1400c21e1
lea rax, [rcx + 1]
mov qword [rdi + 0x10], rax
mov rax, rdi
cmp qword [rdi + 0x18], 8
jb 0x1400c21d4
mov rax, qword [rdi]
mov word [rax + rcx*2], r9w
mov word [rax + rcx*2 + 2], r10w
jmp 0x1400c21e9
mov rcx, rdi
call fcn.140028414
mov rcx, qword [rdi + 0x10]
cmp rcx, qword [rdi + 0x18]
jae 0x1400c2212
lea rax, [rcx + 1]
mov qword [rdi + 0x10], rax
mov rax, rdi
cmp qword [rdi + 0x18], 8
jb 0x1400c2208
mov rax, qword [rdi]
mov ebx, 0x3d
mov dword [rax + rcx*2], ebx
jmp 0x1400c2222
mov ebx, 0x3d
mov r9d, ebx
mov rcx, rdi
call fcn.140028414
mov rcx, qword [rdi + 0x10]
cmp rcx, qword [rdi + 0x18]
jae 0x1400c224a
lea rax, [rcx + 1]
mov qword [rdi + 0x10], rax
mov rax, rdi
cmp qword [rdi + 0x18], 8
jb 0x1400c2241
mov rax, qword [rdi]
mov dword [rax + rcx*2], 0x3d
jmp 0x1400c2255
mov r9d, ebx
mov rcx, rdi
call fcn.140028414
mov rax, rdi
add rsp, 0x38
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
call fcn.140012f6c
int3
call fcn.140013018
int3