Function at 0x14000c6c0
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 0x14000de97
mov rcx, rax
call fcn.14000c69a
mov rcx, qword [0x140119fd0]
mov r12, rax
call fcn.140013d30
cmp byte [rax], 0
mov rbp, rax
jne 0x14000de97
test r12, r12
jns 0x14000c744
movabs r8, 0x7fffffffffffffff
xor edx, edx
mov rcx, r12
jmp 0x14000de26
lea rcx, [rsp + 0xb0]
mov rdx, r12
call fcn.140004a66
mov rax, qword [rsp + 0x38]
movabs r8, 0x2000000100002400
mov rcx, rax
mov qword [rsp + 0x78], rax
sub rcx, 1
mov rax, rcx
jno 0x14000c77e
call fcn.1400037da
jmp 0x14000de97
cmp rcx, qword [rsp + 0x38]
jge 0x14000c78a
test rcx, rcx
jns 0x14000c794
mov rdx, qword [rsp + 0x38]
jmp 0x14000d1e6
mov cl, byte [rcx + rsi + 8]
cmp cl, 0x3d
ja 0x14000c7a8
mov rdx, r8
shr rdx, cl
and dl, 1
jne 0x14000c763
mov rax, qword [rsp + 0x78]
sub rax, 4
seto r12b
mov qword [rsp + 0x88], rax
movzx r12d, r12b
jo 0x14000c774
mov qword [rsp + 0x40], 0
cmp qword [rsp + 0x88], r12
jge 0x14000c82d
mov rax, r12
sub rax, qword [rsp + 0x78]
jo 0x14000c774
mov ecx, 4
cqo
idiv rcx
mov rax, rdx
sar rax, 0x3f
xor rdx, rax
sub rdx, rax
cmp rdx, 2
je 0x14000d230
jmp 0x14000d221
test r12, r12
js 0x14000db3a
movzx ecx, byte [rsi + r12 + 8]
cmp cl, 0x20
ja 0x14000c839
mov eax, 0x400009
shl rax, 0xa
shr rax, cl
test al, 1
je 0x14000c839
inc r12
cmp r12, qword [rsp + 0x38]
jl 0x14000c806
jmp 0x14000db3a
lea rax, [0x14001c0c0]
mov al, byte [rax + rcx]
mov byte [rsp + 0x4f], al
inc al
jne 0x14000ca1b
mov edx, 8
mov ecx, 0x40
lea r13, [rsp + 0xa0]
call fcn.140004c7e
mov rcx, r13
mov rdi, rax
mov rax, qword [0x140119ef0]
mov qword [rdi], rax
lea rax, [0x14001c020]
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 0x14000ca47
mov rdx, r12
mov rcx, r13
call fcn.140001d20
cmp byte [rbp], 0
mov rax, qword [rsp + 0xa0]
mov rbx, qword [rsp + 0xa8]
jne 0x14000ca07
mov rcx, qword [rsp + 0x50]
lea r14, [rsp + 0xc0]
mov qword [rsp + 0x58], rax
lea rdx, [rcx + rax + 0x38]
mov rcx, r13
call fcn.140004aff
movups xmm0, xmmword [rsp + 0xa0]
mov rdx, r13
mov rcx, r14
movups xmm1, xmmword [0x14001c230]
movups xmmword [rsp + 0xc0], xmm0
movups xmmword [rsp + 0xa0], xmm1
call fcn.14000c638
movsx edx, byte [rsi + r12 + 8]
mov rcx, r14
call fcn.14000c600
movups xmm2, xmmword [0x14001c210]
mov rdx, r13
mov rcx, r14
movups xmmword [rsp + 0xa0], xmm2
call fcn.14000c638
mov rax, qword [rsp + 0x50]
mov rdx, r13
mov rcx, r14
mov qword [rsp + 0xa8], r15
mov qword [rsp + 0xa0], rax
call fcn.14000c638
movups xmm3, xmmword [0x14001c1e0]
mov rdx, r13
mov rcx, r14
movups xmmword [rsp + 0xa0], xmm3
call fcn.14000c638
mov rax, qword [rsp + 0x58]
mov rdx, r13
mov rcx, r14
mov qword [rsp + 0xa8], rbx
mov qword [rsp + 0xa0], rax
call fcn.14000c638
movups xmm4, xmmword [0x14001c1c0]
mov rdx, r13
mov rcx, r14
movups xmmword [rsp + 0xa0], xmm4
call fcn.14000c638
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, [0x14001c020]
mov qword [rsp + 0x20], 0xee
call fcn.140003e2e
test rbx, rbx
jne 0x14000ca37
test r15, r15
jne 0x14000ca50
cmp byte [rbp], 0
jne 0x14000de97
lea r13, [r12 + 1]
cmp r13, qword [rsp + 0x38]
jl 0x14000ca61
mov rdx, qword [rsp + 0x38]
mov rcx, r13
dec rdx
jmp 0x14000d137
test byte [rbx + 7], 0x40
jne 0x14000ca0c
mov rcx, rbx
call fcn.1400036ea
jmp 0x14000ca0c
test r15, r15
je 0x14000de97
test byte [r15 + 7], 0x40
jne 0x14000ca11
mov rcx, r15
call fcn.1400036ea
jmp 0x14000ca11
movzx eax, byte [r13 + rsi + 8]
lea rdx, [0x14001c0c0]
movzx eax, byte [rdx + rax]
mov byte [rsp + 0x50], al
mov qword [rsp + 0x68], rax
cmp rax, 0xff
je 0x14000caa6
mov r12, r13
inc r12
js 0x14000c774
cmp r12, r13
jb 0x14000c774
test r12, r12
jns 0x14000cc9a
jmp 0x14000db3a
mov edx, 8
mov ecx, 0x40
lea r12, [rsp + 0xa0]
call fcn.140004c7e
mov rcx, r12
mov rdi, rax
mov rax, qword [0x140119ef0]
mov qword [rdi], rax
lea rax, [0x14001c020]
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 0x14000de8e
mov rdx, r13
mov rcx, r12
call fcn.140001d20
cmp byte [rbp], 0
mov rax, qword [rsp + 0xa0]
mov r10, qword [rsp + 0xa8]
jne 0x14000cc63
lea rdx, [rbx + rax + 0x38]
mov rcx, r12
mov qword [rsp + 0x60], r10
lea r14, [rsp + 0xc0]
mov qword [rsp + 0x58], rax
call fcn.140004aff
movups xmm0, xmmword [rsp + 0xa0]
mov rdx, r12
mov rcx, r14
movups xmm1, xmmword [0x14001c230]
movups xmmword [rsp + 0xc0], xmm0
movups xmmword [rsp + 0xa0], xmm1
call fcn.14000c638
movsx edx, byte [rsi + r13 + 8]
mov rcx, r14
call fcn.14000c600
movups xmm2, xmmword [0x14001c210]
mov rdx, r12
mov rcx, r14
movups xmmword [rsp + 0xa0], xmm2
call fcn.14000c638
mov rdx, r12
mov rcx, r14
mov qword [rsp + 0xa0], rbx
mov qword [rsp + 0xa8], r15
call fcn.14000c638
movups xmm3, xmmword [0x14001c1e0]
mov rdx, r12
mov rcx, r14
movups xmmword [rsp + 0xa0], xmm3
call fcn.14000c638
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.14000c638
movups xmm4, xmmword [0x14001c1c0]
mov rdx, r12
mov rcx, r14
movups xmmword [rsp + 0xa0], xmm4
call fcn.14000c638
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, [0x14001c020]
mov qword [rsp + 0x20], 0xee
call fcn.140003e2e
mov r10, qword [rsp + 0x58]
test r10, r10
je 0x14000cc77
test byte [r10 + 7], 0x40
jne 0x14000cc77
mov rcx, r10
call fcn.1400036ea
test r15, r15
je 0x14000cc8b
test byte [r15 + 7], 0x40
jne 0x14000cc8b
mov rcx, r15
call fcn.1400036ea
cmp byte [rbp], 0
je 0x14000ca83
jmp 0x14000de97
cmp r12, qword [rsp + 0x38]
jge 0x14000db3a
movzx eax, byte [r12 + rsi + 8]
lea rdx, [0x14001c0c0]
movzx eax, byte [rdx + rax]
mov byte [rsp + 0x58], al
mov qword [rsp + 0x70], rax
cmp rax, 0xff
je 0x14000ccdc
lea r15, [r12 + 1]
cmp r15, qword [rsp + 0x38]
jl 0x14000ced6
jmp 0x14000d8f2
mov edx, 8
mov ecx, 0x40
lea r13, [rsp + 0xa0]
call fcn.140004c7e
mov rcx, r13
mov rdi, rax
mov rax, qword [0x140119ef0]
mov qword [rdi], rax
lea rax, [0x14001c020]
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 0x14000de83
mov rdx, r12
mov rcx, r13
call fcn.140001d20
cmp byte [rbp], 0
mov rax, qword [rsp + 0xa0]
mov r10, qword [rsp + 0xa8]
jne 0x14000ce9f
lea rdx, [rbx + rax + 0x38]
mov rcx, r13
mov qword [rsp + 0x80], r10
lea r14, [rsp + 0xc0]
mov qword [rsp + 0x60], rax
call fcn.140004aff
movups xmm0, xmmword [rsp + 0xa0]
mov rdx, r13
mov rcx, r14
movups xmm1, xmmword [0x14001c230]
movups xmmword [rsp + 0xc0], xmm0
movups xmmword [rsp + 0xa0], xmm1
call fcn.14000c638
movsx edx, byte [rsi + r12 + 8]
mov rcx, r14
call fcn.14000c600
movups xmm2, xmmword [0x14001c210]
mov rdx, r13
mov rcx, r14
movups xmmword [rsp + 0xa0], xmm2
call fcn.14000c638
mov rdx, r13
mov rcx, r14
mov qword [rsp + 0xa0], rbx
mov qword [rsp + 0xa8], r15
call fcn.14000c638
movups xmm3, xmmword [0x14001c1e0]
mov rdx, r13
mov rcx, r14
movups xmmword [rsp + 0xa0], xmm3
call fcn.14000c638
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.14000c638
movups xmm4, xmmword [0x14001c1c0]
mov rdx, r13
mov rcx, r14
movups xmmword [rsp + 0xa0], xmm4
call fcn.14000c638
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, [0x14001c020]
mov qword [rsp + 0x20], 0xee
call fcn.140003e2e
mov r10, qword [rsp + 0x60]
test r10, r10
je 0x14000ceb3
test byte [r10 + 7], 0x40
jne 0x14000ceb3
mov rcx, r10
call fcn.1400036ea
test r15, r15
je 0x14000cec7
test byte [r15 + 7], 0x40
jne 0x14000cec7
mov rcx, r15
call fcn.1400036ea
cmp byte [rbp], 0
je 0x14000ccc7
jmp 0x14000de97
movzx eax, byte [r15 + rsi + 8]
lea rdx, [0x14001c0c0]
mov al, byte [rdx + rax]
mov byte [rsp + 0x60], al
inc al
je 0x14000cf0b
add r12, 2
cmp qword [rsp + 0x40], 0
mov rdx, qword [rsp + 0xb0]
jns 0x14000d128
jmp 0x14000d12f
mov edx, 8
mov ecx, 0x40
lea r13, [rsp + 0xa0]
call fcn.140004c7e
mov rcx, r13
mov rdi, rax
mov rax, qword [0x140119ef0]
mov qword [rdi], rax
lea rax, [0x14001c020]
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 0x14000de78
mov rdx, r15
mov rcx, r13
call fcn.140001d20
cmp byte [rbp], 0
mov rax, qword [rsp + 0xa0]
mov r10, qword [rsp + 0xa8]
jne 0x14000d0f2
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.140004aff
movups xmm0, xmmword [rsp + 0xa0]
mov rdx, r13
mov rcx, r14
movups xmm1, xmmword [0x14001c230]
movups xmmword [rsp + 0xc0], xmm0
movups xmmword [rsp + 0xa0], xmm1
call fcn.14000c638
movsx edx, byte [rsi + r15 + 8]
mov rcx, r14
call fcn.14000c600
movups xmm2, xmmword [0x14001c210]
mov rdx, r13
mov rcx, r14
movups xmmword [rsp + 0xa0], xmm2
call fcn.14000c638
mov rax, qword [rsp + 0x80]
mov rdx, r13
mov rcx, r14
mov qword [rsp + 0xa8], rbx
mov qword [rsp + 0xa0], rax
call fcn.14000c638
movups xmm3, xmmword [0x14001c1e0]
mov rdx, r13
mov rcx, r14
movups xmmword [rsp + 0xa0], xmm3
call fcn.14000c638
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.14000c638
movups xmm4, xmmword [0x14001c1c0]
mov rdx, r13
mov rcx, r14
movups xmmword [rsp + 0xa0], xmm4
call fcn.14000c638
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, [0x14001c020]
mov qword [rsp + 0x20], 0xee
call fcn.140003e2e
mov r10, qword [rsp + 0x80]
test r10, r10
je 0x14000d106
test byte [r10 + 7], 0x40
jne 0x14000d106
mov rcx, r10
call fcn.1400036ea
test rbx, rbx
je 0x14000d119
test byte [rbx + 7], 0x40
jne 0x14000d119
mov rcx, rbx
call fcn.1400036ea
cmp byte [rbp], 0
je 0x14000ceee
jmp 0x14000de97
cmp qword [rsp + 0x40], rdx
jl 0x14000d141
mov rcx, qword [rsp + 0x40]
dec rdx
call fcn.140004dca
jmp 0x14000de97
lea r13, [rsp + 0xb0]
mov rcx, r13
call fcn.14000c623
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 0x14000c774
mov rdx, qword [rsp + 0xb0]
test rbx, rbx
js 0x14000d1dd
cmp rbx, rdx
jge 0x14000d1e6
mov rcx, r13
call fcn.14000c623
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 0x14000c774
mov rdx, qword [rsp + 0xb0]
test rbx, rbx
js 0x14000d1dd
cmp rbx, rdx
jl 0x14000d1ee
jmp 0x14000d1e6
mov ecx, 1
shl rcx, 0x3f
dec rdx
jmp 0x14000d137
mov rcx, r13
call fcn.14000c623
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 0x14000c7cc
jmp 0x14000c774
cmp rdx, 3
jne 0x14000de0d
jmp 0x14000d6cc
cmp r12, qword [rsp + 0x38]
jge 0x14000db3a
movzx eax, byte [r12 + rsi + 8]
lea rdx, [0x14001c0c0]
mov al, byte [rdx + rax]
mov byte [rsp + 0x4f], al
inc al
je 0x14000d266
inc r12
cmp qword [rsp + 0x38], r12
jg 0x14000d454
jmp 0x14000db3a
mov edx, 8
mov ecx, 0x40
lea r13, [rsp + 0xa0]
call fcn.140004c7e
mov rcx, r13
mov rdi, rax
mov rax, qword [0x140119ef0]
mov qword [rdi], rax
lea rax, [0x14001c020]
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 0x14000de6d
mov rdx, r12
mov rcx, r13
call fcn.140001d20
cmp byte [rbp], 0
mov rax, qword [rsp + 0xa0]
mov rbx, qword [rsp + 0xa8]
jne 0x14000d41e
mov rcx, qword [rsp + 0x50]
lea r14, [rsp + 0xc0]
mov qword [rsp + 0x58], rax
lea rdx, [rcx + rax + 0x38]
mov rcx, r13
call fcn.140004aff
movups xmm0, xmmword [rsp + 0xa0]
mov rdx, r13
mov rcx, r14
movups xmm1, xmmword [0x14001c230]
movups xmmword [rsp + 0xc0], xmm0
movups xmmword [rsp + 0xa0], xmm1
call fcn.14000c638
movsx edx, byte [r12 + rsi + 8]
mov rcx, r14
call fcn.14000c600
movups xmm2, xmmword [0x14001c210]
mov rdx, r13
mov rcx, r14
movups xmmword [rsp + 0xa0], xmm2
call fcn.14000c638
mov rax, qword [rsp + 0x50]
mov rdx, r13
mov rcx, r14
mov qword [rsp + 0xa8], r15
mov qword [rsp + 0xa0], rax
call fcn.14000c638
movups xmm3, xmmword [0x14001c1e0]
mov rdx, r13
mov rcx, r14
movups xmmword [rsp + 0xa0], xmm3
call fcn.14000c638
mov rax, qword [rsp + 0x58]
mov rdx, r13
mov rcx, r14
mov qword [rsp + 0xa8], rbx
mov qword [rsp + 0xa0], rax
call fcn.14000c638
movups xmm4, xmmword [0x14001c1c0]
mov rdx, r13
mov rcx, r14
movups xmmword [rsp + 0xa0], xmm4
call fcn.14000c638
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, [0x14001c020]
mov qword [rsp + 0x20], 0xee
call fcn.140003e2e
test rbx, rbx
je 0x14000d431
test byte [rbx + 7], 0x40
jne 0x14000d431
mov rcx, rbx
call fcn.1400036ea
test r15, r15
je 0x14000d445
test byte [r15 + 7], 0x40
jne 0x14000d445
mov rcx, r15
call fcn.1400036ea
cmp byte [rbp], 0
je 0x14000d253
jmp 0x14000de97
movzx eax, byte [r12 + rsi + 8]
lea rdx, [0x14001c0c0]
movzx eax, byte [rdx + rax]
mov qword [rsp + 0x38], rax
cmp rax, 0xff
je 0x14000d48b
cmp qword [rsp + 0x40], 0
mov rdx, qword [rsp + 0xb0]
jns 0x14000d679
jmp 0x14000d12f
mov edx, 8
mov ecx, 0x40
lea r13, [rsp + 0xa0]
call fcn.140004c7e
mov rcx, r13
mov rbx, rax
mov rax, qword [0x140119ef0]
mov qword [rbx], rax
lea rax, [0x14001c020]
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 0x14000de62
mov rdx, r12
mov rcx, r13
call fcn.140001d20
cmp byte [rbp], 0
mov rax, qword [rsp + 0xa0]
mov rdi, qword [rsp + 0xa8]
jne 0x14000d643
mov rcx, qword [rsp + 0x50]
lea r14, [rsp + 0xc0]
mov qword [rsp + 0x58], rax
lea rdx, [rcx + rax + 0x38]
mov rcx, r13
call fcn.140004aff
movups xmm0, xmmword [rsp + 0xa0]
mov rdx, r13
mov rcx, r14
movups xmm1, xmmword [0x14001c230]
movups xmmword [rsp + 0xc0], xmm0
movups xmmword [rsp + 0xa0], xmm1
call fcn.14000c638
movsx edx, byte [r12 + rsi + 8]
mov rcx, r14
call fcn.14000c600
movups xmm2, xmmword [0x14001c210]
mov rdx, r13
mov rcx, r14
movups xmmword [rsp + 0xa0], xmm2
call fcn.14000c638
mov rax, qword [rsp + 0x50]
mov rdx, r13
mov rcx, r14
mov qword [rsp + 0xa8], r15
mov qword [rsp + 0xa0], rax
call fcn.14000c638
movups xmm3, xmmword [0x14001c1e0]
mov rdx, r13
mov rcx, r14
movups xmmword [rsp + 0xa0], xmm3
call fcn.14000c638
mov rax, qword [rsp + 0x58]
mov rdx, r13
mov rcx, r14
mov qword [rsp + 0xa8], rdi
mov qword [rsp + 0xa0], rax
call fcn.14000c638
movups xmm4, xmmword [0x14001c1c0]
mov rdx, r13
mov rcx, r14
movups xmmword [rsp + 0xa0], xmm4
call fcn.14000c638
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, [0x14001c020]
mov qword [rsp + 0x20], 0xee
call fcn.140003e2e
test rdi, rdi
je 0x14000d656
test byte [rdi + 7], 0x40
jne 0x14000d656
mov rcx, rdi
call fcn.1400036ea
test r15, r15
je 0x14000d66a
test byte [r15 + 7], 0x40
jne 0x14000d66a
mov rcx, r15
call fcn.1400036ea
cmp byte [rbp], 0
je 0x14000d472
jmp 0x14000de97
cmp rdx, qword [rsp + 0x40]
jle 0x14000d12f
lea rcx, [rsp + 0xb0]
call fcn.14000c623
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 0x14000c774
mov qword [rsp + 0x40], rax
jmp 0x14000de0d
cmp r12, qword [rsp + 0x38]
jge 0x14000db3a
movzx eax, byte [r12 + rsi + 8]
lea rdx, [0x14001c0c0]
mov al, byte [rdx + rax]
mov byte [rsp + 0x4f], al
inc al
je 0x14000d704
lea r15, [r12 + 1]
cmp qword [rsp + 0x38], r15
jg 0x14000d902
jmp 0x14000d8f2
mov edx, 8
mov ecx, 0x40
lea r13, [rsp + 0xa0]
call fcn.140004c7e
mov rcx, r13
mov rdi, rax
mov rax, qword [0x140119ef0]
mov qword [rdi], rax
lea rax, [0x14001c020]
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 0x14000de57
mov rdx, r12
mov rcx, r13
call fcn.140001d20
cmp byte [rbp], 0
mov rax, qword [rsp + 0xa0]
mov rbx, qword [rsp + 0xa8]
jne 0x14000d8bc
mov rcx, qword [rsp + 0x50]
lea r14, [rsp + 0xc0]
mov qword [rsp + 0x58], rax
lea rdx, [rcx + rax + 0x38]
mov rcx, r13
call fcn.140004aff
movups xmm0, xmmword [rsp + 0xa0]
mov rdx, r13
mov rcx, r14
movups xmm1, xmmword [0x14001c230]
movups xmmword [rsp + 0xc0], xmm0
movups xmmword [rsp + 0xa0], xmm1
call fcn.14000c638
movsx edx, byte [r12 + rsi + 8]
mov rcx, r14
call fcn.14000c600
movups xmm2, xmmword [0x14001c210]
mov rdx, r13
mov rcx, r14
movups xmmword [rsp + 0xa0], xmm2
call fcn.14000c638
mov rax, qword [rsp + 0x50]
mov rdx, r13
mov rcx, r14
mov qword [rsp + 0xa8], r15
mov qword [rsp + 0xa0], rax
call fcn.14000c638
movups xmm3, xmmword [0x14001c1e0]
mov rdx, r13
mov rcx, r14
movups xmmword [rsp + 0xa0], xmm3
call fcn.14000c638
mov rax, qword [rsp + 0x58]
mov rdx, r13
mov rcx, r14
mov qword [rsp + 0xa8], rbx
mov qword [rsp + 0xa0], rax
call fcn.14000c638
movups xmm4, xmmword [0x14001c1c0]
mov rdx, r13
mov rcx, r14
movups xmmword [rsp + 0xa0], xmm4
call fcn.14000c638
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, [0x14001c020]
mov qword [rsp + 0x20], 0xee
call fcn.140003e2e
test rbx, rbx
je 0x14000d8cf
test byte [rbx + 7], 0x40
jne 0x14000d8cf
mov rcx, rbx
call fcn.1400036ea
test r15, r15
je 0x14000d8e3
test byte [r15 + 7], 0x40
jne 0x14000d8e3
mov rcx, r15
call fcn.1400036ea
cmp byte [rbp], 0
je 0x14000d6ef
jmp 0x14000de97
mov rdx, qword [rsp + 0x38]
mov rcx, r15
dec rdx
jmp 0x14000d137
movzx eax, byte [r15 + rsi + 8]
lea rdx, [0x14001c0c0]
movzx eax, byte [rdx + rax]
mov byte [rsp + 0x50], al
mov qword [rsp + 0x58], rax
cmp rax, 0xff
je 0x14000d938
add r12, 2
cmp r12, qword [rsp + 0x38]
jl 0x14000db44
jmp 0x14000db3a
mov edx, 8
mov ecx, 0x40
lea r13, [rsp + 0xa0]
call fcn.140004c7e
mov rcx, r13
mov rdi, rax
mov rax, qword [0x140119ef0]
mov qword [rdi], rax
lea rax, [0x14001c020]
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 0x14000de4c
mov rdx, r15
mov rcx, r13
call fcn.140001d20
cmp byte [rbp], 0
mov rax, qword [rsp + 0xa0]
mov r11, qword [rsp + 0xa8]
jne 0x14000db04
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.140004aff
movups xmm0, xmmword [rsp + 0xa0]
mov rdx, r13
mov rcx, r14
movups xmm1, xmmword [0x14001c230]
movups xmmword [rsp + 0xc0], xmm0
movups xmmword [rsp + 0xa0], xmm1
call fcn.14000c638
movsx edx, byte [r15 + rsi + 8]
mov rcx, r14
call fcn.14000c600
movups xmm2, xmmword [0x14001c210]
mov rdx, r13
mov rcx, r14
movups xmmword [rsp + 0xa0], xmm2
call fcn.14000c638
mov rax, qword [rsp + 0x60]
mov rdx, r13
mov rcx, r14
mov qword [rsp + 0xa8], rbx
mov qword [rsp + 0xa0], rax
call fcn.14000c638
movups xmm3, xmmword [0x14001c1e0]
mov rdx, r13
mov rcx, r14
movups xmmword [rsp + 0xa0], xmm3
call fcn.14000c638
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.14000c638
movups xmm4, xmmword [0x14001c1c0]
mov rdx, r13
mov rcx, r14
movups xmmword [rsp + 0xa0], xmm4
call fcn.14000c638
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, [0x14001c020]
mov qword [rsp + 0x20], 0xee
call fcn.140003e2e
mov r11, qword [rsp + 0x60]
test r11, r11
je 0x14000db18
test byte [r11 + 7], 0x40
jne 0x14000db18
mov rcx, r11
call fcn.1400036ea
test rbx, rbx
je 0x14000db2b
test byte [rbx + 7], 0x40
jne 0x14000db2b
mov rcx, rbx
call fcn.1400036ea
cmp byte [rbp], 0
je 0x14000d924
jmp 0x14000de97
mov rdx, qword [rsp + 0x38]
jmp 0x14000ddcc
movzx eax, byte [r12 + rsi + 8]
lea rdx, [0x14001c0c0]
movzx eax, byte [rdx + rax]
mov qword [rsp + 0x38], rax
cmp rax, 0xff
je 0x14000db7b
cmp qword [rsp + 0x40], 0
mov rdx, qword [rsp + 0xb0]
jns 0x14000dd6f
jmp 0x14000d12f
mov edx, 8
mov ecx, 0x40
lea r13, [rsp + 0xa0]
call fcn.140004c7e
mov rcx, r13
mov rbx, rax
mov rax, qword [0x140119ef0]
mov qword [rbx], rax
lea rax, [0x14001c020]
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 0x14000de41
mov rdx, r12
mov rcx, r13
call fcn.140001d20
cmp byte [rbp], 0
mov rax, qword [rsp + 0xa0]
mov r10, qword [rsp + 0xa8]
jne 0x14000dd38
lea rdx, [rdi + rax + 0x38]
mov rcx, r13
mov qword [rsp + 0x68], r10
lea r14, [rsp + 0xc0]
mov qword [rsp + 0x60], rax
call fcn.140004aff
movups xmm0, xmmword [rsp + 0xa0]
mov rdx, r13
mov rcx, r14
movups xmm1, xmmword [0x14001c230]
movups xmmword [rsp + 0xc0], xmm0
movups xmmword [rsp + 0xa0], xmm1
call fcn.14000c638
movsx edx, byte [r12 + rsi + 8]
mov rcx, r14
call fcn.14000c600
movups xmm2, xmmword [0x14001c210]
mov rdx, r13
mov rcx, r14
movups xmmword [rsp + 0xa0], xmm2
call fcn.14000c638
mov rdx, r13
mov rcx, r14
mov qword [rsp + 0xa0], rdi
mov qword [rsp + 0xa8], r15
call fcn.14000c638
movups xmm3, xmmword [0x14001c1e0]
mov rdx, r13
mov rcx, r14
movups xmmword [rsp + 0xa0], xmm3
call fcn.14000c638
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.14000c638
movups xmm4, xmmword [0x14001c1c0]
mov rdx, r13
mov rcx, r14
movups xmmword [rsp + 0xa0], xmm4
call fcn.14000c638
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, [0x14001c020]
mov qword [rsp + 0x20], 0xee
call fcn.140003e2e
mov r10, qword [rsp + 0x60]
test r10, r10
je 0x14000dd4c
test byte [r10 + 7], 0x40
jne 0x14000dd4c
mov rcx, r10
call fcn.1400036ea
test r15, r15
je 0x14000dd60
test byte [r15 + 7], 0x40
jne 0x14000dd60
mov rcx, r15
call fcn.1400036ea
cmp byte [rbp], 0
je 0x14000db62
jmp 0x14000de97
cmp rdx, qword [rsp + 0x40]
jle 0x14000d12f
lea r13, [rsp + 0xb0]
mov rcx, r13
call fcn.14000c623
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 0x14000c774
mov rdx, qword [rsp + 0xb0]
test r12, r12
js 0x14000ddcc
cmp rdx, r12
jg 0x14000ddd7
dec rdx
mov rcx, r12
jmp 0x14000d137
mov rcx, r13
call fcn.14000c623
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 0x14000c774
mov qword [rsp + 0x40], r12
cmp qword [rsp + 0x40], 0
jns 0x14000de2d
mov rcx, qword [rsp + 0x40]
xor edx, edx
movabs r8, 0x7fffffffffffffff
call fcn.140003f9d
jmp 0x14000de97
mov rdx, qword [rsp + 0x40]
lea rcx, [rsp + 0xb0]
call fcn.140004a66
jmp 0x14000de97
test r15, r15
jne 0x14000dd51
jmp 0x14000de97
test rbx, rbx
jne 0x14000db1d
jmp 0x14000de97
test r15, r15
jne 0x14000d8d4
jmp 0x14000de97
test r15, r15
jne 0x14000d65b
jmp 0x14000de97
test r15, r15
jne 0x14000d436
jmp 0x14000de97
test rbx, rbx
jne 0x14000d10b
jmp 0x14000de97
test r15, r15
jne 0x14000ceb8
jmp 0x14000de97
test r15, r15
jne 0x14000cc7c
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