Function at 0x1400412a0
Capabilities:
Encode data using base64

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xc0]
sub rsp, 0x1c0
mov rax, qword [0x14037da00]
xor rax, rsp
mov qword [rbp + 0xb0], rax
mov r12d, r8d
mov rdi, rdx
mov qword [rsp + 0x48], rcx
mov qword [rbp - 0x30], rdx
xor r8d, r8d
mov dword [rsp + 0x58], r8d
movaps xmm0, xmmword [str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_]
movaps xmmword [rbp + 0x60], xmm0
movaps xmm1, xmmword [0x14024ed40]
movaps xmmword [rbp + 0x70], xmm1
movaps xmm0, xmmword [0x14024ed50]
movaps xmmword [rbp + 0x80], xmm0
movaps xmm1, xmmword [0x14024ed60]
movaps xmmword [rbp + 0x90], xmm1
movzx eax, byte [0x14024ed70]
mov byte [rbp + 0xa0], al
movaps xmm0, xmmword [str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789__]
movaps xmmword [rbp + 0x10], xmm0
movaps xmm1, xmmword [0x14024ed90]
movaps xmmword [rbp + 0x20], xmm1
movaps xmm0, xmmword [0x14024eda0]
movaps xmmword [rbp + 0x30], xmm0
movaps xmm1, xmmword [0x14024edb0]
movaps xmmword [rbp + 0x40], xmm1
movzx eax, byte [0x14024edc0]
mov byte [rbp + 0x50], al
test r12b, 1
lea r13, [rbp + 0x10]
lea rax, [rbp + 0x60]
cmove r13, rax
mov r14d, r8d
mov rcx, qword [rcx + 0x10]
mov qword [rsp + 0x50], rcx
add rcx, 2
movabs rax, 0x5555555555555556
imul rcx
mov rbx, rdx
shr rbx, 0x3f
add rbx, rdx
shl rbx, 2
mov qword [rdi], r8
mov qword [rdi + 8], r8
mov qword [rdi + 0x10], r8
lea r15d, [r8 - 1]
lea rdx, [0x14024eca0]
test rbx, rbx
jg 0x1400413bf
mov qword [rdi], r8
mov qword [rdi + 8], rdx
mov qword [rdi + 0x10], r8
jmp 0x140041422
mov dword [rsp + 0x20], 1
mov r9, rbx
mov edx, 1
lea r8d, [rdx + 7]
lea rcx, [rbp - 0x78]
call fcn.14010fc10
mov rdx, rax
mov rcx, qword [rdi]
mov rax, qword [rbp - 0x78]
mov qword [rdi], rax
mov qword [rdi + 8], rdx
mov qword [rdi + 0x10], rbx
test rcx, rcx
je 0x140041407
mov eax, r15d
lock xadd dword [rcx], eax
cmp eax, 1
jne 0x140041407
call fcn.14021b810
mov rax, qword [rdi + 8]
test rax, rax
je 0x140041a06
mov byte [rax + rbx], 0
lea rdx, [0x14024eca0]
xor r8d, r8d
mov dword [rsp + 0x58], 1
mov rsi, r8
mov rax, qword [rdi]
test rax, rax
je 0x140041440
mov eax, dword [rax]
cmp eax, 1
jle 0x1400415af
mov r9, qword [rdi + 0x10]
mov qword [rsp + 0x60], r9
mov rcx, qword [rdi]
test r9, r9
jne 0x14004147a
mov qword [rdi], r8
mov qword [rdi + 8], rdx
mov qword [rdi + 0x10], r8
test rcx, rcx
je 0x1400415af
mov eax, r15d
lock xadd dword [rcx], eax
cmp eax, 1
jne 0x1400415af
jmp 0x1400415aa
test rcx, rcx
je 0x1400414e4
lea rax, [rcx + 0x17]
and rax, 0xfffffffffffffff8
mov rdx, qword [rdi + 8]
sub rdx, rax
mov eax, dword [rcx]
cmp eax, 1
jg 0x1400414df
test rdx, rdx
jg 0x1400414df
mov dword [rsp + 0x28], 1
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x20], rax
mov r9d, 1
mov r8, qword [rdi + 8]
mov rdx, qword [rdi]
lea rcx, [rbp - 0x60]
call fcn.14010fd70
mov rcx, qword [rbp - 0x58]
test rcx, rcx
je 0x140041a0c
mov rax, qword [rbp - 0x60]
mov qword [rdi], rax
mov qword [rdi + 8], rcx
jmp 0x1400415af
mov r9, qword [rsp + 0x60]
lea rax, [rdi + 0x10]
lea rcx, [rsp + 0x60]
cmp r9, qword [rax]
cmovge rcx, rax
mov rax, qword [rcx]
mov qword [rsp + 0x68], rax
mov dword [rsp + 0x20], 1
mov edx, 1
lea r8d, [rdx + 7]
lea rcx, [rsp + 0x38]
call fcn.14010fc10
mov rcx, rax
mov qword [rbp - 0x70], rax
mov rbx, qword [rsp + 0x38]
mov qword [rbp - 0x28], rbx
mov qword [rbp - 0x20], rax
mov rax, qword [rsp + 0x68]
mov qword [rbp - 0x18], rax
test rcx, rcx
je 0x140041a12
test rax, rax
jle 0x140041557
mov r8, rax
mov rdx, qword [rdi + 8]
call fcn.140240000
mov rax, qword [rsp + 0x68]
mov rcx, qword [rbp - 0x70]
mov byte [rcx + rax], 0
test rbx, rbx
je 0x140041568
lock inc dword [rbx]
mov rbx, qword [rsp + 0x38]
mov rdx, qword [rdi]
mov qword [rdi], rbx
mov qword [rdi + 8], rcx
mov qword [rdi + 0x10], rax
test rdx, rdx
je 0x140041594
mov eax, r15d
lock xadd dword [rdx], eax
cmp eax, 1
jne 0x14004158f
mov rcx, rdx
call fcn.14021b810
mov rbx, qword [rsp + 0x38]
test rbx, rbx
je 0x1400415af
mov eax, r15d
lock xadd dword [rbx], eax
cmp eax, 1
jne 0x1400415af
mov rcx, qword [rsp + 0x38]
call fcn.14021b810
mov rbx, qword [rdi + 8]
and r12d, 2
mov r9, qword [rsp + 0x50]
lea r11, [0x14024eca0]
test r9, r9
jle 0x1400416a2
mov r10, qword [rsp + 0x48]
mov rdx, qword [r10 + 8]
mov rax, r11
test rdx, rdx
cmovne rax, rdx
movzx ecx, byte [rax + rsi]
inc rsi
shl ecx, 0x10
cmp rsi, r9
jne 0x1400415f6
mov r14d, 2
jmp 0x14004162c
mov rax, r11
test rdx, rdx
cmovne rax, rdx
movzx eax, byte [rax + rsi]
inc rsi
shl eax, 8
or ecx, eax
cmp rsi, r9
jne 0x140041619
mov r14d, 1
jmp 0x14004162c
mov rax, r11
test rdx, rdx
cmovne rax, rdx
movzx eax, byte [rax + rsi]
inc rsi
or ecx, eax
mov edx, ecx
shr edx, 6
and edx, 0x3f
mov r8d, ecx
and r8d, 0x3f
mov eax, ecx
shr rax, 0x12
movzx eax, byte [rax + r13]
mov byte [rbx], al
shr ecx, 0xc
and ecx, 0x3f
movzx ecx, byte [rcx + r13]
mov byte [rbx + 1], cl
add rbx, 2
cmp r14, 1
jle 0x140041673
test r12d, r12d
jne 0x140041699
mov byte [rbx], 0x3d
inc rbx
mov byte [rbx], 0x3d
inc rbx
jmp 0x140041699
movzx ecx, byte [rdx + r13]
mov byte [rbx], cl
inc rbx
test r14, r14
jle 0x14004168f
test r12d, r12d
jne 0x140041699
mov byte [rbx], 0x3d
inc rbx
jmp 0x140041699
movzx ecx, byte [r8 + r13]
mov byte [rbx], cl
inc rbx
cmp rsi, r9
jl 0x1400415d1
test r12d, r12d
je 0x1400419d3
mov rax, qword [rdi]
test rax, rax
je 0x1400416be
mov eax, dword [rax]
cmp eax, 1
jle 0x140041817
mov r9, qword [rdi + 0x10]
mov qword [rsp + 0x48], r9
mov rcx, qword [rdi]
test r9, r9
jne 0x1400416f8
mov qword [rdi], r9
mov qword [rdi + 8], r11
mov qword [rdi + 0x10], r9
test rcx, rcx
je 0x140041817
mov eax, r15d
lock xadd dword [rcx], eax
cmp eax, 1
jne 0x140041817
jmp 0x140041812
test rcx, rcx
je 0x140041762
lea rax, [rcx + 0x17]
and rax, 0xfffffffffffffff8
mov rdx, qword [rdi + 8]
sub rdx, rax
mov eax, dword [rcx]
cmp eax, 1
jg 0x14004175d
test rdx, rdx
jg 0x14004175d
mov dword [rsp + 0x28], 1
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x20], rax
mov r9d, 1
mov r8, qword [rdi + 8]
mov rdx, qword [rdi]
lea rcx, [rbp - 0x50]
call fcn.14010fd70
mov rcx, qword [rbp - 0x48]
test rcx, rcx
je 0x140041a1e
mov rax, qword [rbp - 0x50]
mov qword [rdi], rax
mov qword [rdi + 8], rcx
jmp 0x140041817
mov r9, qword [rsp + 0x48]
lea rax, [rdi + 0x10]
lea rcx, [rsp + 0x48]
cmp r9, qword [rax]
cmovge rcx, rax
mov r14, qword [rcx]
mov dword [rsp + 0x20], 1
mov edx, 1
lea r8d, [rdx + 7]
lea rcx, [rbp - 0x68]
call fcn.14010fc10
mov r12, rax
mov rsi, qword [rbp - 0x68]
mov qword [rsp + 0x70], rsi
mov qword [rsp + 0x78], rax
mov qword [rbp - 0x80], r14
test rax, rax
je 0x140041a18
test r14, r14
jle 0x1400417c1
mov r8, r14
mov rdx, qword [rdi + 8]
mov rcx, rax
call fcn.140240000
mov byte [r12 + r14], 0
test rsi, rsi
je 0x1400417d3
lock inc dword [rsi]
mov rsi, qword [rsp + 0x70]
mov rcx, qword [rdi]
mov qword [rdi], rsi
mov qword [rdi + 8], r12
mov qword [rdi + 0x10], r14
test rcx, rcx
je 0x1400417fc
mov eax, r15d
lock xadd dword [rcx], eax
cmp eax, 1
jne 0x1400417f7
call fcn.14021b810
mov rsi, qword [rsp + 0x70]
test rsi, rsi
je 0x140041817
mov eax, r15d
lock xadd dword [rsi], eax
cmp eax, 1
jne 0x140041817
mov rcx, qword [rsp + 0x70]
call fcn.14021b810
mov rcx, qword [rdi + 8]
sub rbx, rcx
cmp rbx, qword [rdi + 0x10]
jge 0x1400419d3
xor esi, esi
test rbx, rbx
cmovns rsi, rbx
mov rdx, qword [rdi]
test rdx, rdx
je 0x14004185b
mov r8, qword [rdx + 8]
lea rax, [rdx + 0x17]
and rax, 0xfffffffffffffff8
sub rcx, rax
sub r8, rcx
mov eax, dword [rdx]
cmp eax, 1
jg 0x14004185b
cmp rsi, r8
jle 0x1400419b8
mov r9, rsi
mov qword [rsp + 0x50], rsi
mov rcx, qword [rdi]
test rsi, rsi
jne 0x14004189a
mov qword [rdi], rsi
lea rax, [0x14024eca0]
mov qword [rdi + 8], rax
mov qword [rdi + 0x10], rsi
test rcx, rcx
je 0x1400419b8
lock xadd dword [rcx], r15d
cmp r15d, 1
jne 0x1400419b8
jmp 0x1400419b3
test rcx, rcx
je 0x140041904
lea rax, [rcx + 0x17]
and rax, 0xfffffffffffffff8
mov rdx, qword [rdi + 8]
sub rdx, rax
mov eax, dword [rcx]
cmp eax, 1
jg 0x1400418ff
test rdx, rdx
jg 0x1400418ff
mov dword [rsp + 0x28], 0
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x20], rax
mov r9d, 1
mov r8, qword [rdi + 8]
mov rdx, qword [rdi]
lea rcx, [rbp - 0x40]
call fcn.14010fd70
mov rcx, qword [rbp - 0x38]
test rcx, rcx
je 0x140041a1e
mov rax, qword [rbp - 0x40]
mov qword [rdi], rax
mov qword [rdi + 8], rcx
jmp 0x1400419b8
mov r9, qword [rsp + 0x50]
lea rax, [rdi + 0x10]
lea rcx, [rsp + 0x50]
cmp r9, qword [rax]
cmovge rcx, rax
mov r14, qword [rcx]
mov dword [rsp + 0x20], 0
mov edx, 1
lea r8d, [rdx + 7]
lea rcx, [rsp + 0x40]
call fcn.14010fc10
mov r12, rax
mov rbx, qword [rsp + 0x40]
mov qword [rbp - 0x10], rbx
mov qword [rbp - 8], rax
mov qword [rbp], r14
test rax, rax
je 0x140041a00
test r14, r14
jle 0x140041963
mov r8, r14
mov rdx, qword [rdi + 8]
mov rcx, rax
call fcn.140240000
mov byte [r12 + r14], 0
test rbx, rbx
je 0x140041975
lock inc dword [rbx]
mov rbx, qword [rsp + 0x40]
mov rcx, qword [rdi]
mov qword [rdi], rbx
mov qword [rdi + 8], r12
mov qword [rdi + 0x10], r14
test rcx, rcx
je 0x14004199e
mov eax, r15d
lock xadd dword [rcx], eax
cmp eax, 1
jne 0x140041999
call fcn.14021b810
mov rbx, qword [rsp + 0x40]
test rbx, rbx
je 0x1400419b8
lock xadd dword [rbx], r15d
cmp r15d, 1
jne 0x1400419b8
mov rcx, qword [rsp + 0x40]
call fcn.14021b810
mov qword [rdi + 0x10], rsi
mov rax, qword [rdi]
test rax, rax
je 0x1400419d3
cmp qword [rax + 8], 0
je 0x1400419d3
mov rcx, qword [rdi + 8]
mov byte [rsi + rcx], 0
mov rax, rdi
mov rcx, qword [rbp + 0xb0]
xor rcx, rsp
call fcn.140214340
mov rbx, qword [rsp + 0x210]
add rsp, 0x1c0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.14010b060
nop
call fcn.14010b060
nop
call fcn.14010b060
nop
call fcn.14010b060
nop
call fcn.14010b060
nop
call fcn.14010b060
int3