Function at 0x1400bf130
Capabilities:
Encode data using base64

Disassembly:
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x38
mov rbx, rdx
mov rdi, rcx
xor eax, eax
mov dword [rsp + 0x20], eax
mov qword [rcx + 0x10], rax
mov qword [rcx + 0x18], 0xf
mov byte [rcx], al
mov dword [rsp + 0x20], 1
lea rsi, [rdx + 0x10]
mov rdx, qword [rsi]
call fcn.140042000
xor edx, edx
lea r15d, [rdx - 6]
cmp qword [rbx + 0x18], 0x10
jb 0x1400bf18b
mov r8, qword [rbx]
mov rcx, r8
mov rbx, r8
jmp 0x1400bf191
mov r8, rbx
mov rcx, rbx
mov qword [rsp + 0x90], r8
mov rax, qword [rsi]
add rax, rcx
mov qword [rsp + 0x28], rax
movabs r9, 0x7fffffffffffffff
movabs r10, 0x8000000000000027
cmp rbx, rax
je 0x1400bf4a4
lea r11, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
nop dword [rax + rax]
shl edx, 8
movzx eax, byte [r8]
add edx, eax
mov dword [rsp + 0x88], edx
add r15d, 8
js 0x1400bf37d
movsxd rax, edx
mov qword [rsp + 0x98], rax
nop word [rax + rax]
mov ecx, r15d
sar rax, cl
and eax, 0x3f
movzx r12d, byte [rax + r11]
mov rbp, qword [rdi + 0x10]
mov r14, qword [rdi + 0x18]
cmp rbp, r14
jae 0x1400bf23d
lea rax, [rbp + 1]
mov qword [rdi + 0x10], rax
mov rax, rdi
cmp r14, 0x10
jb 0x1400bf22f
mov rax, qword [rdi]
mov byte [rax + rbp], r12b
mov byte [rax + rbp + 1], 0
jmp 0x1400bf35c
mov rax, r9
sub rax, rbp
cmp rax, 1
jb 0x1400bf614
lea r13, [rbp + 1]
mov rbx, r13
or rbx, 0xf
cmp rbx, r9
jbe 0x1400bf265
mov rbx, r9
mov rcx, r10
jmp 0x1400bf2a2
mov rcx, r14
shr rcx, 1
mov rax, r9
sub rax, rcx
cmp r14, rax
jbe 0x1400bf27e
mov rbx, r9
mov rcx, r10
jmp 0x1400bf2a2
lea rax, [rcx + r14]
cmp rbx, rax
cmovb rbx, rax
lea rax, [rbx + 1]
cmp rax, 0x1000
jb 0x1400bf2be
lea rcx, [rax + 0x27]
cmp rcx, rax
jbe 0x1400bf61a
call fcn.14036fce4
test rax, rax
je 0x1400bf60e
lea rsi, [rax + 0x27]
and rsi, 0xffffffffffffffe0
mov qword [rsi - 8], rax
jmp 0x1400bf2d2
test rax, rax
je 0x1400bf2d0
mov rcx, rax
call fcn.14036fce4
mov rsi, rax
jmp 0x1400bf2d2
xor esi, esi
mov qword [rdi + 0x10], r13
mov qword [rdi + 0x18], rbx
mov r8, rbp
mov rcx, rsi
cmp r14, 0x10
jb 0x1400bf32d
mov rbx, qword [rdi]
mov rdx, rbx
call fcn.14038e7d0
mov byte [rsi + rbp], r12b
mov byte [rsi + rbp + 1], 0
lea rdx, [r14 + 1]
cmp rdx, 0x1000
jb 0x1400bf323
add rdx, 0x27
mov rcx, qword [rbx - 8]
sub rbx, rcx
lea rax, [rbx - 8]
cmp rax, 0x1f
ja 0x1400bf60e
mov rbx, rcx
mov rcx, rbx
call fcn.14036fd20
jmp 0x1400bf33e
mov rdx, rdi
call fcn.14038e7d0
mov byte [rsi + rbp], r12b
mov byte [rsi + rbp + 1], 0
lea r11, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
movabs r10, 0x8000000000000027
movabs r9, 0x7fffffffffffffff
mov qword [rdi], rsi
sub r15d, 6
mov rax, qword [rsp + 0x98]
jns 0x1400bf200
mov edx, dword [rsp + 0x88]
mov r8, qword [rsp + 0x90]
inc r8
mov qword [rsp + 0x90], r8
cmp r8, qword [rsp + 0x28]
jne 0x1400bf1d0
cmp r15d, 0xfffffffa
jle 0x1400bf4a4
lea ecx, [r15 + 8]
shl edx, 8
movsxd rdx, edx
sar rdx, cl
and edx, 0x3f
movzx r15d, byte [rdx + r11]
mov rsi, qword [rdi + 0x10]
mov rbp, qword [rdi + 0x18]
cmp rsi, rbp
jae 0x1400bf3e1
lea rax, [rsi + 1]
mov qword [rdi + 0x10], rax
mov rax, rdi
cmp rbp, 0x10
jb 0x1400bf3d3
mov rax, qword [rdi]
mov byte [rax + rsi], r15b
mov byte [rax + rsi + 1], 0
jmp 0x1400bf4a4
mov rax, r9
sub rax, rsi
cmp rax, 1
jb 0x1400bf614
lea r12, [rsi + 1]
mov rbx, r12
or rbx, 0xf
cmp rbx, r9
jbe 0x1400bf406
mov rbx, r9
jmp 0x1400bf427
mov rcx, rbp
shr rcx, 1
mov rax, r9
sub rax, rcx
cmp rbp, rax
jbe 0x1400bf41c
mov rbx, r9
jmp 0x1400bf427
lea rax, [rcx + rbp]
cmp rbx, rax
cmovb rbx, rax
lea rcx, [rbx + 1]
call fcn.140004a40
mov r14, rax
mov qword [rdi + 0x10], r12
mov qword [rdi + 0x18], rbx
mov r8, rsi
mov rcx, rax
cmp rbp, 0x10
jb 0x1400bf48f
mov rbx, qword [rdi]
mov rdx, rbx
call fcn.14038e7d0
mov byte [r14 + rsi], r15b
mov byte [r14 + rsi + 1], 0
lea rdx, [rbp + 1]
cmp rdx, 0x1000
jb 0x1400bf485
add rdx, 0x27
mov rcx, qword [rbx - 8]
sub rbx, rcx
lea rax, [rbx - 8]
cmp rax, 0x1f
ja 0x1400bf60e
mov rbx, rcx
mov rcx, rbx
call fcn.14036fd20
jmp 0x1400bf4a1
mov rdx, rdi
call fcn.14038e7d0
mov byte [r14 + rsi], r15b
mov byte [r14 + rsi + 1], 0
mov qword [rdi], r14
mov rsi, qword [rdi + 0x10]
test sil, 3
je 0x1400bf5fa
movabs r12, 0x7fffffffffffffff
movabs r13, 0x8000000000000027
mov rbp, qword [rdi + 0x18]
cmp rsi, rbp
jae 0x1400bf4ee
lea rax, [rsi + 1]
mov qword [rdi + 0x10], rax
mov rax, rdi
cmp rbp, 0x10
jb 0x1400bf4e3
mov rax, qword [rdi]
mov word [rax + rsi], 0x3d
jmp 0x1400bf5ec
mov rax, r12
sub rax, rsi
cmp rax, 1
jb 0x1400bf614
lea r15, [rsi + 1]
mov rbx, r15
or rbx, 0xf
cmp rbx, r12
jbe 0x1400bf516
mov rbx, r12
mov rax, r13
jmp 0x1400bf554
mov rcx, rbp
shr rcx, 1
mov rax, r12
sub rax, rcx
cmp rbp, rax
jbe 0x1400bf52f
mov rbx, r12
mov rax, r13
jmp 0x1400bf554
lea rax, [rcx + rbp]
cmp rbx, rax
cmovb rbx, rax
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x1400bf573
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x1400bf61a
mov rcx, rax
call fcn.14036fce4
test rax, rax
je 0x1400bf60e
lea r14, [rax + 0x27]
and r14, 0xffffffffffffffe0
mov qword [r14 - 8], rax
jmp 0x1400bf585
test rcx, rcx
je 0x1400bf582
call fcn.14036fce4
mov r14, rax
jmp 0x1400bf585
xor r14d, r14d
mov qword [rdi + 0x10], r15
mov qword [rdi + 0x18], rbx
mov r8, rsi
mov rcx, r14
cmp rbp, 0x10
jb 0x1400bf5da
mov rbx, qword [rdi]
mov rdx, rbx
call fcn.14038e7d0
mov word [r14 + rsi], 0x3d
lea rdx, [rbp + 1]
cmp rdx, 0x1000
jb 0x1400bf5d0
add rdx, 0x27
mov rcx, qword [rbx - 8]
sub rbx, rcx
lea rax, [rbx - 8]
cmp rax, 0x1f
ja 0x1400bf60e
mov rbx, rcx
mov rcx, rbx
call fcn.14036fd20
jmp 0x1400bf5e9
mov rdx, rdi
call fcn.14038e7d0
mov word [r14 + rsi], 0x3d
mov qword [rdi], r14
mov rsi, qword [rdi + 0x10]
test sil, 3
jne 0x1400bf4c6
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.1403933ec
int3
call fcn.140008ce0
int3
call fcn.140004800
int3