Function at 0x1400298c0
Capabilities:
Encode data using base64

Disassembly:
push rbx
push rdi
sub rsp, 0x48
mov rdi, rdx
mov rbx, rcx
test rcx, rcx
jne 0x1400298db
xor eax, eax
add rsp, 0x48
pop rdi
pop rbx
ret
mov qword [rsp + 0x68], rbp
mov edx, 1
mov qword [rsp + 0x40], rsi
mov rcx, rdi
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x30], r13
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], r15
call fcn.14003853c
mov r12, rax
test rax, rax
jne 0x140029915
xor ebx, ebx
jmp 0x140029bae
mov r8, rdi
mov rdx, rbx
mov rcx, r12
call fcn.1400372c0
xor ebx, ebx
xorps xmm0, xmm0
mov esi, ebx
test rdi, rdi
js 0x140029936
cvtsi2sd xmm0, rdi
jmp 0x14002994e
mov rax, rdi
mov rcx, rdi
shr rcx, 1
and eax, 1
or rcx, rax
cvtsi2sd xmm0, rcx
addsd xmm0, xmm0
divsd xmm0, qword [0x14005f160]
call fcn.140042984
movsd xmm1, qword [0x14005f168]
xor eax, eax
comisd xmm0, xmm1
jb 0x140029982
subsd xmm0, xmm1
comisd xmm0, xmm1
jae 0x140029982
movabs rcx, 0x8000000000000000
mov rax, rcx
cvttsd2si rbp, xmm0
add rbp, rax
mov rax, 0xffffffffffffffff
shl rbp, 2
mov rcx, rbp
add rcx, 1
lea edx, [rax + 2]
cmovb rcx, rax
call fcn.14003853c
mov r14, rax
test rax, rax
je 0x140029bae
mov byte [rax + rbp], bl
mov r13d, ebx
mov r10d, ebx
test rdi, rdi
je 0x140029b66
mov rcx, rbx
mov qword [rsp + 0x78], rbx
mov rax, rbx
movzx eax, byte [rax + r12]
inc esi
mov byte [rsp + rcx + 0x60], al
inc rcx
movzx r15d, byte [rsp + 0x62]
movzx r11d, byte [rsp + 0x61]
movzx ebp, byte [rsp + 0x60]
cmp rcx, 3
jne 0x140029a90
lea rsi, [0x140064b00]
movzx ecx, bpl
and cl, 3
movzx eax, bpl
shr al, 2
add r13d, 4
movzx r9d, al
movzx eax, r11b
shr al, 4
shl cl, 4
add cl, al
mov byte [rsp + 0x70], r9b
movzx r8d, cl
movzx eax, r15b
shr al, 6
movzx ecx, r11b
and cl, 0xf
mov byte [rsp + 0x71], r8b
shl cl, 2
add cl, al
movzx eax, r15b
and al, 0x3f
movzx edx, cl
movzx ecx, al
movzx eax, byte [r9 + rsi]
mov r9, qword [rsp + 0x78]
mov byte [rsp + 0x73], cl
mov byte [rsp + 0x72], dl
mov byte [r9 + r14], al
movzx eax, byte [r8 + rsi]
mov byte [r9 + r14 + 1], al
movzx eax, byte [rdx + rsi]
mov byte [r9 + r14 + 2], al
movzx eax, byte [rcx + rsi]
mov esi, ebx
mov byte [r9 + r14 + 3], al
mov rcx, rbx
add r9, 4
mov qword [rsp + 0x78], r9
inc r10d
mov eax, r10d
cmp rax, rdi
jb 0x1400299d1
test esi, esi
je 0x140029b66
movsxd rax, esi
cmp rax, 3
jge 0x140029ad4
jae 0x140029bde
mov byte [rsp + rax + 0x60], bl
inc rax
cmp rax, 3
jl 0x140029ab0
movzx r15d, byte [rsp + 0x62]
movzx r11d, byte [rsp + 0x61]
movzx ebp, byte [rsp + 0x60]
movzx eax, bpl
lea r8d, [rsi + 1]
shr al, 2
and bpl, 3
mov byte [rsp + 0x70], al
movzx eax, r11b
shr al, 4
and r11b, 0xf
shl bpl, 4
add bpl, al
shl r11b, 2
movzx eax, r15b
mov byte [rsp + 0x71], bpl
shr al, 6
and r15b, 0x3f
add r11b, al
mov byte [rsp + 0x73], r15b
mov byte [rsp + 0x72], r11b
movsxd rdx, r8d
test r8d, r8d
jle 0x140029b4b
movsxd rcx, r13d
add rcx, r14
add r13d, r8d
lea r8, [0x140064b00]
movzx eax, byte [rsp + rbx + 0x70]
lea rcx, [rcx + 1]
inc rbx
movzx eax, byte [rax + r8]
mov byte [rcx - 1], al
cmp rbx, rdx
jl 0x140029b32
cmp esi, 3
jge 0x140029b66
mov r8d, 3
movsxd rcx, r13d
add rcx, r14
sub r8d, esi
mov dl, 0x3d
call fcn.1400376d0
mov rax, 0xffffffffffffffff
mov rdi, rax
inc rdi
cmp byte [r14 + rdi], 0
jne 0x140029b70
mov rcx, rdi
mov edx, 1
add rcx, 1
cmovb rcx, rax
call fcn.14003853c
mov rbx, rax
test rax, rax
je 0x140029ba6
lea rdx, [rdi + 1]
mov r8, r14
mov rcx, rax
call fcn.140038690
mov rcx, r14
call fcn.140038520
mov rcx, r12
call fcn.140038520
mov r14, qword [rsp + 0x28]
mov rax, rbx
mov r13, qword [rsp + 0x30]
mov r12, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x68]
mov r15, qword [rsp + 0x20]
add rsp, 0x48
pop rdi
pop rbx
ret
call fcn.1400362ac
int3