Function at 0x1400029a0
Capabilities:
Decode data using base64 via dword translation table
Encode data using base64

Disassembly:
push rbx
push rdi
push r12
push r15
sub rsp, 0x28
mov r15, r8
mov rbx, rdx
mov rdi, rcx
test rcx, rcx
je 0x140002a40
test r8, r8
jne 0x1400029c7
test r9, r9
jne 0x140002a40
mov r12, qword [rsp + 0x70]
test r12, r12
je 0x140002a40
mov qword [r12], 0
cmp rdx, 0xffffffffffffffff
jne 0x1400029eb
mov rbx, rdx
inc rbx
cmp byte [rcx + rbx], 0
jne 0x1400029e2
lea rax, [rcx + rbx]
cmp rax, rdi
jb 0x140002a40
lea rax, [rbx + 3]
shr rax, 2
lea rdx, [rax + rax*2]
cmp r9, rdx
jae 0x140002a4d
mov rcx, rbx
test rbx, rbx
je 0x140002a1d
nop dword [rax]
cmp byte [rdi + rcx - 1], 0x3d
jne 0x140002a1d
sub rcx, 1
jne 0x140002a10
mov rax, rcx
and eax, 3
jbe 0x140002a3c
shr rcx, 2
lea rdx, [rcx*2 - 1]
add rdx, rax
add rdx, rcx
cmp r9, rdx
jae 0x140002a4d
mov qword [r12], rdx
xor al, al
add rsp, 0x28
pop r15
pop r12
pop rdi
pop rbx
ret
test r15, r15
je 0x140002ddf
lea rax, [r8 + r9]
cmp rax, r15
jbe 0x140002ddf
mov qword [rsp + 0x50], rbp
xor eax, eax
mov qword [rsp + 0x58], rsi
xor ebp, ebp
mov qword [rsp + 0x20], r14
xor esi, esi
xor r14d, r14d
test rbx, rbx
je 0x140002dbc
mov qword [rsp + 0x60], r13
movabs r13, 0x100002600
xor r11d, r11d
xor r9d, r9d
xor r8d, r8d
xor r10d, r10d
movabs rdx, 0xffffffc07ff1
cmp rax, rbx
jae 0x140002d0f
lfence
nop word [rax + rax]
movzx r10d, byte [rax + rdi]
inc rax
cmp r10d, 0x41
jb 0x140002ad4
cmp r10b, 0x5a
jbe 0x140002b12
lea ecx, [r10 - 0x61]
cmp cl, 0x19
jbe 0x140002b12
lea ecx, [r10 - 0x2f]
cmp cl, 0xa
jbe 0x140002b12
cmp r10b, 0x2b
je 0x140002b12
cmp r10b, 0x3d
je 0x140002b0d
cmp r10b, 0x20
ja 0x140002afe
bt r13, r10
jb 0x140002b03
mov esi, 1
cmp rax, rbx
jb 0x140002ac0
jmp 0x140002c2f
mov ebp, 1
cmp rax, rbx
jae 0x140002c2f
nop dword [rax + rax]
movzx r8d, byte [rax + rdi]
inc rax
cmp r8d, 0x41
jb 0x140002b34
cmp r8b, 0x5a
jbe 0x140002b72
lea ecx, [r8 - 0x61]
cmp cl, 0x19
jbe 0x140002b72
lea ecx, [r8 - 0x2f]
cmp cl, 0xa
jbe 0x140002b72
cmp r8b, 0x2b
je 0x140002b72
cmp r8b, 0x3d
je 0x140002b6d
cmp r8b, 0x20
ja 0x140002b5e
bt r13, r8
jb 0x140002b63
mov esi, 1
cmp rax, rbx
jb 0x140002b20
jmp 0x140002c2f
mov ebp, 1
cmp rax, rbx
jae 0x140002c2f
nop dword [rax + rax]
movzx r9d, byte [rax + rdi]
inc rax
cmp r9d, 0x41
jb 0x140002b94
cmp r9b, 0x5a
jbe 0x140002bcf
lea ecx, [r9 - 0x61]
cmp cl, 0x19
jbe 0x140002bcf
lea ecx, [r9 - 0x2f]
cmp cl, 0xa
jbe 0x140002bcf
cmp r9b, 0x2b
je 0x140002bcf
cmp r9b, 0x3d
je 0x140002bca
cmp r9b, 0x20
ja 0x140002bbe
bt r13, r9
jb 0x140002bc3
mov esi, 1
cmp rax, rbx
jb 0x140002b80
jmp 0x140002c2f
mov ebp, 1
cmp rax, rbx
jae 0x140002c2f
lfence
nop word [rax + rax]
movzx r11d, byte [rax + rdi]
inc rax
cmp r11d, 0x41
jb 0x140002bf4
cmp r11b, 0x5a
jbe 0x140002c2f
lea ecx, [r11 - 0x61]
cmp cl, 0x19
jbe 0x140002c2f
lea ecx, [r11 - 0x2f]
cmp cl, 0xa
jbe 0x140002c2f
cmp r11b, 0x2b
je 0x140002c2f
cmp r11b, 0x3d
je 0x140002c2a
cmp r11b, 0x20
ja 0x140002c1e
bt r13, r11
jb 0x140002c23
mov esi, 1
cmp rax, rbx
jb 0x140002be0
jmp 0x140002c2f
mov ebp, 1
lea ecx, [r10 - 0x2b]
cmp ecx, 0x2f
ja 0x140002c3e
bt rdx, rcx
jb 0x140002c4b
lea ecx, [r10 - 0x61]
cmp ecx, 0x19
ja 0x140002d0f
lea ecx, [r8 - 0x2b]
cmp ecx, 0x2f
ja 0x140002c5a
bt rdx, rcx
jb 0x140002c67
lea ecx, [r8 - 0x61]
cmp ecx, 0x19
ja 0x140002d0f
lea ecx, [r9 - 0x2b]
cmp ecx, 0x2f
ja 0x140002c76
bt rdx, rcx
jb 0x140002c83
lea ecx, [r9 - 0x61]
cmp ecx, 0x19
ja 0x140002d0f
lea ecx, [r11 - 0x2b]
cmp ecx, 0x2f
ja 0x140002c92
bt rdx, rcx
jb 0x140002c9b
lea ecx, [r11 - 0x61]
cmp ecx, 0x19
ja 0x140002d0f
lea rdx, [0x14008c6b0]
movzx r8d, byte [r8 + rdx]
movzx r9d, byte [r9 + rdx]
movzx ecx, r8b
movzx edx, byte [r10 + rdx]
shr cl, 4
and cl, 3
shl dl, 2
or dl, cl
shl r8b, 4
mov byte [r14 + r15], dl
movzx ecx, r9b
shr cl, 2
and cl, 0xf
shl r9b, 6
or cl, r8b
lea r8, [0x14008c6b0]
movzx edx, byte [r11 + r8]
and dl, 0x3f
mov byte [r14 + r15 + 1], cl
or dl, r9b
mov byte [r14 + r15 + 2], dl
add r14, 3
test ebp, ebp
jne 0x140002db7
cmp rax, rbx
jae 0x140002db7
jmp 0x140002a93
mov ecx, r10d
call fcn.140002780
test eax, eax
je 0x140002db7
mov ecx, r8d
call fcn.140002780
test eax, eax
je 0x140002d7d
mov ecx, r9d
call fcn.140002780
test eax, eax
je 0x140002d7d
cmp r11d, 0x3d
jne 0x140002d7d
mov eax, r8d
lea r8, [0x14008c6b0]
movzx ecx, byte [r10 + r8]
shl cl, 2
movzx edx, byte [rax + r8]
movzx eax, dl
shl dl, 4
shr al, 4
and al, 3
or cl, al
mov byte [r14 + r15], cl
movzx ecx, byte [r9 + r8]
shr cl, 2
and cl, 0xf
or cl, dl
mov byte [r14 + r15 + 1], cl
add r14, 2
jmp 0x140002db7
mov ecx, r8d
call fcn.140002780
test eax, eax
je 0x140002db7
cmp r9d, 0x3d
jne 0x140002db7
cmp r11d, r9d
jne 0x140002db7
lea rcx, [0x14008c6b0]
movzx edx, byte [r8 + rcx]
movzx ecx, byte [r10 + rcx]
shr dl, 4
and dl, 3
shl cl, 2
or dl, cl
mov byte [r14 + r15], dl
inc r14
mov r13, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x50]
test esi, esi
mov rsi, qword [rsp + 0x58]
mov qword [r12], r14
sete al
mov r14, qword [rsp + 0x20]
add rsp, 0x28
pop r15
pop r12
pop rdi
pop rbx
ret
test r9, r9
jne 0x140002a40
mov al, 1
add rsp, 0x28
pop r15
pop r12
pop rdi
pop rbx
ret