Function at 0x1401513b0
Capabilities:
Encode data using base64

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x40
mov qword [rsp + 0x30], 0
mov r12, r9
mov rbp, r8
mov rbx, rdx
test rdx, rdx
je 0x1401518e8
lfence
lea r13, [0x140000000]
movsxd rsi, ecx
shl rsi, 5
mov r14, qword [rsi + r13 + 0x2045e0]
mov r15, qword [rsi + r13 + 0x2045e8]
lea rax, [r14 + 2]
add rax, r15
cmp r8, rax
jb 0x1401518e8
lfence
mov r8, qword [rsi + r13 + 0x2045d0]
mov r9, r14
mov rdx, rbp
mov rcx, rbx
call fcn.1401af3e0
mov rdi, rax
test rax, rax
je 0x1401518e8
lfence
mov r8, qword [rsi + r13 + 0x2045d8]
sub rbx, rax
mov r9, r15
mov rcx, rax
lea rdx, [rbx + rbp]
call fcn.1401af3e0
mov rbx, rax
test rax, rax
je 0x1401518e8
mov rcx, rax
sub rcx, rdi
cmp rcx, r14
jb 0x1401518e8
sub rbx, r14
sub rbx, rdi
add rdi, r14
movzx eax, byte [rdi]
cmp al, 0xa
jne 0x140151490
cmp byte [rdi + rbx - 1], al
je 0x1401514b7
jmp 0x1401518e8
cmp al, 0xd
jne 0x1401518e8
cmp byte [rdi + 1], 0xa
jne 0x1401518e8
cmp byte [rdi + rbx - 2], al
jne 0x1401518e8
cmp byte [rdi + rbx - 1], 0xa
jne 0x1401518e8
lfence
lea rax, [rsp + 0x30]
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x20], rax
mov rdx, rbx
mov rcx, rdi
call fcn.14014fb30
test al, al
jne 0x1401518e8
mov r15, qword [rsp + 0x90]
test r12, r12
jne 0x1401514fe
cmp qword [r15], r12
jne 0x1401514fe
mov rax, qword [rsp + 0x30]
mov qword [r15], rax
mov al, 1
jmp 0x1401518ea
mov rdx, qword [rsp + 0x30]
cmp qword [r15], rdx
jb 0x1401518e8
test r12, r12
jne 0x14015151a
test rdx, rdx
jne 0x1401518e8
mov qword [r15], 0
cmp rbx, 0xffffffffffffffff
jne 0x14015153e
lfence
nop word [rax + rax]
inc rbx
cmp byte [rdi + rbx], 0
jne 0x140151530
mov rdx, qword [rsp + 0x30]
lea rax, [rbx + rdi]
cmp rax, rdi
jb 0x1401518e8
lea rax, [rbx + 3]
shr rax, 2
lea r8, [rax + rax*2]
cmp rdx, r8
jae 0x140151598
mov rcx, rbx
test rbx, rbx
je 0x140151571
cmp byte [rdi + rcx - 1], 0x3d
jne 0x140151571
sub rcx, 1
jne 0x140151564
mov rax, rcx
and eax, 3
jbe 0x14015158b
shr rcx, 2
lea r8, [rcx*2 - 1]
add r8, rax
add r8, rcx
cmp rdx, r8
jae 0x140151598
mov qword [r15], r8
jmp 0x1401518e8
test r12, r12
je 0x1401518df
lea rax, [rdx + r12]
cmp rax, r12
jbe 0x1401518df
xor esi, esi
xor ebp, ebp
xor eax, eax
xor r14d, r14d
test rbx, rbx
je 0x1401518d8
movabs r13, 0xffffffc07ff1
xor r11d, r11d
xor r9d, r9d
xor r8d, r8d
xor r10d, r10d
movabs rdx, 0x100002600
cmp rax, rbx
jae 0x140151817
lfence
nop dword [rax]
movzx r10d, byte [rax + rdi]
inc rax
lea ecx, [r10 - 0x2b]
cmp ecx, 0x2f
ja 0x140151607
bt r13, rcx
jb 0x140151636
lea ecx, [r10 - 0x61]
cmp ecx, 0x19
jbe 0x140151636
cmp r10d, 0x3d
je 0x140151631
cmp r10d, 0x20
ja 0x140151622
bt rdx, r10
jb 0x140151627
mov esi, 1
cmp rax, rbx
jb 0x1401515f0
jmp 0x140151723
mov ebp, 1
cmp rax, rbx
jae 0x140151723
nop
movzx r8d, byte [rax + rdi]
inc rax
lea ecx, [r8 - 0x2b]
cmp ecx, 0x2f
ja 0x140151657
bt r13, rcx
jb 0x140151686
lea ecx, [r8 - 0x61]
cmp ecx, 0x19
jbe 0x140151686
cmp r8d, 0x3d
je 0x140151681
cmp r8d, 0x20
ja 0x140151672
bt rdx, r8
jb 0x140151677
mov esi, 1
cmp rax, rbx
jb 0x140151640
jmp 0x140151723
mov ebp, 1
cmp rax, rbx
jae 0x140151723
nop
movzx r9d, byte [rax + rdi]
inc rax
lea ecx, [r9 - 0x2b]
cmp ecx, 0x2f
ja 0x1401516a7
bt r13, rcx
jb 0x1401516d3
lea ecx, [r9 - 0x61]
cmp ecx, 0x19
jbe 0x1401516d3
cmp r9d, 0x3d
je 0x1401516ce
cmp r9d, 0x20
ja 0x1401516c2
bt rdx, r9
jb 0x1401516c7
mov esi, 1
cmp rax, rbx
jb 0x140151690
jmp 0x140151723
mov ebp, 1
cmp rax, rbx
jae 0x140151723
lfence
nop dword [rax + rax]
movzx r11d, byte [rax + rdi]
inc rax
lea ecx, [r11 - 0x2b]
cmp ecx, 0x2f
ja 0x1401516f7
bt r13, rcx
jb 0x140151723
lea ecx, [r11 - 0x61]
cmp ecx, 0x19
jbe 0x140151723
cmp r11d, 0x3d
je 0x14015171e
cmp r11d, 0x20
ja 0x140151712
bt rdx, r11
jb 0x140151717
mov esi, 1
cmp rax, rbx
jb 0x1401516e0
jmp 0x140151723
mov ebp, 1
lea ecx, [r10 - 0x2b]
cmp ecx, 0x2f
ja 0x140151732
bt r13, rcx
jb 0x14015173f
lea ecx, [r10 - 0x61]
cmp ecx, 0x19
ja 0x140151817
lea ecx, [r8 - 0x2b]
cmp ecx, 0x2f
ja 0x14015174e
bt r13, rcx
jb 0x14015175b
lea ecx, [r8 - 0x61]
cmp ecx, 0x19
ja 0x140151817
lea ecx, [r9 - 0x2b]
cmp ecx, 0x2f
ja 0x14015176a
bt r13, rcx
jb 0x140151777
lea ecx, [r9 - 0x61]
cmp ecx, 0x19
ja 0x140151817
lea ecx, [r11 - 0x2b]
cmp ecx, 0x2f
ja 0x140151786
bt r13, rcx
jb 0x140151793
lea ecx, [r11 - 0x61]
cmp ecx, 0x19
ja 0x140151817
lea rdx, [0x140000000]
movzx r8d, byte [r8 + rdx + 0x204270]
movzx r9d, byte [r9 + rdx + 0x204270]
movzx ecx, r8b
movzx edx, byte [r10 + rdx + 0x204270]
shr cl, 4
and cl, 3
shl dl, 2
or dl, cl
shl r8b, 4
mov byte [r14 + r12], dl
movzx ecx, r9b
shr cl, 2
lea rdx, [0x140000000]
movzx edx, byte [r11 + rdx + 0x204270]
and cl, 0xf
and dl, 0x3f
shl r9b, 6
or cl, r8b
or dl, r9b
mov byte [r14 + r12 + 1], cl
mov byte [r14 + r12 + 2], dl
add r14, 3
test ebp, ebp
jne 0x1401518d8
cmp rax, rbx
jae 0x1401518d8
jmp 0x1401515ca
mov ecx, r10d
call fcn.14014f910
test eax, eax
je 0x1401518d8
mov ecx, r8d
call fcn.14014f910
test eax, eax
je 0x140151896
mov ecx, r9d
call fcn.14014f910
test eax, eax
je 0x140151896
cmp r11d, 0x3d
jne 0x140151896
mov eax, r8d
lea r8, [0x140000000]
movzx ecx, byte [r10 + r8 + 0x204270]
shl cl, 2
movzx edx, byte [rax + r8 + 0x204270]
movzx eax, dl
shl dl, 4
shr al, 4
and al, 3
or cl, al
mov byte [r14 + r12], cl
movzx ecx, byte [r9 + r8 + 0x204270]
shr cl, 2
and cl, 0xf
or cl, dl
mov byte [r14 + r12 + 1], cl
add r14, 2
mov qword [r15], r14
test esi, esi
jmp 0x1401518e2
mov ecx, r8d
call fcn.14014f910
test eax, eax
je 0x1401518d8
cmp r9d, 0x3d
jne 0x1401518d8
cmp r11d, r9d
jne 0x1401518d8
lea rcx, [0x140000000]
movzx edx, byte [r8 + rcx + 0x204270]
movzx ecx, byte [r10 + rcx + 0x204270]
shr dl, 4
and dl, 3
shl cl, 2
or dl, cl
mov byte [r14 + r12], dl
inc r14
mov qword [r15], r14
test esi, esi
jmp 0x1401518e2
test rdx, rdx
je 0x1401514f7
xor al, al
mov rbx, qword [rsp + 0x70]
mov rbp, qword [rsp + 0x78]
mov rsi, qword [rsp + 0x80]
add rsp, 0x40
pop r15
pop r14
pop r13
pop r12
pop rdi
ret