Function at 0x140007e39
Capabilities:
Encode data using base64

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x78
mov rsi, rcx
test rcx, rcx
je 0x140008e5f
mov rcx, qword [rcx]
test rcx, rcx
je 0x140008e5f
call fcn.140007e12
mov r12, rax
test rax, rax
jns 0x140007e82
movabs r8, 0x7fffffffffffffff
xor edx, edx
mov rcx, rax
call fcn.140004700
mov rdx, r12
xor ecx, ecx
movabs r12, 0x2000000100002400
call fcn.1400042d5
mov rdi, qword [rsi]
mov r13, rax
mov rbx, rdi
xor ebp, ebp
sub rbx, 1
jno 0x140007eb1
mov ebp, 1
call main
mov rdx, qword [rsi]
test rbx, rbx
js 0x140007ebe
cmp rbx, rdx
jl 0x140007ec9
dec rdx
mov rcx, rbx
call fcn.140004844
mov cl, byte [rsi + rbx + 0x10]
cmp cl, 0x3d
ja 0x140007edc
mov rax, r12
shr rax, cl
test al, 1
jne 0x140007ef1
mov rax, rdi
sub rax, 4
mov qword [rsp + 0x60], rax
jno 0x140007f02
call main
jmp 0x140007f02
test rbp, rbp
jne 0x140007efb
mov rdi, rbx
jmp 0x140007e9c
call main
jmp 0x140007ef6
xor r12d, r12d
xor ebx, ebx
lea rbp, [0x140011cc0]
cmp qword [rsp + 0x60], rbx
jge 0x140007f54
mov rbp, rbx
sub rbp, rdi
jno 0x140008617
call main
jmp 0x140008617
cmp rbx, rdx
jge 0x140007f5c
mov cl, byte [rsi + rbx + 0x10]
cmp cl, 0x20
ja 0x140007f69
mov eax, 0x400009
shl rax, 0xa
shr rax, cl
test al, 1
je 0x140007f69
add rbx, 1
jno 0x140007f54
call main
mov rdx, qword [rsi]
test rbx, rbx
jns 0x140007f2b
dec rdx
mov rcx, rbx
call fcn.140004844
jmp 0x140007f30
mov rdx, qword [rsi]
test rbx, rbx
js 0x140007f76
cmp rbx, rdx
jl 0x140007f81
dec rdx
mov rcx, rbx
call fcn.140004844
movzx eax, byte [rsi + rbx + 0x10]
mov al, byte [rbp + rax]
mov byte [rsp + 0x30], al
inc al
jne 0x1400080d4
mov rcx, qword [0x14006c840]
mov edx, 0x30
call fcn.140003f28
mov r14, rax
mov rax, qword [0x14006c890]
mov qword [r14], rax
lea rax, str.ValueError
mov qword [r14 + 0x10], rax
test rbx, rbx
js 0x140007fc9
cmp rbx, qword [rsi]
jl 0x140007ff1
mov rax, qword [rsi]
mov rcx, rbx
lea rdx, [rax - 1]
call fcn.140004844
test rbx, rbx
js 0x140007fe2
cmp rbx, qword [rsi]
jl 0x140007ff1
mov rax, qword [rsi]
mov rcx, rbx
lea rdx, [rax - 1]
call fcn.140004844
movzx ecx, byte [rsi + rbx + 0x10]
call fcn.1400018c4
mov rcx, rbx
mov qword [rsp + 0x38], rax
call fcn.1400018c4
mov r8, qword [rsp + 0x38]
xor edx, edx
mov r15, rax
test r8, r8
je 0x14000801a
mov rdx, qword [r8]
xor eax, eax
test r15, r15
je 0x140008024
mov rax, qword [r15]
lea rcx, [rdx + rax + 0x38]
mov qword [rsp + 0x38], r8
call fcn.140003f59
lea rdx, [0x140011c80]
mov rcx, rax
mov r9, rax
call fcn.140007de4
movsx edx, byte [rsi + rbx + 0x10]
mov rcx, r9
call fcn.140007d80
lea rdx, [0x140011c60]
call fcn.140007de4
mov r8, qword [rsp + 0x38]
mov rcx, r9
mov rdx, r8
call fcn.140007e0a
mov rcx, r9
lea rdx, [0x140011c40]
call fcn.140007de4
mov rcx, r9
mov rdx, r15
call fcn.140007e0a
mov rcx, r9
lea rdx, [0x140011c20]
call fcn.140007de4
mov rdx, r9
lea rcx, [r14 + 0x18]
call fcn.140007d93
lea rcx, [r14 + 8]
xor edx, edx
call fcn.140007d93
lea r9, str.base64.nim
lea r8, str.decode
mov rcx, r14
mov qword [rsp + 0x20], 0xe9
lea rdx, str.ValueError
call fcn.1400045ed
add rbx, 1
jno 0x1400080df
call main
mov rdx, qword [rsi]
test rbx, rbx
js 0x1400080ec
cmp rbx, rdx
jl 0x1400080f7
dec rdx
mov rcx, rbx
call fcn.140004844
movzx eax, byte [rsi + rbx + 0x10]
movzx eax, byte [rbp + rax]
mov byte [rsp + 0x38], al
mov qword [rsp + 0x50], rax
cmp rax, 0xff
jne 0x140008254
mov rcx, qword [0x14006c840]
mov edx, 0x30
call fcn.140003f28
mov r14, rax
mov rax, qword [0x14006c890]
mov qword [r14], rax
lea rax, str.ValueError
mov qword [r14 + 0x10], rax
test rbx, rbx
js 0x140008149
cmp rbx, qword [rsi]
jl 0x140008171
mov rax, qword [rsi]
mov rcx, rbx
lea rdx, [rax - 1]
call fcn.140004844
test rbx, rbx
js 0x140008162
cmp rbx, qword [rsi]
jl 0x140008171
mov rax, qword [rsi]
mov rcx, rbx
lea rdx, [rax - 1]
call fcn.140004844
movzx ecx, byte [rsi + rbx + 0x10]
call fcn.1400018c4
mov rcx, rbx
mov qword [rsp + 0x40], rax
call fcn.1400018c4
mov r8, qword [rsp + 0x40]
xor edx, edx
mov r15, rax
test r8, r8
je 0x14000819a
mov rdx, qword [r8]
xor eax, eax
test r15, r15
je 0x1400081a4
mov rax, qword [r15]
lea rcx, [rdx + rax + 0x38]
mov qword [rsp + 0x40], r8
call fcn.140003f59
lea rdx, [0x140011c80]
mov rcx, rax
mov r9, rax
call fcn.140007de4
movsx edx, byte [rsi + rbx + 0x10]
mov rcx, r9
call fcn.140007d80
lea rdx, [0x140011c60]
call fcn.140007de4
mov r8, qword [rsp + 0x40]
mov rcx, r9
mov rdx, r8
call fcn.140007e0a
mov rcx, r9
lea rdx, [0x140011c40]
call fcn.140007de4
mov rcx, r9
mov rdx, r15
call fcn.140007e0a
mov rcx, r9
lea rdx, [0x140011c20]
call fcn.140007de4
mov rdx, r9
lea rcx, [r14 + 0x18]
call fcn.140007d93
lea rcx, [r14 + 8]
xor edx, edx
call fcn.140007d93
lea r9, str.base64.nim
lea r8, str.decode
mov rcx, r14
mov qword [rsp + 0x20], 0xe9
lea rdx, str.ValueError
call fcn.1400045ed
add rbx, 1
jno 0x14000825f
call main
mov rdx, qword [rsi]
test rbx, rbx
js 0x14000826c
cmp rbx, rdx
jl 0x140008277
dec rdx
mov rcx, rbx
call fcn.140004844
movzx eax, byte [rsi + rbx + 0x10]
movzx eax, byte [rbp + rax]
mov byte [rsp + 0x40], al
mov qword [rsp + 0x58], rax
cmp rax, 0xff
jne 0x1400083d4
mov rcx, qword [0x14006c840]
mov edx, 0x30
call fcn.140003f28
mov r14, rax
mov rax, qword [0x14006c890]
mov qword [r14], rax
lea rax, str.ValueError
mov qword [r14 + 0x10], rax
test rbx, rbx
js 0x1400082c9
cmp rbx, qword [rsi]
jl 0x1400082f1
mov rax, qword [rsi]
mov rcx, rbx
lea rdx, [rax - 1]
call fcn.140004844
test rbx, rbx
js 0x1400082e2
cmp rbx, qword [rsi]
jl 0x1400082f1
mov rax, qword [rsi]
mov rcx, rbx
lea rdx, [rax - 1]
call fcn.140004844
movzx ecx, byte [rsi + rbx + 0x10]
call fcn.1400018c4
mov rcx, rbx
mov qword [rsp + 0x48], rax
call fcn.1400018c4
mov r8, qword [rsp + 0x48]
xor edx, edx
mov r15, rax
test r8, r8
je 0x14000831a
mov rdx, qword [r8]
xor eax, eax
test r15, r15
je 0x140008324
mov rax, qword [r15]
lea rcx, [rdx + rax + 0x38]
mov qword [rsp + 0x48], r8
call fcn.140003f59
lea rdx, [0x140011c80]
mov rcx, rax
mov r9, rax
call fcn.140007de4
movsx edx, byte [rsi + rbx + 0x10]
mov rcx, r9
call fcn.140007d80
lea rdx, [0x140011c60]
call fcn.140007de4
mov r8, qword [rsp + 0x48]
mov rcx, r9
mov rdx, r8
call fcn.140007e0a
mov rcx, r9
lea rdx, [0x140011c40]
call fcn.140007de4
mov rcx, r9
mov rdx, r15
call fcn.140007e0a
mov rcx, r9
lea rdx, [0x140011c20]
call fcn.140007de4
mov rdx, r9
lea rcx, [r14 + 0x18]
call fcn.140007d93
lea rcx, [r14 + 8]
xor edx, edx
call fcn.140007d93
lea r9, str.base64.nim
lea r8, str.decode
mov rcx, r14
mov qword [rsp + 0x20], 0xe9
lea rdx, str.ValueError
call fcn.1400045ed
add rbx, 1
jno 0x1400083df
call main
mov rdx, qword [rsi]
test rbx, rbx
js 0x1400083ec
cmp rbx, rdx
jl 0x1400083f7
dec rdx
mov rcx, rbx
call fcn.140004844
movzx eax, byte [rsi + rbx + 0x10]
mov al, byte [rbp + rax]
mov byte [rsp + 0x48], al
inc al
jne 0x140008543
mov rcx, qword [0x14006c840]
mov edx, 0x30
call fcn.140003f28
mov r14, rax
mov rax, qword [0x14006c890]
mov qword [r14], rax
lea rax, str.ValueError
mov qword [r14 + 0x10], rax
test rbx, rbx
js 0x14000843f
cmp rbx, qword [rsi]
jl 0x140008467
mov rax, qword [rsi]
mov rcx, rbx
lea rdx, [rax - 1]
call fcn.140004844
test rbx, rbx
js 0x140008458
cmp rbx, qword [rsi]
jl 0x140008467
mov rax, qword [rsi]
mov rcx, rbx
lea rdx, [rax - 1]
call fcn.140004844
movzx ecx, byte [rsi + rbx + 0x10]
call fcn.1400018c4
mov rcx, rbx
mov r15, rax
call fcn.1400018c4
xor edx, edx
mov r8, rax
test r15, r15
je 0x140008489
mov rdx, qword [r15]
xor eax, eax
test r8, r8
je 0x140008493
mov rax, qword [r8]
lea rcx, [rdx + rax + 0x38]
mov qword [rsp + 0x68], r8
call fcn.140003f59
lea rdx, [0x140011c80]
mov rcx, rax
mov r9, rax
call fcn.140007de4
movsx edx, byte [rsi + rbx + 0x10]
mov rcx, r9
call fcn.140007d80
lea rdx, [0x140011c60]
call fcn.140007de4
mov rcx, r9
mov rdx, r15
call fcn.140007e0a
mov rcx, r9
lea rdx, [0x140011c40]
call fcn.140007de4
mov r8, qword [rsp + 0x68]
mov rcx, r9
mov rdx, r8
call fcn.140007e0a
mov rcx, r9
lea rdx, [0x140011c20]
call fcn.140007de4
mov rdx, r9
lea rcx, [r14 + 0x18]
call fcn.140007d93
lea rcx, [r14 + 8]
xor edx, edx
call fcn.140007d93
lea r9, str.base64.nim
lea r8, str.decode
mov rcx, r14
mov qword [rsp + 0x20], 0xe9
lea rdx, str.ValueError
call fcn.1400045ed
add rbx, 1
jno 0x14000854e
call main
test r13, r13
je 0x140008560
test r12, r12
js 0x140008560
cmp r12, qword [r13]
jl 0x140008579
jmp 0x140008569
or rdx, 0xffffffffffffffff
test r13, r13
je 0x140008571
mov rax, qword [r13]
lea rdx, [rax - 1]
mov rcx, r12
call fcn.140004844
mov al, byte [rsp + 0x30]
mov rdx, qword [rsp + 0x50]
shl eax, 2
sar rdx, 4
or eax, edx
mov byte [r13 + r12 + 0x10], al
add r12, 1
jno 0x14000859b
call main
mov rdx, qword [r13]
test r12, r12
js 0x1400085a9
cmp r12, rdx
jl 0x1400085b4
dec rdx
mov rcx, r12
call fcn.140004844
mov al, byte [rsp + 0x38]
mov rdx, qword [rsp + 0x58]
shl eax, 4
sar rdx, 2
or eax, edx
mov byte [r13 + r12 + 0x10], al
add r12, 1
jno 0x1400085d6
call main
mov rdx, qword [r13]
test r12, r12
js 0x1400085e4
cmp r12, rdx
jl 0x1400085ef
dec rdx
mov rcx, r12
call fcn.140004844
mov al, byte [rsp + 0x40]
mov r15b, byte [rsp + 0x48]
shl eax, 6
or r15d, eax
mov byte [r13 + r12 + 0x10], r15b
add r12, 1
jno 0x140007f0e
call main
jmp 0x140007f0e
mov rax, rbp
mov ecx, 4
cqo
idiv rcx
mov rax, rdx
sar rax, 0x3f
xor rdx, rax
sub rdx, rax
cmp rdx, 2
je 0x140008646
cmp rdx, 3
jne 0x140008e2b
jmp 0x14000895c
mov rdx, qword [rsi]
test rbx, rbx
js 0x140008653
cmp rbx, rdx
jl 0x14000865e
dec rdx
mov rcx, rbx
call fcn.140004844
movzx eax, byte [rsi + rbx + 0x10]
lea rbp, [0x140011cc0]
mov al, byte [rbp + rax]
mov byte [rsp + 0x30], al
inc al
jne 0x1400087a7
mov rcx, qword [0x14006c840]
mov edx, 0x30
call fcn.140003f28
mov r14, rax
mov rax, qword [0x14006c890]
mov qword [r14], rax
lea rax, str.ValueError
mov qword [r14 + 0x10], rax
test rbx, rbx
js 0x1400086ad
cmp rbx, qword [rsi]
jl 0x1400086d5
mov rax, qword [rsi]
mov rcx, rbx
lea rdx, [rax - 1]
call fcn.140004844
test rbx, rbx
js 0x1400086c6
cmp rbx, qword [rsi]
jl 0x1400086d5
mov rax, qword [rsi]
mov rcx, rbx
lea rdx, [rax - 1]
call fcn.140004844
movzx ecx, byte [rsi + rbx + 0x10]
call fcn.1400018c4
mov rcx, rbx
mov rdi, rax
call fcn.1400018c4
xor edx, edx
mov r15, rax
test rdi, rdi
je 0x1400086f7
mov rdx, qword [rdi]
xor eax, eax
test r15, r15
je 0x140008701
mov rax, qword [r15]
lea rcx, [rdx + rax + 0x38]
call fcn.140003f59
lea rdx, [0x140011c80]
mov rcx, rax
mov r9, rax
call fcn.140007de4
movsx edx, byte [rsi + rbx + 0x10]
mov rcx, r9
call fcn.140007d80
lea rdx, [0x140011c60]
call fcn.140007de4
mov rcx, r9
mov rdx, rdi
call fcn.140007e0a
mov rcx, r9
lea rdx, [0x140011c40]
call fcn.140007de4
mov rcx, r9
mov rdx, r15
call fcn.140007e0a
mov rcx, r9
lea rdx, [0x140011c20]
call fcn.140007de4
mov rdx, r9
lea rcx, [r14 + 0x18]
call fcn.140007d93
lea rcx, [r14 + 8]
xor edx, edx
call fcn.140007d93
lea r9, str.base64.nim
lea r8, str.decode
mov rcx, r14
mov qword [rsp + 0x20], 0xe9
lea rdx, str.ValueError
call fcn.1400045ed
add rbx, 1
jno 0x1400087b2
call main
mov rdx, qword [rsi]
test rbx, rbx
js 0x1400087bf
cmp rbx, rdx
jl 0x1400087ca
dec rdx
mov rcx, rbx
call fcn.140004844
movzx eax, byte [rsi + rbx + 0x10]
movzx ebp, byte [rbp + rax]
cmp rbp, 0xff
jne 0x14000890e
mov rcx, qword [0x14006c840]
mov edx, 0x30
call fcn.140003f28
mov r14, rax
mov rax, qword [0x14006c890]
mov qword [r14], rax
lea rax, str.ValueError
mov qword [r14 + 0x10], rax
test rbx, rbx
js 0x140008814
cmp rbx, qword [rsi]
jl 0x14000883c
mov rax, qword [rsi]
mov rcx, rbx
lea rdx, [rax - 1]
call fcn.140004844
test rbx, rbx
js 0x14000882d
cmp rbx, qword [rsi]
jl 0x14000883c
mov rax, qword [rsi]
mov rcx, rbx
lea rdx, [rax - 1]
call fcn.140004844
movzx ecx, byte [rsi + rbx + 0x10]
call fcn.1400018c4
mov rcx, rbx
mov rdi, rax
call fcn.1400018c4
mov r15, rax
xor eax, eax
test rdi, rdi
je 0x14000885e
mov rax, qword [rdi]
xor edx, edx
test r15, r15
je 0x140008868
mov rdx, qword [r15]
lea rcx, [rdx + rax + 0x38]
call fcn.140003f59
lea rdx, [0x140011c80]
mov rcx, rax
mov r9, rax
call fcn.140007de4
movsx edx, byte [rsi + rbx + 0x10]
mov rcx, r9
call fcn.140007d80
lea rdx, [0x140011c60]
call fcn.140007de4
mov rcx, r9
mov rdx, rdi
call fcn.140007e0a
mov rcx, r9
lea rdx, [0x140011c40]
call fcn.140007de4
mov rcx, r9
mov rdx, r15
call fcn.140007e0a
mov rcx, r9
lea rdx, [0x140011c20]
call fcn.140007de4
mov rdx, r9
lea rcx, [r14 + 0x18]
call fcn.140007d93
lea rcx, [r14 + 8]
xor edx, edx
call fcn.140007d93
lea r9, str.base64.nim
lea r8, str.decode
mov rcx, r14
mov qword [rsp + 0x20], 0xe9
lea rdx, str.ValueError
call fcn.1400045ed
add rbx, 1
jno 0x140008919
call main
test r13, r13
je 0x14000892b
test r12, r12
js 0x14000892b
cmp r12, qword [r13]
jl 0x140008944
jmp 0x140008934
or rdx, 0xffffffffffffffff
test r13, r13
je 0x14000893c
mov rax, qword [r13]
lea rdx, [rax - 1]
mov rcx, r12
call fcn.140004844
mov dil, byte [rsp + 0x30]
sar rbp, 4
shl edi, 2
or edi, ebp
mov byte [r13 + r12 + 0x10], dil
jmp 0x140008e20
mov rdx, qword [rsi]
test rbx, rbx
js 0x140008969
cmp rbx, rdx
jl 0x140008974
dec rdx
mov rcx, rbx
call fcn.140004844
movzx eax, byte [rsi + rbx + 0x10]
lea rbp, [0x140011cc0]
mov al, byte [rbp + rax]
mov byte [rsp + 0x38], al
inc al
jne 0x140008abd
mov rcx, qword [0x14006c840]
mov edx, 0x30
call fcn.140003f28
mov r14, rax
mov rax, qword [0x14006c890]
mov qword [r14], rax
lea rax, str.ValueError
mov qword [r14 + 0x10], rax
test rbx, rbx
js 0x1400089c3
cmp rbx, qword [rsi]
jl 0x1400089eb
mov rax, qword [rsi]
mov rcx, rbx
lea rdx, [rax - 1]
call fcn.140004844
test rbx, rbx
js 0x1400089dc
cmp rbx, qword [rsi]
jl 0x1400089eb
mov rax, qword [rsi]
mov rcx, rbx
lea rdx, [rax - 1]
call fcn.140004844
movzx ecx, byte [rsi + rbx + 0x10]
call fcn.1400018c4
mov rcx, rbx
mov rdi, rax
call fcn.1400018c4
xor edx, edx
mov r15, rax
test rdi, rdi
je 0x140008a0d
mov rdx, qword [rdi]
xor eax, eax
test r15, r15
je 0x140008a17
mov rax, qword [r15]
lea rcx, [rdx + rax + 0x38]
call fcn.140003f59
lea rdx, [0x140011c80]
mov rcx, rax
mov r9, rax
call fcn.140007de4
movsx edx, byte [rsi + rbx + 0x10]
mov rcx, r9
call fcn.140007d80
lea rdx, [0x140011c60]
call fcn.140007de4
mov rcx, r9
mov rdx, rdi
call fcn.140007e0a
mov rcx, r9
lea rdx, [0x140011c40]
call fcn.140007de4
mov rcx, r9
mov rdx, r15
call fcn.140007e0a
mov rcx, r9
lea rdx, [0x140011c20]
call fcn.140007de4
mov rdx, r9
lea rcx, [r14 + 0x18]
call fcn.140007d93
lea rcx, [r14 + 8]
xor edx, edx
call fcn.140007d93
lea r9, str.base64.nim
lea r8, str.decode
mov rcx, r14
mov qword [rsp + 0x20], 0xe9
lea rdx, str.ValueError
call fcn.1400045ed
add rbx, 1
jno 0x140008ac8
call main
mov rdx, qword [rsi]
test rbx, rbx
js 0x140008ad5
cmp rbx, rdx
jl 0x140008ae0
dec rdx
mov rcx, rbx
call fcn.140004844
movzx eax, byte [rsi + rbx + 0x10]
movzx eax, byte [rbp + rax]
mov qword [rsp + 0x30], rax
cmp rax, 0xff
jne 0x140008c28
mov rcx, qword [0x14006c840]
mov edx, 0x30
call fcn.140003f28
mov r15, rax
mov rax, qword [0x14006c890]
mov qword [r15], rax
lea rax, str.ValueError
mov qword [r15 + 0x10], rax
test rbx, rbx
js 0x140008b2e
cmp rbx, qword [rsi]
jl 0x140008b56
mov rax, qword [rsi]
mov rcx, rbx
lea rdx, [rax - 1]
call fcn.140004844
test rbx, rbx
js 0x140008b47
cmp rbx, qword [rsi]
jl 0x140008b56
mov rax, qword [rsi]
mov rcx, rbx
lea rdx, [rax - 1]
call fcn.140004844
movzx ecx, byte [rsi + rbx + 0x10]
call fcn.1400018c4
mov rcx, rbx
mov r14, rax
call fcn.1400018c4
xor edx, edx
mov rdi, rax
test r14, r14
je 0x140008b78
mov rdx, qword [r14]
xor eax, eax
test rdi, rdi
je 0x140008b82
mov rax, qword [rdi]
lea rcx, [rdx + rax + 0x38]
call fcn.140003f59
lea rdx, [0x140011c80]
mov rcx, rax
mov r9, rax
call fcn.140007de4
movsx edx, byte [rsi + rbx + 0x10]
mov rcx, r9
call fcn.140007d80
lea rdx, [0x140011c60]
call fcn.140007de4
mov rcx, r9
mov rdx, r14
call fcn.140007e0a
mov rcx, r9
lea rdx, [0x140011c40]
call fcn.140007de4
mov rcx, r9
mov rdx, rdi
call fcn.140007e0a
mov rcx, r9
lea rdx, [0x140011c20]
call fcn.140007de4
mov rdx, r9
lea rcx, [r15 + 0x18]
call fcn.140007d93
lea rcx, [r15 + 8]
xor edx, edx
call fcn.140007d93
lea r9, str.base64.nim
lea r8, str.decode
mov rcx, r15
mov qword [rsp + 0x20], 0xe9
lea rdx, str.ValueError
call fcn.1400045ed
add rbx, 1
jno 0x140008c33
call main
mov rdx, qword [rsi]
test rbx, rbx
js 0x140008c40
cmp rbx, rdx
jl 0x140008c4b
dec rdx
mov rcx, rbx
call fcn.140004844
movzx eax, byte [rsi + rbx + 0x10]
movzx ebp, byte [rbp + rax]
cmp rbp, 0xff
jne 0x140008d99
mov rcx, qword [0x14006c840]
mov edx, 0x30
call fcn.140003f28
mov r15, rax
mov rax, qword [0x14006c890]
mov qword [r15], rax
lea rax, str.ValueError
mov qword [r15 + 0x10], rax
test rbx, rbx
js 0x140008c95
cmp rbx, qword [rsi]
jl 0x140008cbd
mov rax, qword [rsi]
mov rcx, rbx
lea rdx, [rax - 1]
call fcn.140004844
test rbx, rbx
js 0x140008cae
cmp rbx, qword [rsi]
jl 0x140008cbd
mov rax, qword [rsi]
mov rcx, rbx
lea rdx, [rax - 1]
call fcn.140004844
movzx ecx, byte [rsi + rbx + 0x10]
call fcn.1400018c4
mov rcx, rbx
mov rdi, rax
call fcn.1400018c4
xor edx, edx
mov r8, rax
test rdi, rdi
je 0x140008cdf
mov rdx, qword [rdi]
xor eax, eax
test r8, r8
je 0x140008ce9
mov rax, qword [r8]
lea rcx, [rdx + rax + 0x38]
mov qword [rsp + 0x40], r8
call fcn.140003f59
lea rdx, [0x140011c80]
mov rcx, rax
mov r9, rax
call fcn.140007de4
movsx edx, byte [rsi + rbx + 0x10]
mov rcx, r9
call fcn.140007d80
lea rdx, [0x140011c60]
call fcn.140007de4
mov rcx, r9
mov rdx, rdi
call fcn.140007e0a
mov rcx, r9
lea rdx, [0x140011c40]
call fcn.140007de4
mov r8, qword [rsp + 0x40]
mov rcx, r9
mov rdx, r8
call fcn.140007e0a
mov rcx, r9
lea rdx, [0x140011c20]
call fcn.140007de4
mov rdx, r9
lea rcx, [r15 + 0x18]
call fcn.140007d93
lea rcx, [r15 + 8]
xor edx, edx
call fcn.140007d93
lea r9, str.base64.nim
lea r8, str.decode
mov rcx, r15
mov qword [rsp + 0x20], 0xe9
lea rdx, str.ValueError
call fcn.1400045ed
add rbx, 1
jno 0x140008da4
call main
test r13, r13
je 0x140008db6
test r12, r12
js 0x140008db6
cmp r12, qword [r13]
jl 0x140008dcf
jmp 0x140008dbf
or rdx, 0xffffffffffffffff
test r13, r13
je 0x140008dc7
mov rax, qword [r13]
lea rdx, [rax - 1]
mov rcx, r12
call fcn.140004844
mov dil, byte [rsp + 0x38]
mov rax, qword [rsp + 0x30]
shl edi, 2
sar rax, 4
or edi, eax
mov byte [r13 + r12 + 0x10], dil
add r12, 1
jno 0x140008df2
call main
mov rdx, qword [r13]
test r12, r12
js 0x140008e00
cmp r12, rdx
jl 0x140008e0b
dec rdx
mov rcx, r12
call fcn.140004844
mov r14, qword [rsp + 0x30]
sar rbp, 2
shl r14, 4
or r14d, ebp
mov byte [r13 + r12 + 0x10], r14b
add r12, 1
jno 0x140008e2b
call main
test r12, r12
jns 0x140008e44
movabs r8, 0x7fffffffffffffff
xor edx, edx
mov rcx, r12
call fcn.140004700
mov rdx, r12
mov rcx, r13
add rsp, 0x78
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp fcn.1400042d5
xor eax, eax
add rsp, 0x78
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret