Function at 0x14000c090
Capabilities:
Encode data using base64

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xd8
mov rax, qword [rdx]
mov rsi, qword [rdx + 8]
mov qword [rsp + 0x120], rcx
mov qword [rsp + 0x38], rax
mov qword [rsp + 0xb0], 0
mov qword [rsp + 0xb8], 0
test rax, rax
je 0x14000d867
mov rcx, rax
call fcn.14000c06a
mov rcx, qword [0x140286690]
mov r12, rax
call fcn.1400117a0
cmp byte [rax], 0
mov rbp, rax
jne 0x14000d867
test r12, r12
jns 0x14000c114
movabs r8, 0x7fffffffffffffff
xor edx, edx
mov rcx, r12
jmp 0x14000d7f6
lea rcx, [rsp + 0xb0]
mov rdx, r12
call fcn.140004a06
mov rax, qword [rsp + 0x38]
movabs r8, 0x2000000100002400
mov rcx, rax
mov qword [rsp + 0x78], rax
sub rcx, 1
mov rax, rcx
jno 0x14000c14e
call fcn.14000377a
jmp 0x14000d867
cmp rcx, qword [rsp + 0x38]
jge 0x14000c15a
test rcx, rcx
jns 0x14000c164
mov rdx, qword [rsp + 0x38]
jmp 0x14000cbb6
mov cl, byte [rcx + rsi + 8]
cmp cl, 0x3d
ja 0x14000c178
mov rdx, r8
shr rdx, cl
and dl, 1
jne 0x14000c133
mov rax, qword [rsp + 0x78]
sub rax, 4
seto r12b
mov qword [rsp + 0x88], rax
movzx r12d, r12b
jo 0x14000c144
mov qword [rsp + 0x40], 0
cmp qword [rsp + 0x88], r12
jge 0x14000c1fd
mov rax, r12
sub rax, qword [rsp + 0x78]
jo 0x14000c144
mov ecx, 4
cqo
idiv rcx
mov rax, rdx
sar rax, 0x3f
xor rdx, rax
sub rdx, rax
cmp rdx, 2
je 0x14000cc00
jmp 0x14000cbf1
test r12, r12
js 0x14000d50a
movzx ecx, byte [rsi + r12 + 8]
cmp cl, 0x20
ja 0x14000c209
mov eax, 0x400009
shl rax, 0xa
shr rax, cl
test al, 1
je 0x14000c209
inc r12
cmp r12, qword [rsp + 0x38]
jl 0x14000c1d6
jmp 0x14000d50a
lea rax, [0x14001a020]
mov al, byte [rax + rcx]
mov byte [rsp + 0x4f], al
inc al
jne 0x14000c3eb
mov edx, 8
mov ecx, 0x40
lea r13, [rsp + 0xa0]
call fcn.140004c1e
mov rcx, r13
mov rdi, rax
mov rax, qword [0x1402865c0]
mov qword [rdi], rax
lea rax, [0x140019f80]
mov qword [rdi + 0x10], rax
movzx edx, byte [rsi + r12 + 8]
mov qword [rsp + 0xc0], 0
mov qword [rsp + 0xc8], 0
call fcn.140001d20
mov rax, qword [rsp + 0xa0]
cmp byte [rbp], 0
mov r15, qword [rsp + 0xa8]
mov qword [rsp + 0x50], rax
jne 0x14000c417
mov rdx, r12
mov rcx, r13
call fcn.140001d20
cmp byte [rbp], 0
mov rax, qword [rsp + 0xa0]
mov rbx, qword [rsp + 0xa8]
jne 0x14000c3d7
mov rcx, qword [rsp + 0x50]
lea r14, [rsp + 0xc0]
mov qword [rsp + 0x58], rax
lea rdx, [rcx + rax + 0x38]
mov rcx, r13
call fcn.140004a9f
movups xmm0, xmmword [rsp + 0xa0]
mov rdx, r13
mov rcx, r14
movups xmm1, xmmword [0x14001a190]
movups xmmword [rsp + 0xc0], xmm0
movups xmmword [rsp + 0xa0], xmm1
call fcn.14000c008
movsx edx, byte [rsi + r12 + 8]
mov rcx, r14
call fcn.14000bfd0
movups xmm2, xmmword [0x14001a170]
mov rdx, r13
mov rcx, r14
movups xmmword [rsp + 0xa0], xmm2
call fcn.14000c008
mov rax, qword [rsp + 0x50]
mov rdx, r13
mov rcx, r14
mov qword [rsp + 0xa8], r15
mov qword [rsp + 0xa0], rax
call fcn.14000c008
movups xmm3, xmmword [0x14001a140]
mov rdx, r13
mov rcx, r14
movups xmmword [rsp + 0xa0], xmm3
call fcn.14000c008
mov rax, qword [rsp + 0x58]
mov rdx, r13
mov rcx, r14
mov qword [rsp + 0xa8], rbx
mov qword [rsp + 0xa0], rax
call fcn.14000c008
movups xmm4, xmmword [0x14001a120]
mov rdx, r13
mov rcx, r14
movups xmmword [rsp + 0xa0], xmm4
call fcn.14000c008
movups xmm5, xmmword [rsp + 0xc0]
mov rcx, rdi
mov qword [rdi + 8], 0
lea r9, str.base64.nim
lea r8, str.decode
movups xmmword [rdi + 0x18], xmm5
lea rdx, [0x140019f80]
mov qword [rsp + 0x20], 0xee
call fcn.140003dce
test rbx, rbx
jne 0x14000c407
test r15, r15
jne 0x14000c420
cmp byte [rbp], 0
jne 0x14000d867
lea r13, [r12 + 1]
cmp r13, qword [rsp + 0x38]
jl 0x14000c431
mov rdx, qword [rsp + 0x38]
mov rcx, r13
dec rdx
jmp 0x14000cb07
test byte [rbx + 7], 0x40
jne 0x14000c3dc
mov rcx, rbx
call fcn.14000368a
jmp 0x14000c3dc
test r15, r15
je 0x14000d867
test byte [r15 + 7], 0x40
jne 0x14000c3e1
mov rcx, r15
call fcn.14000368a
jmp 0x14000c3e1
movzx eax, byte [r13 + rsi + 8]
lea rdx, [0x14001a020]
movzx eax, byte [rdx + rax]
mov byte [rsp + 0x50], al
mov qword [rsp + 0x68], rax
cmp rax, 0xff
je 0x14000c476
mov r12, r13
inc r12
js 0x14000c144
cmp r12, r13
jb 0x14000c144
test r12, r12
jns 0x14000c66a
jmp 0x14000d50a
mov edx, 8
mov ecx, 0x40
lea r12, [rsp + 0xa0]
call fcn.140004c1e
mov rcx, r12
mov rdi, rax
mov rax, qword [0x1402865c0]
mov qword [rdi], rax
lea rax, [0x140019f80]
mov qword [rdi + 0x10], rax
movzx edx, byte [rsi + r13 + 8]
mov qword [rsp + 0xc0], 0
mov qword [rsp + 0xc8], 0
call fcn.140001d20
cmp byte [rbp], 0
mov rbx, qword [rsp + 0xa0]
mov r15, qword [rsp + 0xa8]
jne 0x14000d85e
mov rdx, r13
mov rcx, r12
call fcn.140001d20
cmp byte [rbp], 0
mov rax, qword [rsp + 0xa0]
mov r10, qword [rsp + 0xa8]
jne 0x14000c633
lea rdx, [rbx + rax + 0x38]
mov rcx, r12
mov qword [rsp + 0x60], r10
lea r14, [rsp + 0xc0]
mov qword [rsp + 0x58], rax
call fcn.140004a9f
movups xmm0, xmmword [rsp + 0xa0]
mov rdx, r12
mov rcx, r14
movups xmm1, xmmword [0x14001a190]
movups xmmword [rsp + 0xc0], xmm0
movups xmmword [rsp + 0xa0], xmm1
call fcn.14000c008
movsx edx, byte [rsi + r13 + 8]
mov rcx, r14
call fcn.14000bfd0
movups xmm2, xmmword [0x14001a170]
mov rdx, r12
mov rcx, r14
movups xmmword [rsp + 0xa0], xmm2
call fcn.14000c008
mov rdx, r12
mov rcx, r14
mov qword [rsp + 0xa0], rbx
mov qword [rsp + 0xa8], r15
call fcn.14000c008
movups xmm3, xmmword [0x14001a140]
mov rdx, r12
mov rcx, r14
movups xmmword [rsp + 0xa0], xmm3
call fcn.14000c008
mov r10, qword [rsp + 0x60]
mov rdx, r12
mov rcx, r14
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0xa8], r10
mov qword [rsp + 0x58], r10
mov qword [rsp + 0xa0], rax
call fcn.14000c008
movups xmm4, xmmword [0x14001a120]
mov rdx, r12
mov rcx, r14
movups xmmword [rsp + 0xa0], xmm4
call fcn.14000c008
movups xmm5, xmmword [rsp + 0xc0]
mov rcx, rdi
mov qword [rdi + 8], 0
lea r9, str.base64.nim
lea r8, str.decode
movups xmmword [rdi + 0x18], xmm5
lea rdx, [0x140019f80]
mov qword [rsp + 0x20], 0xee
call fcn.140003dce
mov r10, qword [rsp + 0x58]
test r10, r10
je 0x14000c647
test byte [r10 + 7], 0x40
jne 0x14000c647
mov rcx, r10
call fcn.14000368a
test r15, r15
je 0x14000c65b
test byte [r15 + 7], 0x40
jne 0x14000c65b
mov rcx, r15
call fcn.14000368a
cmp byte [rbp], 0
je 0x14000c453
jmp 0x14000d867
cmp r12, qword [rsp + 0x38]
jge 0x14000d50a
movzx eax, byte [r12 + rsi + 8]
lea rdx, [0x14001a020]
movzx eax, byte [rdx + rax]
mov byte [rsp + 0x58], al
mov qword [rsp + 0x70], rax
cmp rax, 0xff
je 0x14000c6ac
lea r15, [r12 + 1]
cmp r15, qword [rsp + 0x38]
jl 0x14000c8a6
jmp 0x14000d2c2
mov edx, 8
mov ecx, 0x40
lea r13, [rsp + 0xa0]
call fcn.140004c1e
mov rcx, r13
mov rdi, rax
mov rax, qword [0x1402865c0]
mov qword [rdi], rax
lea rax, [0x140019f80]
mov qword [rdi + 0x10], rax
movzx edx, byte [rsi + r12 + 8]
mov qword [rsp + 0xc0], 0
mov qword [rsp + 0xc8], 0
call fcn.140001d20
cmp byte [rbp], 0
mov rbx, qword [rsp + 0xa0]
mov r15, qword [rsp + 0xa8]
jne 0x14000d853
mov rdx, r12
mov rcx, r13
call fcn.140001d20
cmp byte [rbp], 0
mov rax, qword [rsp + 0xa0]
mov r10, qword [rsp + 0xa8]
jne 0x14000c86f
lea rdx, [rbx + rax + 0x38]
mov rcx, r13
mov qword [rsp + 0x80], r10
lea r14, [rsp + 0xc0]
mov qword [rsp + 0x60], rax
call fcn.140004a9f
movups xmm0, xmmword [rsp + 0xa0]
mov rdx, r13
mov rcx, r14
movups xmm1, xmmword [0x14001a190]
movups xmmword [rsp + 0xc0], xmm0
movups xmmword [rsp + 0xa0], xmm1
call fcn.14000c008
movsx edx, byte [rsi + r12 + 8]
mov rcx, r14
call fcn.14000bfd0
movups xmm2, xmmword [0x14001a170]
mov rdx, r13
mov rcx, r14
movups xmmword [rsp + 0xa0], xmm2
call fcn.14000c008
mov rdx, r13
mov rcx, r14
mov qword [rsp + 0xa0], rbx
mov qword [rsp + 0xa8], r15
call fcn.14000c008
movups xmm3, xmmword [0x14001a140]
mov rdx, r13
mov rcx, r14
movups xmmword [rsp + 0xa0], xmm3
call fcn.14000c008
mov rax, qword [rsp + 0x60]
mov rdx, r13
mov rcx, r14
mov r10, qword [rsp + 0x80]
mov qword [rsp + 0xa0], rax
mov qword [rsp + 0xa8], r10
mov qword [rsp + 0x60], r10
call fcn.14000c008
movups xmm4, xmmword [0x14001a120]
mov rdx, r13
mov rcx, r14
movups xmmword [rsp + 0xa0], xmm4
call fcn.14000c008
movups xmm5, xmmword [rsp + 0xc0]
mov rcx, rdi
mov qword [rdi + 8], 0
lea r9, str.base64.nim
lea r8, str.decode
movups xmmword [rdi + 0x18], xmm5
lea rdx, [0x140019f80]
mov qword [rsp + 0x20], 0xee
call fcn.140003dce
mov r10, qword [rsp + 0x60]
test r10, r10
je 0x14000c883
test byte [r10 + 7], 0x40
jne 0x14000c883
mov rcx, r10
call fcn.14000368a
test r15, r15
je 0x14000c897
test byte [r15 + 7], 0x40
jne 0x14000c897
mov rcx, r15
call fcn.14000368a
cmp byte [rbp], 0
je 0x14000c697
jmp 0x14000d867
movzx eax, byte [r15 + rsi + 8]
lea rdx, [0x14001a020]
mov al, byte [rdx + rax]
mov byte [rsp + 0x60], al
inc al
je 0x14000c8db
add r12, 2
cmp qword [rsp + 0x40], 0
mov rdx, qword [rsp + 0xb0]
jns 0x14000caf8
jmp 0x14000caff
mov edx, 8
mov ecx, 0x40
lea r13, [rsp + 0xa0]
call fcn.140004c1e
mov rcx, r13
mov rdi, rax
mov rax, qword [0x1402865c0]
mov qword [rdi], rax
lea rax, [0x140019f80]
mov qword [rdi + 0x10], rax
movzx edx, byte [rsi + r15 + 8]
mov qword [rsp + 0xc0], 0
mov qword [rsp + 0xc8], 0
call fcn.140001d20
mov rax, qword [rsp + 0xa0]
cmp byte [rbp], 0
mov rbx, qword [rsp + 0xa8]
mov qword [rsp + 0x80], rax
jne 0x14000d848
mov rdx, r15
mov rcx, r13
call fcn.140001d20
cmp byte [rbp], 0
mov rax, qword [rsp + 0xa0]
mov r10, qword [rsp + 0xa8]
jne 0x14000cac2
mov rcx, qword [rsp + 0x80]
mov qword [rsp + 0x98], r10
lea r14, [rsp + 0xc0]
mov qword [rsp + 0x90], rax
lea rdx, [rcx + rax + 0x38]
mov rcx, r13
call fcn.140004a9f
movups xmm0, xmmword [rsp + 0xa0]
mov rdx, r13
mov rcx, r14
movups xmm1, xmmword [0x14001a190]
movups xmmword [rsp + 0xc0], xmm0
movups xmmword [rsp + 0xa0], xmm1
call fcn.14000c008
movsx edx, byte [rsi + r15 + 8]
mov rcx, r14
call fcn.14000bfd0
movups xmm2, xmmword [0x14001a170]
mov rdx, r13
mov rcx, r14
movups xmmword [rsp + 0xa0], xmm2
call fcn.14000c008
mov rax, qword [rsp + 0x80]
mov rdx, r13
mov rcx, r14
mov qword [rsp + 0xa8], rbx
mov qword [rsp + 0xa0], rax
call fcn.14000c008
movups xmm3, xmmword [0x14001a140]
mov rdx, r13
mov rcx, r14
movups xmmword [rsp + 0xa0], xmm3
call fcn.14000c008
mov r10, qword [rsp + 0x98]
mov rdx, r13
mov rcx, r14
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0xa8], r10
mov qword [rsp + 0x80], r10
mov qword [rsp + 0xa0], rax
call fcn.14000c008
movups xmm4, xmmword [0x14001a120]
mov rdx, r13
mov rcx, r14
movups xmmword [rsp + 0xa0], xmm4
call fcn.14000c008
movups xmm5, xmmword [rsp + 0xc0]
mov rcx, rdi
mov qword [rdi + 8], 0
lea r9, str.base64.nim
lea r8, str.decode
movups xmmword [rdi + 0x18], xmm5
lea rdx, [0x140019f80]
mov qword [rsp + 0x20], 0xee
call fcn.140003dce
mov r10, qword [rsp + 0x80]
test r10, r10
je 0x14000cad6
test byte [r10 + 7], 0x40
jne 0x14000cad6
mov rcx, r10
call fcn.14000368a
test rbx, rbx
je 0x14000cae9
test byte [rbx + 7], 0x40
jne 0x14000cae9
mov rcx, rbx
call fcn.14000368a
cmp byte [rbp], 0
je 0x14000c8be
jmp 0x14000d867
cmp qword [rsp + 0x40], rdx
jl 0x14000cb11
mov rcx, qword [rsp + 0x40]
dec rdx
call fcn.140004d6a
jmp 0x14000d867
lea r13, [rsp + 0xb0]
mov rcx, r13
call fcn.14000bff3
mov al, byte [rsp + 0x4f]
mov rdx, qword [rsp + 0x68]
mov rdi, qword [rsp + 0x40]
sar rdx, 4
shl eax, 2
or eax, edx
mov rbx, rdi
mov rdx, qword [rsp + 0xb8]
add rbx, 1
mov byte [rdx + rdi + 8], al
mov rcx, rbx
jo 0x14000c144
mov rdx, qword [rsp + 0xb0]
test rbx, rbx
js 0x14000cbad
cmp rbx, rdx
jge 0x14000cbb6
mov rcx, r13
call fcn.14000bff3
mov al, byte [rsp + 0x50]
mov rdx, qword [rsp + 0x70]
shl eax, 4
sar rdx, 2
or eax, edx
mov rdx, qword [rsp + 0xb8]
mov byte [rdx + rbx + 8], al
add rbx, 1
mov rcx, rbx
jo 0x14000c144
mov rdx, qword [rsp + 0xb0]
test rbx, rbx
js 0x14000cbad
cmp rbx, rdx
jl 0x14000cbbe
jmp 0x14000cbb6
mov ecx, 1
shl rcx, 0x3f
dec rdx
jmp 0x14000cb07
mov rcx, r13
call fcn.14000bff3
mov al, byte [rsp + 0x58]
mov rdx, qword [rsp + 0xb8]
shl eax, 6
or eax, dword [rsp + 0x60]
mov byte [rdx + rbx + 8], al
add rbx, 1
mov qword [rsp + 0x40], rbx
jno 0x14000c19c
jmp 0x14000c144
cmp rdx, 3
jne 0x14000d7dd
jmp 0x14000d09c
cmp r12, qword [rsp + 0x38]
jge 0x14000d50a
movzx eax, byte [r12 + rsi + 8]
lea rdx, [0x14001a020]
mov al, byte [rdx + rax]
mov byte [rsp + 0x4f], al
inc al
je 0x14000cc36
inc r12
cmp qword [rsp + 0x38], r12
jg 0x14000ce24
jmp 0x14000d50a
mov edx, 8
mov ecx, 0x40
lea r13, [rsp + 0xa0]
call fcn.140004c1e
mov rcx, r13
mov rdi, rax
mov rax, qword [0x1402865c0]
mov qword [rdi], rax
lea rax, [0x140019f80]
mov qword [rdi + 0x10], rax
movzx edx, byte [r12 + rsi + 8]
mov qword [rsp + 0xc0], 0
mov qword [rsp + 0xc8], 0
call fcn.140001d20
mov rax, qword [rsp + 0xa0]
cmp byte [rbp], 0
mov r15, qword [rsp + 0xa8]
mov qword [rsp + 0x50], rax
jne 0x14000d83d
mov rdx, r12
mov rcx, r13
call fcn.140001d20
cmp byte [rbp], 0
mov rax, qword [rsp + 0xa0]
mov rbx, qword [rsp + 0xa8]
jne 0x14000cdee
mov rcx, qword [rsp + 0x50]
lea r14, [rsp + 0xc0]
mov qword [rsp + 0x58], rax
lea rdx, [rcx + rax + 0x38]
mov rcx, r13
call fcn.140004a9f
movups xmm0, xmmword [rsp + 0xa0]
mov rdx, r13
mov rcx, r14
movups xmm1, xmmword [0x14001a190]
movups xmmword [rsp + 0xc0], xmm0
movups xmmword [rsp + 0xa0], xmm1
call fcn.14000c008
movsx edx, byte [r12 + rsi + 8]
mov rcx, r14
call fcn.14000bfd0
movups xmm2, xmmword [0x14001a170]
mov rdx, r13
mov rcx, r14
movups xmmword [rsp + 0xa0], xmm2
call fcn.14000c008
mov rax, qword [rsp + 0x50]
mov rdx, r13
mov rcx, r14
mov qword [rsp + 0xa8], r15
mov qword [rsp + 0xa0], rax
call fcn.14000c008
movups xmm3, xmmword [0x14001a140]
mov rdx, r13
mov rcx, r14
movups xmmword [rsp + 0xa0], xmm3
call fcn.14000c008
mov rax, qword [rsp + 0x58]
mov rdx, r13
mov rcx, r14
mov qword [rsp + 0xa8], rbx
mov qword [rsp + 0xa0], rax
call fcn.14000c008
movups xmm4, xmmword [0x14001a120]
mov rdx, r13
mov rcx, r14
movups xmmword [rsp + 0xa0], xmm4
call fcn.14000c008
movups xmm5, xmmword [rsp + 0xc0]
mov rcx, rdi
mov qword [rdi + 8], 0
lea r9, str.base64.nim
lea r8, str.decode
movups xmmword [rdi + 0x18], xmm5
lea rdx, [0x140019f80]
mov qword [rsp + 0x20], 0xee
call fcn.140003dce
test rbx, rbx
je 0x14000ce01
test byte [rbx + 7], 0x40
jne 0x14000ce01
mov rcx, rbx
call fcn.14000368a
test r15, r15
je 0x14000ce15
test byte [r15 + 7], 0x40
jne 0x14000ce15
mov rcx, r15
call fcn.14000368a
cmp byte [rbp], 0
je 0x14000cc23
jmp 0x14000d867
movzx eax, byte [r12 + rsi + 8]
lea rdx, [0x14001a020]
movzx eax, byte [rdx + rax]
mov qword [rsp + 0x38], rax
cmp rax, 0xff
je 0x14000ce5b
cmp qword [rsp + 0x40], 0
mov rdx, qword [rsp + 0xb0]
jns 0x14000d049
jmp 0x14000caff
mov edx, 8
mov ecx, 0x40
lea r13, [rsp + 0xa0]
call fcn.140004c1e
mov rcx, r13
mov rbx, rax
mov rax, qword [0x1402865c0]
mov qword [rbx], rax
lea rax, [0x140019f80]
mov qword [rbx + 0x10], rax
movzx edx, byte [r12 + rsi + 8]
mov qword [rsp + 0xc0], 0
mov qword [rsp + 0xc8], 0
call fcn.140001d20
mov rax, qword [rsp + 0xa0]
cmp byte [rbp], 0
mov r15, qword [rsp + 0xa8]
mov qword [rsp + 0x50], rax
jne 0x14000d832
mov rdx, r12
mov rcx, r13
call fcn.140001d20
cmp byte [rbp], 0
mov rax, qword [rsp + 0xa0]
mov rdi, qword [rsp + 0xa8]
jne 0x14000d013
mov rcx, qword [rsp + 0x50]
lea r14, [rsp + 0xc0]
mov qword [rsp + 0x58], rax
lea rdx, [rcx + rax + 0x38]
mov rcx, r13
call fcn.140004a9f
movups xmm0, xmmword [rsp + 0xa0]
mov rdx, r13
mov rcx, r14
movups xmm1, xmmword [0x14001a190]
movups xmmword [rsp + 0xc0], xmm0
movups xmmword [rsp + 0xa0], xmm1
call fcn.14000c008
movsx edx, byte [r12 + rsi + 8]
mov rcx, r14
call fcn.14000bfd0
movups xmm2, xmmword [0x14001a170]
mov rdx, r13
mov rcx, r14
movups xmmword [rsp + 0xa0], xmm2
call fcn.14000c008
mov rax, qword [rsp + 0x50]
mov rdx, r13
mov rcx, r14
mov qword [rsp + 0xa8], r15
mov qword [rsp + 0xa0], rax
call fcn.14000c008
movups xmm3, xmmword [0x14001a140]
mov rdx, r13
mov rcx, r14
movups xmmword [rsp + 0xa0], xmm3
call fcn.14000c008
mov rax, qword [rsp + 0x58]
mov rdx, r13
mov rcx, r14
mov qword [rsp + 0xa8], rdi
mov qword [rsp + 0xa0], rax
call fcn.14000c008
movups xmm4, xmmword [0x14001a120]
mov rdx, r13
mov rcx, r14
movups xmmword [rsp + 0xa0], xmm4
call fcn.14000c008
movups xmm5, xmmword [rsp + 0xc0]
mov rcx, rbx
mov qword [rbx + 8], 0
lea r9, str.base64.nim
lea r8, str.decode
movups xmmword [rbx + 0x18], xmm5
lea rdx, [0x140019f80]
mov qword [rsp + 0x20], 0xee
call fcn.140003dce
test rdi, rdi
je 0x14000d026
test byte [rdi + 7], 0x40
jne 0x14000d026
mov rcx, rdi
call fcn.14000368a
test r15, r15
je 0x14000d03a
test byte [r15 + 7], 0x40
jne 0x14000d03a
mov rcx, r15
call fcn.14000368a
cmp byte [rbp], 0
je 0x14000ce42
jmp 0x14000d867
cmp rdx, qword [rsp + 0x40]
jle 0x14000caff
lea rcx, [rsp + 0xb0]
call fcn.14000bff3
mov bl, byte [rsp + 0x4f]
mov rsi, qword [rsp + 0x38]
mov rax, qword [rsp + 0xb8]
mov rdi, qword [rsp + 0x40]
shl ebx, 2
sar rsi, 4
or esi, ebx
mov byte [rax + rdi + 8], sil
mov rax, rdi
add rax, 1
jo 0x14000c144
mov qword [rsp + 0x40], rax
jmp 0x14000d7dd
cmp r12, qword [rsp + 0x38]
jge 0x14000d50a
movzx eax, byte [r12 + rsi + 8]
lea rdx, [0x14001a020]
mov al, byte [rdx + rax]
mov byte [rsp + 0x4f], al
inc al
je 0x14000d0d4
lea r15, [r12 + 1]
cmp qword [rsp + 0x38], r15
jg 0x14000d2d2
jmp 0x14000d2c2
mov edx, 8
mov ecx, 0x40
lea r13, [rsp + 0xa0]
call fcn.140004c1e
mov rcx, r13
mov rdi, rax
mov rax, qword [0x1402865c0]
mov qword [rdi], rax
lea rax, [0x140019f80]
mov qword [rdi + 0x10], rax
movzx edx, byte [r12 + rsi + 8]
mov qword [rsp + 0xc0], 0
mov qword [rsp + 0xc8], 0
call fcn.140001d20
mov rax, qword [rsp + 0xa0]
cmp byte [rbp], 0
mov r15, qword [rsp + 0xa8]
mov qword [rsp + 0x50], rax
jne 0x14000d827
mov rdx, r12
mov rcx, r13
call fcn.140001d20
cmp byte [rbp], 0
mov rax, qword [rsp + 0xa0]
mov rbx, qword [rsp + 0xa8]
jne 0x14000d28c
mov rcx, qword [rsp + 0x50]
lea r14, [rsp + 0xc0]
mov qword [rsp + 0x58], rax
lea rdx, [rcx + rax + 0x38]
mov rcx, r13
call fcn.140004a9f
movups xmm0, xmmword [rsp + 0xa0]
mov rdx, r13
mov rcx, r14
movups xmm1, xmmword [0x14001a190]
movups xmmword [rsp + 0xc0], xmm0
movups xmmword [rsp + 0xa0], xmm1
call fcn.14000c008
movsx edx, byte [r12 + rsi + 8]
mov rcx, r14
call fcn.14000bfd0
movups xmm2, xmmword [0x14001a170]
mov rdx, r13
mov rcx, r14
movups xmmword [rsp + 0xa0], xmm2
call fcn.14000c008
mov rax, qword [rsp + 0x50]
mov rdx, r13
mov rcx, r14
mov qword [rsp + 0xa8], r15
mov qword [rsp + 0xa0], rax
call fcn.14000c008
movups xmm3, xmmword [0x14001a140]
mov rdx, r13
mov rcx, r14
movups xmmword [rsp + 0xa0], xmm3
call fcn.14000c008
mov rax, qword [rsp + 0x58]
mov rdx, r13
mov rcx, r14
mov qword [rsp + 0xa8], rbx
mov qword [rsp + 0xa0], rax
call fcn.14000c008
movups xmm4, xmmword [0x14001a120]
mov rdx, r13
mov rcx, r14
movups xmmword [rsp + 0xa0], xmm4
call fcn.14000c008
movups xmm5, xmmword [rsp + 0xc0]
mov rcx, rdi
mov qword [rdi + 8], 0
lea r9, str.base64.nim
lea r8, str.decode
movups xmmword [rdi + 0x18], xmm5
lea rdx, [0x140019f80]
mov qword [rsp + 0x20], 0xee
call fcn.140003dce
test rbx, rbx
je 0x14000d29f
test byte [rbx + 7], 0x40
jne 0x14000d29f
mov rcx, rbx
call fcn.14000368a
test r15, r15
je 0x14000d2b3
test byte [r15 + 7], 0x40
jne 0x14000d2b3
mov rcx, r15
call fcn.14000368a
cmp byte [rbp], 0
je 0x14000d0bf
jmp 0x14000d867
mov rdx, qword [rsp + 0x38]
mov rcx, r15
dec rdx
jmp 0x14000cb07
movzx eax, byte [r15 + rsi + 8]
lea rdx, [0x14001a020]
movzx eax, byte [rdx + rax]
mov byte [rsp + 0x50], al
mov qword [rsp + 0x58], rax
cmp rax, 0xff
je 0x14000d308
add r12, 2
cmp r12, qword [rsp + 0x38]
jl 0x14000d514
jmp 0x14000d50a
mov edx, 8
mov ecx, 0x40
lea r13, [rsp + 0xa0]
call fcn.140004c1e
mov rcx, r13
mov rdi, rax
mov rax, qword [0x1402865c0]
mov qword [rdi], rax
lea rax, [0x140019f80]
mov qword [rdi + 0x10], rax
movzx edx, byte [r15 + rsi + 8]
mov qword [rsp + 0xc0], 0
mov qword [rsp + 0xc8], 0
call fcn.140001d20
mov rax, qword [rsp + 0xa0]
cmp byte [rbp], 0
mov rbx, qword [rsp + 0xa8]
mov qword [rsp + 0x60], rax
jne 0x14000d81c
mov rdx, r15
mov rcx, r13
call fcn.140001d20
cmp byte [rbp], 0
mov rax, qword [rsp + 0xa0]
mov r11, qword [rsp + 0xa8]
jne 0x14000d4d4
mov rcx, qword [rsp + 0x60]
mov qword [rsp + 0x70], r11
lea r14, [rsp + 0xc0]
mov qword [rsp + 0x68], rax
lea rdx, [rcx + rax + 0x38]
mov rcx, r13
call fcn.140004a9f
movups xmm0, xmmword [rsp + 0xa0]
mov rdx, r13
mov rcx, r14
movups xmm1, xmmword [0x14001a190]
movups xmmword [rsp + 0xc0], xmm0
movups xmmword [rsp + 0xa0], xmm1
call fcn.14000c008
movsx edx, byte [r15 + rsi + 8]
mov rcx, r14
call fcn.14000bfd0
movups xmm2, xmmword [0x14001a170]
mov rdx, r13
mov rcx, r14
movups xmmword [rsp + 0xa0], xmm2
call fcn.14000c008
mov rax, qword [rsp + 0x60]
mov rdx, r13
mov rcx, r14
mov qword [rsp + 0xa8], rbx
mov qword [rsp + 0xa0], rax
call fcn.14000c008
movups xmm3, xmmword [0x14001a140]
mov rdx, r13
mov rcx, r14
movups xmmword [rsp + 0xa0], xmm3
call fcn.14000c008
mov r11, qword [rsp + 0x70]
mov rdx, r13
mov rcx, r14
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0xa8], r11
mov qword [rsp + 0x60], r11
mov qword [rsp + 0xa0], rax
call fcn.14000c008
movups xmm4, xmmword [0x14001a120]
mov rdx, r13
mov rcx, r14
movups xmmword [rsp + 0xa0], xmm4
call fcn.14000c008
movups xmm5, xmmword [rsp + 0xc0]
mov rcx, rdi
mov qword [rdi + 8], 0
lea r9, str.base64.nim
lea r8, str.decode
movups xmmword [rdi + 0x18], xmm5
lea rdx, [0x140019f80]
mov qword [rsp + 0x20], 0xee
call fcn.140003dce
mov r11, qword [rsp + 0x60]
test r11, r11
je 0x14000d4e8
test byte [r11 + 7], 0x40
jne 0x14000d4e8
mov rcx, r11
call fcn.14000368a
test rbx, rbx
je 0x14000d4fb
test byte [rbx + 7], 0x40
jne 0x14000d4fb
mov rcx, rbx
call fcn.14000368a
cmp byte [rbp], 0
je 0x14000d2f4
jmp 0x14000d867
mov rdx, qword [rsp + 0x38]
jmp 0x14000d79c
movzx eax, byte [r12 + rsi + 8]
lea rdx, [0x14001a020]
movzx eax, byte [rdx + rax]
mov qword [rsp + 0x38], rax
cmp rax, 0xff
je 0x14000d54b
cmp qword [rsp + 0x40], 0
mov rdx, qword [rsp + 0xb0]
jns 0x14000d73f
jmp 0x14000caff
mov edx, 8
mov ecx, 0x40
lea r13, [rsp + 0xa0]
call fcn.140004c1e
mov rcx, r13
mov rbx, rax
mov rax, qword [0x1402865c0]
mov qword [rbx], rax
lea rax, [0x140019f80]
mov qword [rbx + 0x10], rax
movzx edx, byte [r12 + rsi + 8]
mov qword [rsp + 0xc0], 0
mov qword [rsp + 0xc8], 0
call fcn.140001d20
cmp byte [rbp], 0
mov rdi, qword [rsp + 0xa0]
mov r15, qword [rsp + 0xa8]
jne 0x14000d811
mov rdx, r12
mov rcx, r13
call fcn.140001d20
cmp byte [rbp], 0
mov rax, qword [rsp + 0xa0]
mov r10, qword [rsp + 0xa8]
jne 0x14000d708
lea rdx, [rdi + rax + 0x38]
mov rcx, r13
mov qword [rsp + 0x68], r10
lea r14, [rsp + 0xc0]
mov qword [rsp + 0x60], rax
call fcn.140004a9f
movups xmm0, xmmword [rsp + 0xa0]
mov rdx, r13
mov rcx, r14
movups xmm1, xmmword [0x14001a190]
movups xmmword [rsp + 0xc0], xmm0
movups xmmword [rsp + 0xa0], xmm1
call fcn.14000c008
movsx edx, byte [r12 + rsi + 8]
mov rcx, r14
call fcn.14000bfd0
movups xmm2, xmmword [0x14001a170]
mov rdx, r13
mov rcx, r14
movups xmmword [rsp + 0xa0], xmm2
call fcn.14000c008
mov rdx, r13
mov rcx, r14
mov qword [rsp + 0xa0], rdi
mov qword [rsp + 0xa8], r15
call fcn.14000c008
movups xmm3, xmmword [0x14001a140]
mov rdx, r13
mov rcx, r14
movups xmmword [rsp + 0xa0], xmm3
call fcn.14000c008
mov r10, qword [rsp + 0x68]
mov rdx, r13
mov rcx, r14
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0xa8], r10
mov qword [rsp + 0x60], r10
mov qword [rsp + 0xa0], rax
call fcn.14000c008
movups xmm4, xmmword [0x14001a120]
mov rdx, r13
mov rcx, r14
movups xmmword [rsp + 0xa0], xmm4
call fcn.14000c008
movups xmm5, xmmword [rsp + 0xc0]
mov rcx, rbx
mov qword [rbx + 8], 0
lea r9, str.base64.nim
lea r8, str.decode
movups xmmword [rbx + 0x18], xmm5
lea rdx, [0x140019f80]
mov qword [rsp + 0x20], 0xee
call fcn.140003dce
mov r10, qword [rsp + 0x60]
test r10, r10
je 0x14000d71c
test byte [r10 + 7], 0x40
jne 0x14000d71c
mov rcx, r10
call fcn.14000368a
test r15, r15
je 0x14000d730
test byte [r15 + 7], 0x40
jne 0x14000d730
mov rcx, r15
call fcn.14000368a
cmp byte [rbp], 0
je 0x14000d532
jmp 0x14000d867
cmp rdx, qword [rsp + 0x40]
jle 0x14000caff
lea r13, [rsp + 0xb0]
mov rcx, r13
call fcn.14000bff3
mov al, byte [rsp + 0x4f]
mov rdx, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x40]
sar rdx, 4
shl eax, 2
or eax, edx
mov r12, rsi
mov rdx, qword [rsp + 0xb8]
add r12, 1
mov byte [rdx + rsi + 8], al
jo 0x14000c144
mov rdx, qword [rsp + 0xb0]
test r12, r12
js 0x14000d79c
cmp rdx, r12
jg 0x14000d7a7
dec rdx
mov rcx, r12
jmp 0x14000cb07
mov rcx, r13
call fcn.14000bff3
mov al, byte [rsp + 0x50]
mov rbx, qword [rsp + 0x38]
shl eax, 4
sar rbx, 2
or ebx, eax
mov rax, qword [rsp + 0xb8]
mov byte [rax + r12 + 8], bl
add r12, 1
jo 0x14000c144
mov qword [rsp + 0x40], r12
cmp qword [rsp + 0x40], 0
jns 0x14000d7fd
mov rcx, qword [rsp + 0x40]
xor edx, edx
movabs r8, 0x7fffffffffffffff
call fcn.140003f3d
jmp 0x14000d867
mov rdx, qword [rsp + 0x40]
lea rcx, [rsp + 0xb0]
call fcn.140004a06
jmp 0x14000d867
test r15, r15
jne 0x14000d721
jmp 0x14000d867
test rbx, rbx
jne 0x14000d4ed
jmp 0x14000d867
test r15, r15
jne 0x14000d2a4
jmp 0x14000d867
test r15, r15
jne 0x14000d02b
jmp 0x14000d867
test r15, r15
jne 0x14000ce06
jmp 0x14000d867
test rbx, rbx
jne 0x14000cadb
jmp 0x14000d867
test r15, r15
jne 0x14000c888
jmp 0x14000d867
test r15, r15
jne 0x14000c64c
mov rax, qword [rsp + 0x120]
movups xmm0, xmmword [rsp + 0xb0]
movups xmmword [rax], xmm0
add rsp, 0xd8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret