Function at 0x140012885
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 0x14001405c
mov rcx, rax
call fcn.14001285a
mov rcx, qword [0x14002e1a0]
mov r12, rax
call fcn.1400180f0
cmp byte [rax], 0
mov rbp, rax
jne 0x14001405c
test r12, r12
jns 0x140012909
movabs r8, 0x7fffffffffffffff
xor edx, edx
mov rcx, r12
jmp 0x140013feb
lea rcx, [rsp + 0xb0]
mov rdx, r12
call fcn.140004980
mov rax, qword [rsp + 0x38]
movabs r8, 0x2000000100002400
mov rcx, rax
mov qword [rsp + 0x78], rax
sub rcx, 1
mov rax, rcx
jno 0x140012943
call fcn.1400037ea
jmp 0x14001405c
cmp rcx, qword [rsp + 0x38]
jge 0x14001294f
test rcx, rcx
jns 0x140012959
mov rdx, qword [rsp + 0x38]
jmp 0x1400133ab
mov cl, byte [rcx + rsi + 8]
cmp cl, 0x3d
ja 0x14001296d
mov rdx, r8
shr rdx, cl
and dl, 1
jne 0x140012928
mov rax, qword [rsp + 0x78]
sub rax, 4
seto r12b
mov qword [rsp + 0x88], rax
movzx r12d, r12b
jo 0x140012939
mov qword [rsp + 0x40], 0
cmp qword [rsp + 0x88], r12
jge 0x1400129f2
mov rax, r12
sub rax, qword [rsp + 0x78]
jo 0x140012939
mov ecx, 4
cqo
idiv rcx
mov rax, rdx
sar rax, 0x3f
xor rdx, rax
sub rdx, rax
cmp rdx, 2
je 0x1400133f5
jmp 0x1400133e6
test r12, r12
js 0x140013cff
movzx ecx, byte [rsi + r12 + 8]
cmp cl, 0x20
ja 0x1400129fe
mov eax, 0x400009
shl rax, 0xa
shr rax, cl
test al, 1
je 0x1400129fe
inc r12
cmp r12, qword [rsp + 0x38]
jl 0x1400129cb
jmp 0x140013cff
lea rax, [0x140021800]
mov al, byte [rax + rcx]
mov byte [rsp + 0x4f], al
inc al
jne 0x140012be0
mov edx, 8
mov ecx, 0x40
lea r13, [rsp + 0xa0]
call fcn.140004b92
mov rcx, r13
mov rdi, rax
mov rax, qword [0x14002e0b0]
mov qword [rdi], rax
lea rax, str.ValueError
mov qword [rdi + 0x10], rax
movzx edx, byte [rsi + r12 + 8]
mov qword [rsp + 0xc0], 0
mov qword [rsp + 0xc8], 0
call fcn.140001c90
mov rax, qword [rsp + 0xa0]
cmp byte [rbp], 0
mov r15, qword [rsp + 0xa8]
mov qword [rsp + 0x50], rax
jne 0x140012c0c
mov rdx, r12
mov rcx, r13
call fcn.140001c90
cmp byte [rbp], 0
mov rax, qword [rsp + 0xa0]
mov rbx, qword [rsp + 0xa8]
jne 0x140012bcc
mov rcx, qword [rsp + 0x50]
lea r14, [rsp + 0xc0]
mov qword [rsp + 0x58], rax
lea rdx, [rcx + rax + 0x38]
mov rcx, r13
call fcn.1400048b3
movups xmm0, xmmword [rsp + 0xa0]
mov rdx, r13
mov rcx, r14
movups xmm1, xmmword [0x140021970]
movups xmmword [rsp + 0xc0], xmm0
movups xmmword [rsp + 0xa0], xmm1
call fcn.1400127f8
movsx edx, byte [rsi + r12 + 8]
mov rcx, r14
call fcn.1400127c0
movups xmm2, xmmword [0x140021950]
mov rdx, r13
mov rcx, r14
movups xmmword [rsp + 0xa0], xmm2
call fcn.1400127f8
mov rax, qword [rsp + 0x50]
mov rdx, r13
mov rcx, r14
mov qword [rsp + 0xa8], r15
mov qword [rsp + 0xa0], rax
call fcn.1400127f8
movups xmm3, xmmword [0x140021920]
mov rdx, r13
mov rcx, r14
movups xmmword [rsp + 0xa0], xmm3
call fcn.1400127f8
mov rax, qword [rsp + 0x58]
mov rdx, r13
mov rcx, r14
mov qword [rsp + 0xa8], rbx
mov qword [rsp + 0xa0], rax
call fcn.1400127f8
movups xmm4, xmmword [0x140021900]
mov rdx, r13
mov rcx, r14
movups xmmword [rsp + 0xa0], xmm4
call fcn.1400127f8
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, str.ValueError
mov qword [rsp + 0x20], 0xe6
call fcn.140003d3f
test rbx, rbx
jne 0x140012bfc
test r15, r15
jne 0x140012c15
cmp byte [rbp], 0
jne 0x14001405c
lea r13, [r12 + 1]
cmp r13, qword [rsp + 0x38]
jl 0x140012c26
mov rdx, qword [rsp + 0x38]
mov rcx, r13
dec rdx
jmp 0x1400132fc
test byte [rbx + 7], 0x40
jne 0x140012bd1
mov rcx, rbx
call fcn.1400036fa
jmp 0x140012bd1
test r15, r15
je 0x14001405c
test byte [r15 + 7], 0x40
jne 0x140012bd6
mov rcx, r15
call fcn.1400036fa
jmp 0x140012bd6
movzx eax, byte [r13 + rsi + 8]
lea rdx, [0x140021800]
movzx eax, byte [rdx + rax]
mov byte [rsp + 0x50], al
mov qword [rsp + 0x68], rax
cmp rax, 0xff
je 0x140012c6b
mov r12, r13
inc r12
js 0x140012939
cmp r12, r13
jb 0x140012939
test r12, r12
jns 0x140012e5f
jmp 0x140013cff
mov edx, 8
mov ecx, 0x40
lea r12, [rsp + 0xa0]
call fcn.140004b92
mov rcx, r12
mov rdi, rax
mov rax, qword [0x14002e0b0]
mov qword [rdi], rax
lea rax, str.ValueError
mov qword [rdi + 0x10], rax
movzx edx, byte [rsi + r13 + 8]
mov qword [rsp + 0xc0], 0
mov qword [rsp + 0xc8], 0
call fcn.140001c90
cmp byte [rbp], 0
mov rbx, qword [rsp + 0xa0]
mov r15, qword [rsp + 0xa8]
jne 0x140014053
mov rdx, r13
mov rcx, r12
call fcn.140001c90
cmp byte [rbp], 0
mov rax, qword [rsp + 0xa0]
mov r10, qword [rsp + 0xa8]
jne 0x140012e28
lea rdx, [rbx + rax + 0x38]
mov rcx, r12
mov qword [rsp + 0x60], r10
lea r14, [rsp + 0xc0]
mov qword [rsp + 0x58], rax
call fcn.1400048b3
movups xmm0, xmmword [rsp + 0xa0]
mov rdx, r12
mov rcx, r14
movups xmm1, xmmword [0x140021970]
movups xmmword [rsp + 0xc0], xmm0
movups xmmword [rsp + 0xa0], xmm1
call fcn.1400127f8
movsx edx, byte [rsi + r13 + 8]
mov rcx, r14
call fcn.1400127c0
movups xmm2, xmmword [0x140021950]
mov rdx, r12
mov rcx, r14
movups xmmword [rsp + 0xa0], xmm2
call fcn.1400127f8
mov rdx, r12
mov rcx, r14
mov qword [rsp + 0xa0], rbx
mov qword [rsp + 0xa8], r15
call fcn.1400127f8
movups xmm3, xmmword [0x140021920]
mov rdx, r12
mov rcx, r14
movups xmmword [rsp + 0xa0], xmm3
call fcn.1400127f8
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.1400127f8
movups xmm4, xmmword [0x140021900]
mov rdx, r12
mov rcx, r14
movups xmmword [rsp + 0xa0], xmm4
call fcn.1400127f8
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, str.ValueError
mov qword [rsp + 0x20], 0xe6
call fcn.140003d3f
mov r10, qword [rsp + 0x58]
test r10, r10
je 0x140012e3c
test byte [r10 + 7], 0x40
jne 0x140012e3c
mov rcx, r10
call fcn.1400036fa
test r15, r15
je 0x140012e50
test byte [r15 + 7], 0x40
jne 0x140012e50
mov rcx, r15
call fcn.1400036fa
cmp byte [rbp], 0
je 0x140012c48
jmp 0x14001405c
cmp r12, qword [rsp + 0x38]
jge 0x140013cff
movzx eax, byte [r12 + rsi + 8]
lea rdx, [0x140021800]
movzx eax, byte [rdx + rax]
mov byte [rsp + 0x58], al
mov qword [rsp + 0x70], rax
cmp rax, 0xff
je 0x140012ea1
lea r15, [r12 + 1]
cmp r15, qword [rsp + 0x38]
jl 0x14001309b
jmp 0x140013ab7
mov edx, 8
mov ecx, 0x40
lea r13, [rsp + 0xa0]
call fcn.140004b92
mov rcx, r13
mov rdi, rax
mov rax, qword [0x14002e0b0]
mov qword [rdi], rax
lea rax, str.ValueError
mov qword [rdi + 0x10], rax
movzx edx, byte [rsi + r12 + 8]
mov qword [rsp + 0xc0], 0
mov qword [rsp + 0xc8], 0
call fcn.140001c90
cmp byte [rbp], 0
mov rbx, qword [rsp + 0xa0]
mov r15, qword [rsp + 0xa8]
jne 0x140014048
mov rdx, r12
mov rcx, r13
call fcn.140001c90
cmp byte [rbp], 0
mov rax, qword [rsp + 0xa0]
mov r10, qword [rsp + 0xa8]
jne 0x140013064
lea rdx, [rbx + rax + 0x38]
mov rcx, r13
mov qword [rsp + 0x80], r10
lea r14, [rsp + 0xc0]
mov qword [rsp + 0x60], rax
call fcn.1400048b3
movups xmm0, xmmword [rsp + 0xa0]
mov rdx, r13
mov rcx, r14
movups xmm1, xmmword [0x140021970]
movups xmmword [rsp + 0xc0], xmm0
movups xmmword [rsp + 0xa0], xmm1
call fcn.1400127f8
movsx edx, byte [rsi + r12 + 8]
mov rcx, r14
call fcn.1400127c0
movups xmm2, xmmword [0x140021950]
mov rdx, r13
mov rcx, r14
movups xmmword [rsp + 0xa0], xmm2
call fcn.1400127f8
mov rdx, r13
mov rcx, r14
mov qword [rsp + 0xa0], rbx
mov qword [rsp + 0xa8], r15
call fcn.1400127f8
movups xmm3, xmmword [0x140021920]
mov rdx, r13
mov rcx, r14
movups xmmword [rsp + 0xa0], xmm3
call fcn.1400127f8
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.1400127f8
movups xmm4, xmmword [0x140021900]
mov rdx, r13
mov rcx, r14
movups xmmword [rsp + 0xa0], xmm4
call fcn.1400127f8
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, str.ValueError
mov qword [rsp + 0x20], 0xe6
call fcn.140003d3f
mov r10, qword [rsp + 0x60]
test r10, r10
je 0x140013078
test byte [r10 + 7], 0x40
jne 0x140013078
mov rcx, r10
call fcn.1400036fa
test r15, r15
je 0x14001308c
test byte [r15 + 7], 0x40
jne 0x14001308c
mov rcx, r15
call fcn.1400036fa
cmp byte [rbp], 0
je 0x140012e8c
jmp 0x14001405c
movzx eax, byte [r15 + rsi + 8]
lea rdx, [0x140021800]
mov al, byte [rdx + rax]
mov byte [rsp + 0x60], al
inc al
je 0x1400130d0
add r12, 2
cmp qword [rsp + 0x40], 0
mov rdx, qword [rsp + 0xb0]
jns 0x1400132ed
jmp 0x1400132f4
mov edx, 8
mov ecx, 0x40
lea r13, [rsp + 0xa0]
call fcn.140004b92
mov rcx, r13
mov rdi, rax
mov rax, qword [0x14002e0b0]
mov qword [rdi], rax
lea rax, str.ValueError
mov qword [rdi + 0x10], rax
movzx edx, byte [rsi + r15 + 8]
mov qword [rsp + 0xc0], 0
mov qword [rsp + 0xc8], 0
call fcn.140001c90
mov rax, qword [rsp + 0xa0]
cmp byte [rbp], 0
mov rbx, qword [rsp + 0xa8]
mov qword [rsp + 0x80], rax
jne 0x14001403d
mov rdx, r15
mov rcx, r13
call fcn.140001c90
cmp byte [rbp], 0
mov rax, qword [rsp + 0xa0]
mov r10, qword [rsp + 0xa8]
jne 0x1400132b7
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.1400048b3
movups xmm0, xmmword [rsp + 0xa0]
mov rdx, r13
mov rcx, r14
movups xmm1, xmmword [0x140021970]
movups xmmword [rsp + 0xc0], xmm0
movups xmmword [rsp + 0xa0], xmm1
call fcn.1400127f8
movsx edx, byte [rsi + r15 + 8]
mov rcx, r14
call fcn.1400127c0
movups xmm2, xmmword [0x140021950]
mov rdx, r13
mov rcx, r14
movups xmmword [rsp + 0xa0], xmm2
call fcn.1400127f8
mov rax, qword [rsp + 0x80]
mov rdx, r13
mov rcx, r14
mov qword [rsp + 0xa8], rbx
mov qword [rsp + 0xa0], rax
call fcn.1400127f8
movups xmm3, xmmword [0x140021920]
mov rdx, r13
mov rcx, r14
movups xmmword [rsp + 0xa0], xmm3
call fcn.1400127f8
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.1400127f8
movups xmm4, xmmword [0x140021900]
mov rdx, r13
mov rcx, r14
movups xmmword [rsp + 0xa0], xmm4
call fcn.1400127f8
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, str.ValueError
mov qword [rsp + 0x20], 0xe6
call fcn.140003d3f
mov r10, qword [rsp + 0x80]
test r10, r10
je 0x1400132cb
test byte [r10 + 7], 0x40
jne 0x1400132cb
mov rcx, r10
call fcn.1400036fa
test rbx, rbx
je 0x1400132de
test byte [rbx + 7], 0x40
jne 0x1400132de
mov rcx, rbx
call fcn.1400036fa
cmp byte [rbp], 0
je 0x1400130b3
jmp 0x14001405c
cmp qword [rsp + 0x40], rdx
jl 0x140013306
mov rcx, qword [rsp + 0x40]
dec rdx
call fcn.140004ee3
jmp 0x14001405c
lea r13, [rsp + 0xb0]
mov rcx, r13
call fcn.1400127e3
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 0x140012939
mov rdx, qword [rsp + 0xb0]
test rbx, rbx
js 0x1400133a2
cmp rbx, rdx
jge 0x1400133ab
mov rcx, r13
call fcn.1400127e3
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 0x140012939
mov rdx, qword [rsp + 0xb0]
test rbx, rbx
js 0x1400133a2
cmp rbx, rdx
jl 0x1400133b3
jmp 0x1400133ab
mov ecx, 1
shl rcx, 0x3f
dec rdx
jmp 0x1400132fc
mov rcx, r13
call fcn.1400127e3
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 0x140012991
jmp 0x140012939
cmp rdx, 3
jne 0x140013fd2
jmp 0x140013891
cmp r12, qword [rsp + 0x38]
jge 0x140013cff
movzx eax, byte [r12 + rsi + 8]
lea rdx, [0x140021800]
mov al, byte [rdx + rax]
mov byte [rsp + 0x4f], al
inc al
je 0x14001342b
inc r12
cmp qword [rsp + 0x38], r12
jg 0x140013619
jmp 0x140013cff
mov edx, 8
mov ecx, 0x40
lea r13, [rsp + 0xa0]
call fcn.140004b92
mov rcx, r13
mov rdi, rax
mov rax, qword [0x14002e0b0]
mov qword [rdi], rax
lea rax, str.ValueError
mov qword [rdi + 0x10], rax
movzx edx, byte [r12 + rsi + 8]
mov qword [rsp + 0xc0], 0
mov qword [rsp + 0xc8], 0
call fcn.140001c90
mov rax, qword [rsp + 0xa0]
cmp byte [rbp], 0
mov r15, qword [rsp + 0xa8]
mov qword [rsp + 0x50], rax
jne 0x140014032
mov rdx, r12
mov rcx, r13
call fcn.140001c90
cmp byte [rbp], 0
mov rax, qword [rsp + 0xa0]
mov rbx, qword [rsp + 0xa8]
jne 0x1400135e3
mov rcx, qword [rsp + 0x50]
lea r14, [rsp + 0xc0]
mov qword [rsp + 0x58], rax
lea rdx, [rcx + rax + 0x38]
mov rcx, r13
call fcn.1400048b3
movups xmm0, xmmword [rsp + 0xa0]
mov rdx, r13
mov rcx, r14
movups xmm1, xmmword [0x140021970]
movups xmmword [rsp + 0xc0], xmm0
movups xmmword [rsp + 0xa0], xmm1
call fcn.1400127f8
movsx edx, byte [r12 + rsi + 8]
mov rcx, r14
call fcn.1400127c0
movups xmm2, xmmword [0x140021950]
mov rdx, r13
mov rcx, r14
movups xmmword [rsp + 0xa0], xmm2
call fcn.1400127f8
mov rax, qword [rsp + 0x50]
mov rdx, r13
mov rcx, r14
mov qword [rsp + 0xa8], r15
mov qword [rsp + 0xa0], rax
call fcn.1400127f8
movups xmm3, xmmword [0x140021920]
mov rdx, r13
mov rcx, r14
movups xmmword [rsp + 0xa0], xmm3
call fcn.1400127f8
mov rax, qword [rsp + 0x58]
mov rdx, r13
mov rcx, r14
mov qword [rsp + 0xa8], rbx
mov qword [rsp + 0xa0], rax
call fcn.1400127f8
movups xmm4, xmmword [0x140021900]
mov rdx, r13
mov rcx, r14
movups xmmword [rsp + 0xa0], xmm4
call fcn.1400127f8
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, str.ValueError
mov qword [rsp + 0x20], 0xe6
call fcn.140003d3f
test rbx, rbx
je 0x1400135f6
test byte [rbx + 7], 0x40
jne 0x1400135f6
mov rcx, rbx
call fcn.1400036fa
test r15, r15
je 0x14001360a
test byte [r15 + 7], 0x40
jne 0x14001360a
mov rcx, r15
call fcn.1400036fa
cmp byte [rbp], 0
je 0x140013418
jmp 0x14001405c
movzx eax, byte [r12 + rsi + 8]
lea rdx, [0x140021800]
movzx eax, byte [rdx + rax]
mov qword [rsp + 0x38], rax
cmp rax, 0xff
je 0x140013650
cmp qword [rsp + 0x40], 0
mov rdx, qword [rsp + 0xb0]
jns 0x14001383e
jmp 0x1400132f4
mov edx, 8
mov ecx, 0x40
lea r13, [rsp + 0xa0]
call fcn.140004b92
mov rcx, r13
mov rbx, rax
mov rax, qword [0x14002e0b0]
mov qword [rbx], rax
lea rax, str.ValueError
mov qword [rbx + 0x10], rax
movzx edx, byte [r12 + rsi + 8]
mov qword [rsp + 0xc0], 0
mov qword [rsp + 0xc8], 0
call fcn.140001c90
mov rax, qword [rsp + 0xa0]
cmp byte [rbp], 0
mov r15, qword [rsp + 0xa8]
mov qword [rsp + 0x50], rax
jne 0x140014027
mov rdx, r12
mov rcx, r13
call fcn.140001c90
cmp byte [rbp], 0
mov rax, qword [rsp + 0xa0]
mov rdi, qword [rsp + 0xa8]
jne 0x140013808
mov rcx, qword [rsp + 0x50]
lea r14, [rsp + 0xc0]
mov qword [rsp + 0x58], rax
lea rdx, [rcx + rax + 0x38]
mov rcx, r13
call fcn.1400048b3
movups xmm0, xmmword [rsp + 0xa0]
mov rdx, r13
mov rcx, r14
movups xmm1, xmmword [0x140021970]
movups xmmword [rsp + 0xc0], xmm0
movups xmmword [rsp + 0xa0], xmm1
call fcn.1400127f8
movsx edx, byte [r12 + rsi + 8]
mov rcx, r14
call fcn.1400127c0
movups xmm2, xmmword [0x140021950]
mov rdx, r13
mov rcx, r14
movups xmmword [rsp + 0xa0], xmm2
call fcn.1400127f8
mov rax, qword [rsp + 0x50]
mov rdx, r13
mov rcx, r14
mov qword [rsp + 0xa8], r15
mov qword [rsp + 0xa0], rax
call fcn.1400127f8
movups xmm3, xmmword [0x140021920]
mov rdx, r13
mov rcx, r14
movups xmmword [rsp + 0xa0], xmm3
call fcn.1400127f8
mov rax, qword [rsp + 0x58]
mov rdx, r13
mov rcx, r14
mov qword [rsp + 0xa8], rdi
mov qword [rsp + 0xa0], rax
call fcn.1400127f8
movups xmm4, xmmword [0x140021900]
mov rdx, r13
mov rcx, r14
movups xmmword [rsp + 0xa0], xmm4
call fcn.1400127f8
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, str.ValueError
mov qword [rsp + 0x20], 0xe6
call fcn.140003d3f
test rdi, rdi
je 0x14001381b
test byte [rdi + 7], 0x40
jne 0x14001381b
mov rcx, rdi
call fcn.1400036fa
test r15, r15
je 0x14001382f
test byte [r15 + 7], 0x40
jne 0x14001382f
mov rcx, r15
call fcn.1400036fa
cmp byte [rbp], 0
je 0x140013637
jmp 0x14001405c
cmp rdx, qword [rsp + 0x40]
jle 0x1400132f4
lea rcx, [rsp + 0xb0]
call fcn.1400127e3
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 0x140012939
mov qword [rsp + 0x40], rax
jmp 0x140013fd2
cmp r12, qword [rsp + 0x38]
jge 0x140013cff
movzx eax, byte [r12 + rsi + 8]
lea rdx, [0x140021800]
mov al, byte [rdx + rax]
mov byte [rsp + 0x4f], al
inc al
je 0x1400138c9
lea r15, [r12 + 1]
cmp qword [rsp + 0x38], r15
jg 0x140013ac7
jmp 0x140013ab7
mov edx, 8
mov ecx, 0x40
lea r13, [rsp + 0xa0]
call fcn.140004b92
mov rcx, r13
mov rdi, rax
mov rax, qword [0x14002e0b0]
mov qword [rdi], rax
lea rax, str.ValueError
mov qword [rdi + 0x10], rax
movzx edx, byte [r12 + rsi + 8]
mov qword [rsp + 0xc0], 0
mov qword [rsp + 0xc8], 0
call fcn.140001c90
mov rax, qword [rsp + 0xa0]
cmp byte [rbp], 0
mov r15, qword [rsp + 0xa8]
mov qword [rsp + 0x50], rax
jne 0x14001401c
mov rdx, r12
mov rcx, r13
call fcn.140001c90
cmp byte [rbp], 0
mov rax, qword [rsp + 0xa0]
mov rbx, qword [rsp + 0xa8]
jne 0x140013a81
mov rcx, qword [rsp + 0x50]
lea r14, [rsp + 0xc0]
mov qword [rsp + 0x58], rax
lea rdx, [rcx + rax + 0x38]
mov rcx, r13
call fcn.1400048b3
movups xmm0, xmmword [rsp + 0xa0]
mov rdx, r13
mov rcx, r14
movups xmm1, xmmword [0x140021970]
movups xmmword [rsp + 0xc0], xmm0
movups xmmword [rsp + 0xa0], xmm1
call fcn.1400127f8
movsx edx, byte [r12 + rsi + 8]
mov rcx, r14
call fcn.1400127c0
movups xmm2, xmmword [0x140021950]
mov rdx, r13
mov rcx, r14
movups xmmword [rsp + 0xa0], xmm2
call fcn.1400127f8
mov rax, qword [rsp + 0x50]
mov rdx, r13
mov rcx, r14
mov qword [rsp + 0xa8], r15
mov qword [rsp + 0xa0], rax
call fcn.1400127f8
movups xmm3, xmmword [0x140021920]
mov rdx, r13
mov rcx, r14
movups xmmword [rsp + 0xa0], xmm3
call fcn.1400127f8
mov rax, qword [rsp + 0x58]
mov rdx, r13
mov rcx, r14
mov qword [rsp + 0xa8], rbx
mov qword [rsp + 0xa0], rax
call fcn.1400127f8
movups xmm4, xmmword [0x140021900]
mov rdx, r13
mov rcx, r14
movups xmmword [rsp + 0xa0], xmm4
call fcn.1400127f8
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, str.ValueError
mov qword [rsp + 0x20], 0xe6
call fcn.140003d3f
test rbx, rbx
je 0x140013a94
test byte [rbx + 7], 0x40
jne 0x140013a94
mov rcx, rbx
call fcn.1400036fa
test r15, r15
je 0x140013aa8
test byte [r15 + 7], 0x40
jne 0x140013aa8
mov rcx, r15
call fcn.1400036fa
cmp byte [rbp], 0
je 0x1400138b4
jmp 0x14001405c
mov rdx, qword [rsp + 0x38]
mov rcx, r15
dec rdx
jmp 0x1400132fc
movzx eax, byte [r15 + rsi + 8]
lea rdx, [0x140021800]
movzx eax, byte [rdx + rax]
mov byte [rsp + 0x50], al
mov qword [rsp + 0x58], rax
cmp rax, 0xff
je 0x140013afd
add r12, 2
cmp r12, qword [rsp + 0x38]
jl 0x140013d09
jmp 0x140013cff
mov edx, 8
mov ecx, 0x40
lea r13, [rsp + 0xa0]
call fcn.140004b92
mov rcx, r13
mov rdi, rax
mov rax, qword [0x14002e0b0]
mov qword [rdi], rax
lea rax, str.ValueError
mov qword [rdi + 0x10], rax
movzx edx, byte [r15 + rsi + 8]
mov qword [rsp + 0xc0], 0
mov qword [rsp + 0xc8], 0
call fcn.140001c90
mov rax, qword [rsp + 0xa0]
cmp byte [rbp], 0
mov rbx, qword [rsp + 0xa8]
mov qword [rsp + 0x60], rax
jne 0x140014011
mov rdx, r15
mov rcx, r13
call fcn.140001c90
cmp byte [rbp], 0
mov rax, qword [rsp + 0xa0]
mov r11, qword [rsp + 0xa8]
jne 0x140013cc9
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.1400048b3
movups xmm0, xmmword [rsp + 0xa0]
mov rdx, r13
mov rcx, r14
movups xmm1, xmmword [0x140021970]
movups xmmword [rsp + 0xc0], xmm0
movups xmmword [rsp + 0xa0], xmm1
call fcn.1400127f8
movsx edx, byte [r15 + rsi + 8]
mov rcx, r14
call fcn.1400127c0
movups xmm2, xmmword [0x140021950]
mov rdx, r13
mov rcx, r14
movups xmmword [rsp + 0xa0], xmm2
call fcn.1400127f8
mov rax, qword [rsp + 0x60]
mov rdx, r13
mov rcx, r14
mov qword [rsp + 0xa8], rbx
mov qword [rsp + 0xa0], rax
call fcn.1400127f8
movups xmm3, xmmword [0x140021920]
mov rdx, r13
mov rcx, r14
movups xmmword [rsp + 0xa0], xmm3
call fcn.1400127f8
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.1400127f8
movups xmm4, xmmword [0x140021900]
mov rdx, r13
mov rcx, r14
movups xmmword [rsp + 0xa0], xmm4
call fcn.1400127f8
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, str.ValueError
mov qword [rsp + 0x20], 0xe6
call fcn.140003d3f
mov r11, qword [rsp + 0x60]
test r11, r11
je 0x140013cdd
test byte [r11 + 7], 0x40
jne 0x140013cdd
mov rcx, r11
call fcn.1400036fa
test rbx, rbx
je 0x140013cf0
test byte [rbx + 7], 0x40
jne 0x140013cf0
mov rcx, rbx
call fcn.1400036fa
cmp byte [rbp], 0
je 0x140013ae9
jmp 0x14001405c
mov rdx, qword [rsp + 0x38]
jmp 0x140013f91
movzx eax, byte [r12 + rsi + 8]
lea rdx, [0x140021800]
movzx eax, byte [rdx + rax]
mov qword [rsp + 0x38], rax
cmp rax, 0xff
je 0x140013d40
cmp qword [rsp + 0x40], 0
mov rdx, qword [rsp + 0xb0]
jns 0x140013f34
jmp 0x1400132f4
mov edx, 8
mov ecx, 0x40
lea r13, [rsp + 0xa0]
call fcn.140004b92
mov rcx, r13
mov rbx, rax
mov rax, qword [0x14002e0b0]
mov qword [rbx], rax
lea rax, str.ValueError
mov qword [rbx + 0x10], rax
movzx edx, byte [r12 + rsi + 8]
mov qword [rsp + 0xc0], 0
mov qword [rsp + 0xc8], 0
call fcn.140001c90
cmp byte [rbp], 0
mov rdi, qword [rsp + 0xa0]
mov r15, qword [rsp + 0xa8]
jne 0x140014006
mov rdx, r12
mov rcx, r13
call fcn.140001c90
cmp byte [rbp], 0
mov rax, qword [rsp + 0xa0]
mov r10, qword [rsp + 0xa8]
jne 0x140013efd
lea rdx, [rdi + rax + 0x38]
mov rcx, r13
mov qword [rsp + 0x68], r10
lea r14, [rsp + 0xc0]
mov qword [rsp + 0x60], rax
call fcn.1400048b3
movups xmm0, xmmword [rsp + 0xa0]
mov rdx, r13
mov rcx, r14
movups xmm1, xmmword [0x140021970]
movups xmmword [rsp + 0xc0], xmm0
movups xmmword [rsp + 0xa0], xmm1
call fcn.1400127f8
movsx edx, byte [r12 + rsi + 8]
mov rcx, r14
call fcn.1400127c0
movups xmm2, xmmword [0x140021950]
mov rdx, r13
mov rcx, r14
movups xmmword [rsp + 0xa0], xmm2
call fcn.1400127f8
mov rdx, r13
mov rcx, r14
mov qword [rsp + 0xa0], rdi
mov qword [rsp + 0xa8], r15
call fcn.1400127f8
movups xmm3, xmmword [0x140021920]
mov rdx, r13
mov rcx, r14
movups xmmword [rsp + 0xa0], xmm3
call fcn.1400127f8
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.1400127f8
movups xmm4, xmmword [0x140021900]
mov rdx, r13
mov rcx, r14
movups xmmword [rsp + 0xa0], xmm4
call fcn.1400127f8
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, str.ValueError
mov qword [rsp + 0x20], 0xe6
call fcn.140003d3f
mov r10, qword [rsp + 0x60]
test r10, r10
je 0x140013f11
test byte [r10 + 7], 0x40
jne 0x140013f11
mov rcx, r10
call fcn.1400036fa
test r15, r15
je 0x140013f25
test byte [r15 + 7], 0x40
jne 0x140013f25
mov rcx, r15
call fcn.1400036fa
cmp byte [rbp], 0
je 0x140013d27
jmp 0x14001405c
cmp rdx, qword [rsp + 0x40]
jle 0x1400132f4
lea r13, [rsp + 0xb0]
mov rcx, r13
call fcn.1400127e3
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 0x140012939
mov rdx, qword [rsp + 0xb0]
test r12, r12
js 0x140013f91
cmp rdx, r12
jg 0x140013f9c
dec rdx
mov rcx, r12
jmp 0x1400132fc
mov rcx, r13
call fcn.1400127e3
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 0x140012939
mov qword [rsp + 0x40], r12
cmp qword [rsp + 0x40], 0
jns 0x140013ff2
mov rcx, qword [rsp + 0x40]
xor edx, edx
movabs r8, 0x7fffffffffffffff
call fcn.140003e9a
jmp 0x14001405c
mov rdx, qword [rsp + 0x40]
lea rcx, [rsp + 0xb0]
call fcn.140004980
jmp 0x14001405c
test r15, r15
jne 0x140013f16
jmp 0x14001405c
test rbx, rbx
jne 0x140013ce2
jmp 0x14001405c
test r15, r15
jne 0x140013a99
jmp 0x14001405c
test r15, r15
jne 0x140013820
jmp 0x14001405c
test r15, r15
jne 0x1400135fb
jmp 0x14001405c
test rbx, rbx
jne 0x1400132d0
jmp 0x14001405c
test r15, r15
jne 0x14001307d
jmp 0x14001405c
test r15, r15
jne 0x140012e41
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