Function at 0x140022e09
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 0x140024632
mov rcx, rax
call fcn.140022dde
mov rcx, qword [0x14004fe90]
mov r12, rax
call fcn.140038fa0
cmp byte [rax], 0
mov rbp, rax
jne 0x140024632
test r12, r12
jns 0x140022e8d
movabs r8, 0x7fffffffffffffff
xor edx, edx
mov rcx, r12
jmp 0x1400245b6
mov rdx, r12
lea rcx, [rsp + 0xb0]
call fcn.140004bf7
mov rax, qword [rsp + 0x38]
movabs rdx, 0x2000000100002400
mov qword [rsp + 0x48], rax
cmp qword [rsp + 0x48], 0
jle 0x140022ef4
mov rax, qword [rsp + 0x48]
lea r8, [rax - 1]
cmp r8, qword [rsp + 0x38]
jl 0x140022ed9
mov rdx, qword [rsp + 0x38]
mov rcx, r8
dec rdx
jmp 0x140023a0b
mov cl, byte [rsi + r8 + 8]
cmp cl, 0x3d
ja 0x140022ef4
mov rax, rdx
shr rax, cl
test al, 1
je 0x140022ef4
mov qword [rsp + 0x48], r8
jmp 0x140022eb1
mov qword [rsp + 0x40], 0
mov rax, qword [rsp + 0x48]
sub rax, 4
seto r12b
mov qword [rsp + 0x88], rax
movzx r12d, r12b
test r12, r12
je 0x1400230f9
call fcn.140003684
jmp 0x140024632
cmp qword [rsp + 0x38], r12
jle 0x1400242ca
movzx ecx, byte [rsi + r12 + 8]
cmp cl, 0x20
jbe 0x14002313b
lea rax, [0x140049de0]
mov al, byte [rax + rcx]
mov byte [rsp + 0x50], al
inc al
je 0x140023171
mov rdi, r12
add rdi, 1
mov rcx, rdi
jo 0x140022f1f
test rdi, rdi
js 0x14002335f
cmp rdi, qword [rsp + 0x38]
jge 0x140023368
movzx eax, byte [rdi + rsi + 8]
lea rdx, [0x140049de0]
movzx eax, byte [rdx + rax]
mov byte [rsp + 0x58], al
mov qword [rsp + 0x70], rax
cmp rax, 0xff
je 0x140023372
lea r14, [rdi + 1]
cmp qword [rsp + 0x38], r14
jle 0x14002376e
movzx eax, byte [r14 + rsi + 8]
lea rdx, [0x140049de0]
movzx eax, byte [rdx + rax]
mov byte [rsp + 0x60], al
mov qword [rsp + 0x78], rax
cmp rax, 0xff
je 0x14002355f
lea r14, [rdi + 2]
cmp qword [rsp + 0x38], r14
jle 0x14002376e
movzx eax, byte [r14 + rsi + 8]
lea rdx, [0x140049de0]
mov al, byte [rdx + rax]
mov byte [rsp + 0x68], al
inc al
je 0x14002377e
cmp qword [rsp + 0x40], 0
mov rdx, qword [rsp + 0xb0]
lea r12, [rdi + 3]
js 0x140023a03
cmp qword [rsp + 0x40], rdx
jge 0x140023a03
lea r13, [rsp + 0xb0]
mov rcx, r13
call fcn.140021bc3
mov al, byte [rsp + 0x50]
mov rdx, qword [rsp + 0x70]
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 0x140022f1f
mov rdx, qword [rsp + 0xb0]
test rbx, rbx
js 0x140023a15
cmp rbx, rdx
jge 0x140023a1e
mov rcx, r13
call fcn.140021bc3
mov al, byte [rsp + 0x58]
mov rdx, qword [rsp + 0x78]
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 0x140022f1f
mov rdx, qword [rsp + 0xb0]
test rbx, rbx
js 0x140023a15
cmp rdx, rbx
jle 0x140023a1e
mov rcx, r13
call fcn.140021bc3
mov al, byte [rsp + 0x60]
mov rdx, qword [rsp + 0xb8]
shl eax, 6
or eax, dword [rsp + 0x68]
mov byte [rdx + rbx + 8], al
add rbx, 1
mov qword [rsp + 0x40], rbx
jo 0x140022f1f
cmp qword [rsp + 0x88], r12
jge 0x140022f29
mov rax, r12
sub rax, qword [rsp + 0x48]
jo 0x140022f1f
mov ecx, 4
cqo
idiv rcx
mov rax, rdx
sar rax, 0x3f
xor rdx, rax
sub rdx, rax
cmp rdx, 2
je 0x14002399c
jmp 0x140023a23
mov eax, 0x400009
shl rax, 0xa
shr rax, cl
test al, 1
je 0x140022f43
add r12, 1
jo 0x140022f1f
test r12, r12
jns 0x140022f29
movabs r12, 0x8000000000000000
jmp 0x1400242ca
mov edx, 8
mov ecx, 0x40
lea r13, [rsp + 0xa0]
call fcn.140003f42
mov rcx, r13
mov rdi, rax
mov rax, qword [0x14004fd60]
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.140002112
mov rax, qword [rsp + 0xa0]
cmp byte [rbp], 0
mov r15, qword [rsp + 0xa8]
mov qword [rsp + 0x58], rax
jne 0x140024629
mov rdx, r12
mov rcx, r13
call fcn.140002112
cmp byte [rbp], 0
mov rax, qword [rsp + 0xa0]
mov rbx, qword [rsp + 0xa8]
jne 0x140023329
mov rcx, qword [rsp + 0x58]
lea r14, [rsp + 0xc0]
mov qword [rsp + 0x60], rax
lea rdx, [rcx + rax + 0x38]
mov rcx, r13
call fcn.140004b2a
movups xmm0, xmmword [rsp + 0xa0]
mov rdx, r13
mov rcx, r14
movups xmm1, xmmword [0x140049fd0]
movups xmmword [rsp + 0xc0], xmm0
movups xmmword [rsp + 0xa0], xmm1
call fcn.140021bd8
movsx edx, byte [rsi + r12 + 8]
mov rcx, r14
call fcn.140021ba0
movups xmm2, xmmword [0x140049fb0]
mov rdx, r13
mov rcx, r14
movups xmmword [rsp + 0xa0], xmm2
call fcn.140021bd8
mov rax, qword [rsp + 0x58]
mov rdx, r13
mov rcx, r14
mov qword [rsp + 0xa8], r15
mov qword [rsp + 0xa0], rax
call fcn.140021bd8
movups xmm3, xmmword [0x140049f80]
mov rdx, r13
mov rcx, r14
movups xmmword [rsp + 0xa0], xmm3
call fcn.140021bd8
mov rax, qword [rsp + 0x60]
mov rdx, r13
mov rcx, r14
mov qword [rsp + 0xa8], rbx
mov qword [rsp + 0xa0], rax
call fcn.140021bd8
movups xmm4, xmmword [0x140049f60]
mov rdx, r13
mov rcx, r14
movups xmmword [rsp + 0xa0], xmm4
call fcn.140021bd8
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.140003bd9
test rbx, rbx
je 0x14002333c
test byte [rbx + 7], 0x40
jne 0x14002333c
mov rcx, rbx
call fcn.140003594
test r15, r15
je 0x140023350
test byte [r15 + 7], 0x40
jne 0x140023350
mov rcx, r15
call fcn.140003594
cmp byte [rbp], 0
je 0x140022f59
jmp 0x140024632
mov ecx, 1
shl rcx, 0x3f
mov rdx, qword [rsp + 0x38]
jmp 0x140023a1e
mov edx, 8
mov ecx, 0x40
lea r12, [rsp + 0xa0]
call fcn.140003f42
mov rcx, r12
mov rbx, rax
mov rax, qword [0x14004fd60]
mov qword [rbx], rax
lea rax, str.ValueError
mov qword [rbx + 0x10], rax
movzx edx, byte [rsi + rdi + 8]
mov qword [rsp + 0xc0], 0
mov qword [rsp + 0xc8], 0
call fcn.140002112
mov rax, qword [rsp + 0xa0]
cmp byte [rbp], 0
mov r14, qword [rsp + 0xa8]
mov qword [rsp + 0x60], rax
jne 0x14002461e
mov rdx, rdi
mov rcx, r12
call fcn.140002112
cmp byte [rbp], 0
mov rax, qword [rsp + 0xa0]
mov r15, qword [rsp + 0xa8]
jne 0x140023528
mov rcx, qword [rsp + 0x60]
lea r13, [rsp + 0xc0]
mov qword [rsp + 0x68], rax
lea rdx, [rcx + rax + 0x38]
mov rcx, r12
call fcn.140004b2a
movups xmm0, xmmword [rsp + 0xa0]
mov rdx, r12
mov rcx, r13
movups xmm1, xmmword [0x140049fd0]
movups xmmword [rsp + 0xc0], xmm0
movups xmmword [rsp + 0xa0], xmm1
call fcn.140021bd8
movsx edx, byte [rsi + rdi + 8]
mov rcx, r13
call fcn.140021ba0
movups xmm2, xmmword [0x140049fb0]
mov rdx, r12
mov rcx, r13
movups xmmword [rsp + 0xa0], xmm2
call fcn.140021bd8
mov rax, qword [rsp + 0x60]
mov rdx, r12
mov rcx, r13
mov qword [rsp + 0xa8], r14
mov qword [rsp + 0xa0], rax
call fcn.140021bd8
movups xmm3, xmmword [0x140049f80]
mov rdx, r12
mov rcx, r13
movups xmmword [rsp + 0xa0], xmm3
call fcn.140021bd8
mov rax, qword [rsp + 0x68]
mov rdx, r12
mov rcx, r13
mov qword [rsp + 0xa8], r15
mov qword [rsp + 0xa0], rax
call fcn.140021bd8
movups xmm4, xmmword [0x140049f60]
mov rdx, r12
mov rcx, r13
movups xmmword [rsp + 0xa0], xmm4
call fcn.140021bd8
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.140003bd9
test r15, r15
je 0x14002353c
test byte [r15 + 7], 0x40
jne 0x14002353c
mov rcx, r15
call fcn.140003594
test r14, r14
je 0x140023550
test byte [r14 + 7], 0x40
jne 0x140023550
mov rcx, r14
call fcn.140003594
cmp byte [rbp], 0
je 0x140022f9e
jmp 0x140024632
mov edx, 8
mov ecx, 0x40
lea r12, [rsp + 0xa0]
call fcn.140003f42
mov rcx, r12
mov rbx, rax
mov rax, qword [0x14004fd60]
mov qword [rbx], rax
lea rax, str.ValueError
mov qword [rbx + 0x10], rax
movzx edx, byte [rsi + r14 + 8]
mov qword [rsp + 0xc0], 0
mov qword [rsp + 0xc8], 0
call fcn.140002112
mov rax, qword [rsp + 0xa0]
cmp byte [rbp], 0
mov r15, qword [rsp + 0xa8]
mov qword [rsp + 0x68], rax
jne 0x140024613
mov rdx, r14
mov rcx, r12
call fcn.140002112
cmp byte [rbp], 0
mov rax, qword [rsp + 0xa0]
mov r11, qword [rsp + 0xa8]
jne 0x140023737
mov rcx, qword [rsp + 0x68]
mov qword [rsp + 0x90], r11
lea r13, [rsp + 0xc0]
mov qword [rsp + 0x80], rax
lea rdx, [rcx + rax + 0x38]
mov rcx, r12
call fcn.140004b2a
movups xmm0, xmmword [rsp + 0xa0]
mov rdx, r12
mov rcx, r13
movups xmm1, xmmword [0x140049fd0]
movups xmmword [rsp + 0xc0], xmm0
movups xmmword [rsp + 0xa0], xmm1
call fcn.140021bd8
movsx edx, byte [rsi + r14 + 8]
mov rcx, r13
call fcn.140021ba0
movups xmm2, xmmword [0x140049fb0]
mov rdx, r12
mov rcx, r13
movups xmmword [rsp + 0xa0], xmm2
call fcn.140021bd8
mov rax, qword [rsp + 0x68]
mov rdx, r12
mov rcx, r13
mov qword [rsp + 0xa8], r15
mov qword [rsp + 0xa0], rax
call fcn.140021bd8
movups xmm3, xmmword [0x140049f80]
mov rdx, r12
mov rcx, r13
movups xmmword [rsp + 0xa0], xmm3
call fcn.140021bd8
mov r11, qword [rsp + 0x90]
mov rdx, r12
mov rcx, r13
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0xa8], r11
mov qword [rsp + 0x68], r11
mov qword [rsp + 0xa0], rax
call fcn.140021bd8
movups xmm4, xmmword [0x140049f60]
mov rdx, r12
mov rcx, r13
movups xmmword [rsp + 0xa0], xmm4
call fcn.140021bd8
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.140003bd9
mov r11, qword [rsp + 0x68]
test r11, r11
je 0x14002374b
test byte [r11 + 7], 0x40
jne 0x14002374b
mov rcx, r11
call fcn.140003594
test r15, r15
je 0x14002375f
test byte [r15 + 7], 0x40
jne 0x14002375f
mov rcx, r15
call fcn.140003594
cmp byte [rbp], 0
je 0x140022fd3
jmp 0x140024632
mov rdx, qword [rsp + 0x38]
mov rcx, r14
dec rdx
jmp 0x140023a0b
mov edx, 8
mov ecx, 0x40
lea r12, [rsp + 0xa0]
call fcn.140003f42
mov rcx, r12
mov rbx, rax
mov rax, qword [0x14004fd60]
mov qword [rbx], rax
lea rax, str.ValueError
mov qword [rbx + 0x10], rax
movzx edx, byte [rsi + r14 + 8]
mov qword [rsp + 0xc0], 0
mov qword [rsp + 0xc8], 0
call fcn.140002112
mov rax, qword [rsp + 0xa0]
cmp byte [rbp], 0
mov r15, qword [rsp + 0xa8]
mov qword [rsp + 0x80], rax
jne 0x140024608
mov rdx, r14
mov rcx, r12
call fcn.140002112
cmp byte [rbp], 0
mov rax, qword [rsp + 0xa0]
mov r11, qword [rsp + 0xa8]
jne 0x140023965
mov rcx, qword [rsp + 0x80]
mov qword [rsp + 0x98], r11
lea r13, [rsp + 0xc0]
mov qword [rsp + 0x90], rax
lea rdx, [rcx + rax + 0x38]
mov rcx, r12
call fcn.140004b2a
movups xmm0, xmmword [rsp + 0xa0]
mov rdx, r12
mov rcx, r13
movups xmm1, xmmword [0x140049fd0]
movups xmmword [rsp + 0xc0], xmm0
movups xmmword [rsp + 0xa0], xmm1
call fcn.140021bd8
movsx edx, byte [rsi + r14 + 8]
mov rcx, r13
call fcn.140021ba0
movups xmm2, xmmword [0x140049fb0]
mov rdx, r12
mov rcx, r13
movups xmmword [rsp + 0xa0], xmm2
call fcn.140021bd8
mov rax, qword [rsp + 0x80]
mov rdx, r12
mov rcx, r13
mov qword [rsp + 0xa8], r15
mov qword [rsp + 0xa0], rax
call fcn.140021bd8
movups xmm3, xmmword [0x140049f80]
mov rdx, r12
mov rcx, r13
movups xmmword [rsp + 0xa0], xmm3
call fcn.140021bd8
mov r11, qword [rsp + 0x98]
mov rdx, r12
mov rcx, r13
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0xa8], r11
mov qword [rsp + 0x80], r11
mov qword [rsp + 0xa0], rax
call fcn.140021bd8
movups xmm4, xmmword [0x140049f60]
mov rdx, r12
mov rcx, r13
movups xmmword [rsp + 0xa0], xmm4
call fcn.140021bd8
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.140003bd9
mov r11, qword [rsp + 0x80]
test r11, r11
je 0x140023979
test byte [r11 + 7], 0x40
jne 0x140023979
mov rcx, r11
call fcn.140003594
test r15, r15
je 0x14002398d
test byte [r15 + 7], 0x40
jne 0x14002398d
mov rcx, r15
call fcn.140003594
cmp byte [rbp], 0
je 0x140022ffe
jmp 0x140024632
cmp r12, qword [rsp + 0x38]
jge 0x1400242ca
movzx eax, byte [r12 + rsi + 8]
lea rdx, [0x140049de0]
mov al, byte [rdx + rax]
mov byte [rsp + 0x48], al
inc al
je 0x140023a32
inc r12
cmp qword [rsp + 0x38], r12
jle 0x1400242ca
movzx eax, byte [r12 + rsi + 8]
lea rdx, [0x140049de0]
movzx eax, byte [rdx + rax]
mov qword [rsp + 0x38], rax
cmp rax, 0xff
je 0x140023c20
cmp qword [rsp + 0x40], 0
mov rdx, qword [rsp + 0xb0]
jns 0x140023e0e
mov rcx, qword [rsp + 0x40]
dec rdx
call fcn.140004df8
jmp 0x140024632
mov ecx, 1
shl rcx, 0x3f
dec rdx
jmp 0x140023a0b
cmp rdx, 3
jne 0x14002459d
jmp 0x140023e61
mov edx, 8
mov ecx, 0x40
lea r13, [rsp + 0xa0]
call fcn.140003f42
mov rcx, r13
mov rdi, rax
mov rax, qword [0x14004fd60]
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.140002112
mov rax, qword [rsp + 0xa0]
cmp byte [rbp], 0
mov r15, qword [rsp + 0xa8]
mov qword [rsp + 0x50], rax
jne 0x1400245fd
mov rdx, r12
mov rcx, r13
call fcn.140002112
cmp byte [rbp], 0
mov rax, qword [rsp + 0xa0]
mov rbx, qword [rsp + 0xa8]
jne 0x140023bea
mov rcx, qword [rsp + 0x50]
lea r14, [rsp + 0xc0]
mov qword [rsp + 0x58], rax
lea rdx, [rcx + rax + 0x38]
mov rcx, r13
call fcn.140004b2a
movups xmm0, xmmword [rsp + 0xa0]
mov rdx, r13
mov rcx, r14
movups xmm1, xmmword [0x140049fd0]
movups xmmword [rsp + 0xc0], xmm0
movups xmmword [rsp + 0xa0], xmm1
call fcn.140021bd8
movsx edx, byte [r12 + rsi + 8]
mov rcx, r14
call fcn.140021ba0
movups xmm2, xmmword [0x140049fb0]
mov rdx, r13
mov rcx, r14
movups xmmword [rsp + 0xa0], xmm2
call fcn.140021bd8
mov rax, qword [rsp + 0x50]
mov rdx, r13
mov rcx, r14
mov qword [rsp + 0xa8], r15
mov qword [rsp + 0xa0], rax
call fcn.140021bd8
movups xmm3, xmmword [0x140049f80]
mov rdx, r13
mov rcx, r14
movups xmmword [rsp + 0xa0], xmm3
call fcn.140021bd8
mov rax, qword [rsp + 0x58]
mov rdx, r13
mov rcx, r14
mov qword [rsp + 0xa8], rbx
mov qword [rsp + 0xa0], rax
call fcn.140021bd8
movups xmm4, xmmword [0x140049f60]
mov rdx, r13
mov rcx, r14
movups xmmword [rsp + 0xa0], xmm4
call fcn.140021bd8
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.140003bd9
test rbx, rbx
je 0x140023bfd
test byte [rbx + 7], 0x40
jne 0x140023bfd
mov rcx, rbx
call fcn.140003594
test r15, r15
je 0x140023c11
test byte [r15 + 7], 0x40
jne 0x140023c11
mov rcx, r15
call fcn.140003594
cmp byte [rbp], 0
je 0x1400239bf
jmp 0x140024632
mov edx, 8
mov ecx, 0x40
lea r13, [rsp + 0xa0]
call fcn.140003f42
mov rcx, r13
mov rbx, rax
mov rax, qword [0x14004fd60]
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.140002112
mov rax, qword [rsp + 0xa0]
cmp byte [rbp], 0
mov r15, qword [rsp + 0xa8]
mov qword [rsp + 0x50], rax
jne 0x1400245f2
mov rdx, r12
mov rcx, r13
call fcn.140002112
cmp byte [rbp], 0
mov rax, qword [rsp + 0xa0]
mov rdi, qword [rsp + 0xa8]
jne 0x140023dd8
mov rcx, qword [rsp + 0x50]
lea r14, [rsp + 0xc0]
mov qword [rsp + 0x58], rax
lea rdx, [rcx + rax + 0x38]
mov rcx, r13
call fcn.140004b2a
movups xmm0, xmmword [rsp + 0xa0]
mov rdx, r13
mov rcx, r14
movups xmm1, xmmword [0x140049fd0]
movups xmmword [rsp + 0xc0], xmm0
movups xmmword [rsp + 0xa0], xmm1
call fcn.140021bd8
movsx edx, byte [r12 + rsi + 8]
mov rcx, r14
call fcn.140021ba0
movups xmm2, xmmword [0x140049fb0]
mov rdx, r13
mov rcx, r14
movups xmmword [rsp + 0xa0], xmm2
call fcn.140021bd8
mov rax, qword [rsp + 0x50]
mov rdx, r13
mov rcx, r14
mov qword [rsp + 0xa8], r15
mov qword [rsp + 0xa0], rax
call fcn.140021bd8
movups xmm3, xmmword [0x140049f80]
mov rdx, r13
mov rcx, r14
movups xmmword [rsp + 0xa0], xmm3
call fcn.140021bd8
mov rax, qword [rsp + 0x58]
mov rdx, r13
mov rcx, r14
mov qword [rsp + 0xa8], rdi
mov qword [rsp + 0xa0], rax
call fcn.140021bd8
movups xmm4, xmmword [0x140049f60]
mov rdx, r13
mov rcx, r14
movups xmmword [rsp + 0xa0], xmm4
call fcn.140021bd8
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.140003bd9
test rdi, rdi
je 0x140023deb
test byte [rdi + 7], 0x40
jne 0x140023deb
mov rcx, rdi
call fcn.140003594
test r15, r15
je 0x140023dff
test byte [r15 + 7], 0x40
jne 0x140023dff
mov rcx, r15
call fcn.140003594
cmp byte [rbp], 0
je 0x1400239ef
jmp 0x140024632
cmp rdx, qword [rsp + 0x40]
jle 0x140023a03
lea rcx, [rsp + 0xb0]
call fcn.140021bc3
mov bl, byte [rsp + 0x48]
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 0x140022f1f
mov qword [rsp + 0x40], rax
jmp 0x14002459d
cmp r12, qword [rsp + 0x38]
jge 0x1400242ca
movzx eax, byte [r12 + rsi + 8]
lea rdx, [0x140049de0]
mov al, byte [rdx + rax]
mov byte [rsp + 0x48], al
inc al
je 0x140023ea4
lea r15, [r12 + 1]
cmp qword [rsp + 0x38], r15
jg 0x140024092
mov rdx, qword [rsp + 0x38]
mov rcx, r15
dec rdx
jmp 0x140023a0b
mov edx, 8
mov ecx, 0x40
lea r13, [rsp + 0xa0]
call fcn.140003f42
mov rcx, r13
mov rdi, rax
mov rax, qword [0x14004fd60]
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.140002112
mov rax, qword [rsp + 0xa0]
cmp byte [rbp], 0
mov r15, qword [rsp + 0xa8]
mov qword [rsp + 0x50], rax
jne 0x1400245e7
mov rdx, r12
mov rcx, r13
call fcn.140002112
cmp byte [rbp], 0
mov rax, qword [rsp + 0xa0]
mov rbx, qword [rsp + 0xa8]
jne 0x14002405c
mov rcx, qword [rsp + 0x50]
lea r14, [rsp + 0xc0]
mov qword [rsp + 0x58], rax
lea rdx, [rcx + rax + 0x38]
mov rcx, r13
call fcn.140004b2a
movups xmm0, xmmword [rsp + 0xa0]
mov rdx, r13
mov rcx, r14
movups xmm1, xmmword [0x140049fd0]
movups xmmword [rsp + 0xc0], xmm0
movups xmmword [rsp + 0xa0], xmm1
call fcn.140021bd8
movsx edx, byte [r12 + rsi + 8]
mov rcx, r14
call fcn.140021ba0
movups xmm2, xmmword [0x140049fb0]
mov rdx, r13
mov rcx, r14
movups xmmword [rsp + 0xa0], xmm2
call fcn.140021bd8
mov rax, qword [rsp + 0x50]
mov rdx, r13
mov rcx, r14
mov qword [rsp + 0xa8], r15
mov qword [rsp + 0xa0], rax
call fcn.140021bd8
movups xmm3, xmmword [0x140049f80]
mov rdx, r13
mov rcx, r14
movups xmmword [rsp + 0xa0], xmm3
call fcn.140021bd8
mov rax, qword [rsp + 0x58]
mov rdx, r13
mov rcx, r14
mov qword [rsp + 0xa8], rbx
mov qword [rsp + 0xa0], rax
call fcn.140021bd8
movups xmm4, xmmword [0x140049f60]
mov rdx, r13
mov rcx, r14
movups xmmword [rsp + 0xa0], xmm4
call fcn.140021bd8
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.140003bd9
test rbx, rbx
je 0x14002406f
test byte [rbx + 7], 0x40
jne 0x14002406f
mov rcx, rbx
call fcn.140003594
test r15, r15
je 0x140024083
test byte [r15 + 7], 0x40
jne 0x140024083
mov rcx, r15
call fcn.140003594
cmp byte [rbp], 0
je 0x140023e84
jmp 0x140024632
movzx eax, byte [r15 + rsi + 8]
lea rdx, [0x140049de0]
movzx eax, byte [rdx + rax]
mov byte [rsp + 0x50], al
mov qword [rsp + 0x58], rax
cmp rax, 0xff
je 0x1400240c8
add r12, 2
cmp qword [rsp + 0x38], r12
jg 0x1400242d4
jmp 0x1400242ca
mov edx, 8
mov ecx, 0x40
lea r13, [rsp + 0xa0]
call fcn.140003f42
mov rcx, r13
mov rdi, rax
mov rax, qword [0x14004fd60]
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.140002112
mov rax, qword [rsp + 0xa0]
cmp byte [rbp], 0
mov rbx, qword [rsp + 0xa8]
mov qword [rsp + 0x60], rax
jne 0x1400245dc
mov rdx, r15
mov rcx, r13
call fcn.140002112
cmp byte [rbp], 0
mov rax, qword [rsp + 0xa0]
mov r11, qword [rsp + 0xa8]
jne 0x140024294
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.140004b2a
movups xmm0, xmmword [rsp + 0xa0]
mov rdx, r13
mov rcx, r14
movups xmm1, xmmword [0x140049fd0]
movups xmmword [rsp + 0xc0], xmm0
movups xmmword [rsp + 0xa0], xmm1
call fcn.140021bd8
movsx edx, byte [r15 + rsi + 8]
mov rcx, r14
call fcn.140021ba0
movups xmm2, xmmword [0x140049fb0]
mov rdx, r13
mov rcx, r14
movups xmmword [rsp + 0xa0], xmm2
call fcn.140021bd8
mov rax, qword [rsp + 0x60]
mov rdx, r13
mov rcx, r14
mov qword [rsp + 0xa8], rbx
mov qword [rsp + 0xa0], rax
call fcn.140021bd8
movups xmm3, xmmword [0x140049f80]
mov rdx, r13
mov rcx, r14
movups xmmword [rsp + 0xa0], xmm3
call fcn.140021bd8
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.140021bd8
movups xmm4, xmmword [0x140049f60]
mov rdx, r13
mov rcx, r14
movups xmmword [rsp + 0xa0], xmm4
call fcn.140021bd8
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.140003bd9
mov r11, qword [rsp + 0x60]
test r11, r11
je 0x1400242a8
test byte [r11 + 7], 0x40
jne 0x1400242a8
mov rcx, r11
call fcn.140003594
test rbx, rbx
je 0x1400242bb
test byte [rbx + 7], 0x40
jne 0x1400242bb
mov rcx, rbx
call fcn.140003594
cmp byte [rbp], 0
je 0x1400240b4
jmp 0x140024632
mov rdx, qword [rsp + 0x38]
jmp 0x14002455c
movzx eax, byte [r12 + rsi + 8]
lea rdx, [0x140049de0]
movzx eax, byte [rdx + rax]
mov qword [rsp + 0x38], rax
cmp rax, 0xff
je 0x14002430b
cmp qword [rsp + 0x40], 0
mov rdx, qword [rsp + 0xb0]
jns 0x1400244ff
jmp 0x140023a03
mov edx, 8
mov ecx, 0x40
lea r13, [rsp + 0xa0]
call fcn.140003f42
mov rcx, r13
mov rbx, rax
mov rax, qword [0x14004fd60]
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.140002112
cmp byte [rbp], 0
mov rdi, qword [rsp + 0xa0]
mov r15, qword [rsp + 0xa8]
jne 0x1400245d1
mov rdx, r12
mov rcx, r13
call fcn.140002112
cmp byte [rbp], 0
mov rax, qword [rsp + 0xa0]
mov r10, qword [rsp + 0xa8]
jne 0x1400244c8
lea rdx, [rdi + rax + 0x38]
mov rcx, r13
mov qword [rsp + 0x68], r10
lea r14, [rsp + 0xc0]
mov qword [rsp + 0x60], rax
call fcn.140004b2a
movups xmm0, xmmword [rsp + 0xa0]
mov rdx, r13
mov rcx, r14
movups xmm1, xmmword [0x140049fd0]
movups xmmword [rsp + 0xc0], xmm0
movups xmmword [rsp + 0xa0], xmm1
call fcn.140021bd8
movsx edx, byte [r12 + rsi + 8]
mov rcx, r14
call fcn.140021ba0
movups xmm2, xmmword [0x140049fb0]
mov rdx, r13
mov rcx, r14
movups xmmword [rsp + 0xa0], xmm2
call fcn.140021bd8
mov rdx, r13
mov rcx, r14
mov qword [rsp + 0xa0], rdi
mov qword [rsp + 0xa8], r15
call fcn.140021bd8
movups xmm3, xmmword [0x140049f80]
mov rdx, r13
mov rcx, r14
movups xmmword [rsp + 0xa0], xmm3
call fcn.140021bd8
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.140021bd8
movups xmm4, xmmword [0x140049f60]
mov rdx, r13
mov rcx, r14
movups xmmword [rsp + 0xa0], xmm4
call fcn.140021bd8
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.140003bd9
mov r10, qword [rsp + 0x60]
test r10, r10
je 0x1400244dc
test byte [r10 + 7], 0x40
jne 0x1400244dc
mov rcx, r10
call fcn.140003594
test r15, r15
je 0x1400244f0
test byte [r15 + 7], 0x40
jne 0x1400244f0
mov rcx, r15
call fcn.140003594
cmp byte [rbp], 0
je 0x1400242f2
jmp 0x140024632
cmp rdx, qword [rsp + 0x40]
jle 0x140023a03
lea r13, [rsp + 0xb0]
mov rcx, r13
call fcn.140021bc3
mov al, byte [rsp + 0x48]
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 0x140022f1f
mov rdx, qword [rsp + 0xb0]
test r12, r12
js 0x14002455c
cmp rdx, r12
jg 0x140024567
dec rdx
mov rcx, r12
jmp 0x140023a0b
mov rcx, r13
call fcn.140021bc3
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 0x140022f1f
mov qword [rsp + 0x40], r12
cmp qword [rsp + 0x40], 0
jns 0x1400245bd
mov rcx, qword [rsp + 0x40]
xor edx, edx
movabs r8, 0x7fffffffffffffff
call fcn.140003d34
jmp 0x140024632
mov rdx, qword [rsp + 0x40]
lea rcx, [rsp + 0xb0]
call fcn.140004bf7
jmp 0x140024632
test r15, r15
jne 0x1400244e1
jmp 0x140024632
test rbx, rbx
jne 0x1400242ad
jmp 0x140024632
test r15, r15
jne 0x140024074
jmp 0x140024632
test r15, r15
jne 0x140023df0
jmp 0x140024632
test r15, r15
jne 0x140023c02
jmp 0x140024632
test r15, r15
jne 0x14002397e
jmp 0x140024632
test r15, r15
jne 0x140023750
jmp 0x140024632
test r14, r14
jne 0x140023541
jmp 0x140024632
test r15, r15
jne 0x140023341
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