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

Disassembly:
push rbx
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x68
mov rax, qword [0x14024fa28]
xor rax, rsp
mov qword [rsp + 0x50], rax
mov r15, qword [rsp + 0xd0]
mov r13, r9
mov rdi, qword [rsp + 0xc0]
mov r10, r8
mov qword [rsp + 0x20], r8
mov r12, rcx
mov byte [r15], 0
test rcx, rcx
je 0x14003f692
cmp rdx, 0x40
jne 0x14003f692
mov rbx, qword [rsp + 0xc8]
test rdi, rdi
je 0x14003f692
mov qword [rsp + 0x28], 0
cmp rbx, 0xffffffffffffffff
jne 0x14003f2ac
inc rbx
cmp byte [rdi + rbx], 0
jne 0x14003f2a3
lea rax, [rdi + rbx]
cmp rax, rdi
jb 0x14003f692
lea rax, [rbx + 3]
shr rax, 2
lea rax, [rax + rax*2]
cmp rax, 0x20
jbe 0x14003f304
mov rcx, rbx
test rbx, rbx
je 0x14003f2e0
cmp byte [rdi + rcx - 1], 0x3d
jne 0x14003f2e0
sub rcx, 1
jne 0x14003f2d3
mov rax, rcx
and eax, 3
jbe 0x14003f692
shr rcx, 2
lea rax, [rax + rcx*2]
dec rcx
add rcx, rax
cmp rcx, 0x20
ja 0x14003f692
mov qword [rsp + 0xa8], rbp
xor eax, eax
mov qword [rsp + 0x60], rsi
xor ebp, ebp
xor esi, esi
xor r14d, r14d
test rbx, rbx
je 0x14003f65c
xor r11d, r11d
xor r9d, r9d
xor r8d, r8d
xor r10d, r10d
movabs rdx, 0x100002600
cmp rax, rbx
jae 0x14003f5aa
lfence
nop word [rax + rax]
movzx r10d, byte [rdi + rax]
inc rax
cmp r10d, 0x41
jb 0x14003f364
cmp r10b, 0x5a
jbe 0x14003f3a2
lea ecx, [r10 - 0x61]
cmp cl, 0x19
jbe 0x14003f3a2
lea ecx, [r10 - 0x2f]
cmp cl, 0xa
jbe 0x14003f3a2
cmp r10b, 0x2b
je 0x14003f3a2
cmp r10b, 0x3d
je 0x14003f39d
cmp r10b, 0x20
ja 0x14003f38e
bt rdx, r10
jb 0x14003f393
mov esi, 1
cmp rax, rbx
jb 0x14003f350
jmp 0x14003f4bf
mov ebp, 1
cmp rax, rbx
jae 0x14003f4bf
nop dword [rax + rax]
movzx r8d, byte [rdi + rax]
inc rax
cmp r8d, 0x41
jb 0x14003f3c4
cmp r8b, 0x5a
jbe 0x14003f402
lea ecx, [r8 - 0x61]
cmp cl, 0x19
jbe 0x14003f402
lea ecx, [r8 - 0x2f]
cmp cl, 0xa
jbe 0x14003f402
cmp r8b, 0x2b
je 0x14003f402
cmp r8b, 0x3d
je 0x14003f3fd
cmp r8b, 0x20
ja 0x14003f3ee
bt rdx, r8
jb 0x14003f3f3
mov esi, 1
cmp rax, rbx
jb 0x14003f3b0
jmp 0x14003f4bf
mov ebp, 1
cmp rax, rbx
jae 0x14003f4bf
nop dword [rax + rax]
movzx r9d, byte [rdi + rax]
inc rax
cmp r9d, 0x41
jb 0x14003f424
cmp r9b, 0x5a
jbe 0x14003f45f
lea ecx, [r9 - 0x61]
cmp cl, 0x19
jbe 0x14003f45f
lea ecx, [r9 - 0x2f]
cmp cl, 0xa
jbe 0x14003f45f
cmp r9b, 0x2b
je 0x14003f45f
cmp r9b, 0x3d
je 0x14003f45a
cmp r9b, 0x20
ja 0x14003f44e
bt rdx, r9
jb 0x14003f453
mov esi, 1
cmp rax, rbx
jb 0x14003f410
jmp 0x14003f4bf
mov ebp, 1
cmp rax, rbx
jae 0x14003f4bf
lfence
nop word [rax + rax]
movzx r11d, byte [rdi + rax]
inc rax
cmp r11d, 0x41
jb 0x14003f484
cmp r11b, 0x5a
jbe 0x14003f4bf
lea ecx, [r11 - 0x61]
cmp cl, 0x19
jbe 0x14003f4bf
lea ecx, [r11 - 0x2f]
cmp cl, 0xa
jbe 0x14003f4bf
cmp r11b, 0x2b
je 0x14003f4bf
cmp r11b, 0x3d
je 0x14003f4ba
cmp r11b, 0x20
ja 0x14003f4ae
bt rdx, r11
jb 0x14003f4b3
mov esi, 1
cmp rax, rbx
jb 0x14003f470
jmp 0x14003f4bf
mov ebp, 1
lea ecx, [r10 - 0x2b]
movabs rdx, 0xffffffc07ff1
cmp ecx, 0x2f
ja 0x14003f4d8
bt rdx, rcx
jb 0x14003f4e5
lea ecx, [r10 - 0x61]
cmp ecx, 0x19
ja 0x14003f5aa
lea ecx, [r8 - 0x2b]
cmp ecx, 0x2f
ja 0x14003f4f4
bt rdx, rcx
jb 0x14003f501
lea ecx, [r8 - 0x61]
cmp ecx, 0x19
ja 0x14003f5aa
lea ecx, [r9 - 0x2b]
cmp ecx, 0x2f
ja 0x14003f510
bt rdx, rcx
jb 0x14003f51d
lea ecx, [r9 - 0x61]
cmp ecx, 0x19
ja 0x14003f5aa
lea ecx, [r11 - 0x2b]
cmp ecx, 0x2f
ja 0x14003f52c
bt rdx, rcx
jb 0x14003f535
lea ecx, [r11 - 0x61]
cmp ecx, 0x19
ja 0x14003f5aa
lea rdx, [0x140204270]
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 [rsp + r14 + 0x30], dl
movzx ecx, r9b
shr cl, 2
and cl, 0xf
shl r9b, 6
or cl, r8b
lea r8, [0x140204270]
movzx edx, byte [r11 + r8]
and dl, 0x3f
mov byte [rsp + r14 + 0x31], cl
or dl, r9b
mov byte [rsp + r14 + 0x32], dl
add r14, 3
test ebp, ebp
jne 0x14003f657
cmp rax, rbx
jb 0x14003f323
jmp 0x14003f657
mov ecx, r10d
call fcn.14014f910
test eax, eax
je 0x14003f657
mov ecx, r8d
call fcn.14014f910
test eax, eax
je 0x14003f619
mov ecx, r9d
call fcn.14014f910
test eax, eax
je 0x14003f619
cmp r11d, 0x3d
jne 0x14003f619
mov eax, r8d
lea r8, [0x140204270]
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 [rsp + r14 + 0x30], cl
movzx ecx, byte [r9 + r8]
shr cl, 2
and cl, 0xf
or cl, dl
mov byte [rsp + r14 + 0x31], cl
add r14, 2
jmp 0x14003f657
mov ecx, r8d
call fcn.14014f910
test eax, eax
je 0x14003f657
cmp r9d, 0x3d
jne 0x14003f657
cmp r11d, r9d
jne 0x14003f657
lea rcx, [0x140204270]
movzx r8d, byte [r8 + rcx]
movzx edx, byte [r10 + rcx]
shr r8b, 4
and r8b, 3
shl dl, 2
or r8b, dl
mov byte [rsp + r14 + 0x30], r8b
inc r14
mov r10, qword [rsp + 0x20]
mov rbp, qword [rsp + 0xa8]
test esi, esi
mov rsi, qword [rsp + 0x60]
jne 0x14003f692
cmp r14, 0x20
jne 0x14003f692
mov r9, r12
lea r8, [rsp + 0x30]
mov rdx, r13
mov rcx, r10
call fcn.140026940
test eax, eax
jne 0x14003f68e
mov byte [r15], 1
mov al, 1
jmp 0x14003f694
xor al, al
mov rcx, qword [rsp + 0x50]
xor rcx, rsp
call fcn.1401c5190
add rsp, 0x68
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rbx
ret