Function at 0x140007e29
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 0x140008e4f
mov rcx, qword [rcx]
test rcx, rcx
je 0x140008e4f
call fcn.140007e02
mov r12, rax
test rax, rax
jns 0x140007e72
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 0x140007ea1
mov ebp, 1
call main
mov rdx, qword [rsi]
test rbx, rbx
js 0x140007eae
cmp rbx, rdx
jl 0x140007eb9
dec rdx
mov rcx, rbx
call fcn.140004844
mov cl, byte [rsi + rbx + 0x10]
cmp cl, 0x3d
ja 0x140007ecc
mov rax, r12
shr rax, cl
test al, 1
jne 0x140007ee1
mov rax, rdi
sub rax, 4
mov qword [rsp + 0x60], rax
jno 0x140007ef2
call main
jmp 0x140007ef2
test rbp, rbp
jne 0x140007eeb
mov rdi, rbx
jmp 0x140007e8c
call main
jmp 0x140007ee6
xor r12d, r12d
xor ebx, ebx
lea rbp, [0x140012ca0]
cmp qword [rsp + 0x60], rbx
jge 0x140007f44
mov rbp, rbx
sub rbp, rdi
jno 0x140008607
call main
jmp 0x140008607
cmp rbx, rdx
jge 0x140007f4c
mov cl, byte [rsi + rbx + 0x10]
cmp cl, 0x20
ja 0x140007f59
mov eax, 0x400009
shl rax, 0xa
shr rax, cl
test al, 1
je 0x140007f59
add rbx, 1
jno 0x140007f44
call main
mov rdx, qword [rsi]
test rbx, rbx
jns 0x140007f1b
dec rdx
mov rcx, rbx
call fcn.140004844
jmp 0x140007f20
mov rdx, qword [rsi]
test rbx, rbx
js 0x140007f66
cmp rbx, rdx
jl 0x140007f71
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 0x1400080c4
mov rcx, qword [0x14006d820]
mov edx, 0x30
call fcn.140003f28
mov r14, rax
mov rax, qword [0x14006d870]
mov qword [r14], rax
lea rax, str.ValueError
mov qword [r14 + 0x10], rax
test rbx, rbx
js 0x140007fb9
cmp rbx, qword [rsi]
jl 0x140007fe1
mov rax, qword [rsi]
mov rcx, rbx
lea rdx, [rax - 1]
call fcn.140004844
test rbx, rbx
js 0x140007fd2
cmp rbx, qword [rsi]
jl 0x140007fe1
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 0x14000800a
mov rdx, qword [r8]
xor eax, eax
test r15, r15
je 0x140008014
mov rax, qword [r15]
lea rcx, [rdx + rax + 0x38]
mov qword [rsp + 0x38], r8
call fcn.140003f59
lea rdx, [0x140012c60]
mov rcx, rax
mov r9, rax
call fcn.140007dd4
movsx edx, byte [rsi + rbx + 0x10]
mov rcx, r9
call fcn.140007d70
lea rdx, [0x140012c40]
call fcn.140007dd4
mov r8, qword [rsp + 0x38]
mov rcx, r9
mov rdx, r8
call fcn.140007dfa
mov rcx, r9
lea rdx, [0x140012c20]
call fcn.140007dd4
mov rcx, r9
mov rdx, r15
call fcn.140007dfa
mov rcx, r9
lea rdx, [0x140012c00]
call fcn.140007dd4
mov rdx, r9
lea rcx, [r14 + 0x18]
call fcn.140007d83
lea rcx, [r14 + 8]
xor edx, edx
call fcn.140007d83
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 0x1400080cf
call main
mov rdx, qword [rsi]
test rbx, rbx
js 0x1400080dc
cmp rbx, rdx
jl 0x1400080e7
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 0x140008244
mov rcx, qword [0x14006d820]
mov edx, 0x30
call fcn.140003f28
mov r14, rax
mov rax, qword [0x14006d870]
mov qword [r14], rax
lea rax, str.ValueError
mov qword [r14 + 0x10], rax
test rbx, rbx
js 0x140008139
cmp rbx, qword [rsi]
jl 0x140008161
mov rax, qword [rsi]
mov rcx, rbx
lea rdx, [rax - 1]
call fcn.140004844
test rbx, rbx
js 0x140008152
cmp rbx, qword [rsi]
jl 0x140008161
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 0x14000818a
mov rdx, qword [r8]
xor eax, eax
test r15, r15
je 0x140008194
mov rax, qword [r15]
lea rcx, [rdx + rax + 0x38]
mov qword [rsp + 0x40], r8
call fcn.140003f59
lea rdx, [0x140012c60]
mov rcx, rax
mov r9, rax
call fcn.140007dd4
movsx edx, byte [rsi + rbx + 0x10]
mov rcx, r9
call fcn.140007d70
lea rdx, [0x140012c40]
call fcn.140007dd4
mov r8, qword [rsp + 0x40]
mov rcx, r9
mov rdx, r8
call fcn.140007dfa
mov rcx, r9
lea rdx, [0x140012c20]
call fcn.140007dd4
mov rcx, r9
mov rdx, r15
call fcn.140007dfa
mov rcx, r9
lea rdx, [0x140012c00]
call fcn.140007dd4
mov rdx, r9
lea rcx, [r14 + 0x18]
call fcn.140007d83
lea rcx, [r14 + 8]
xor edx, edx
call fcn.140007d83
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 0x14000824f
call main
mov rdx, qword [rsi]
test rbx, rbx
js 0x14000825c
cmp rbx, rdx
jl 0x140008267
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 0x1400083c4
mov rcx, qword [0x14006d820]
mov edx, 0x30
call fcn.140003f28
mov r14, rax
mov rax, qword [0x14006d870]
mov qword [r14], rax
lea rax, str.ValueError
mov qword [r14 + 0x10], rax
test rbx, rbx
js 0x1400082b9
cmp rbx, qword [rsi]
jl 0x1400082e1
mov rax, qword [rsi]
mov rcx, rbx
lea rdx, [rax - 1]
call fcn.140004844
test rbx, rbx
js 0x1400082d2
cmp rbx, qword [rsi]
jl 0x1400082e1
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 0x14000830a
mov rdx, qword [r8]
xor eax, eax
test r15, r15
je 0x140008314
mov rax, qword [r15]
lea rcx, [rdx + rax + 0x38]
mov qword [rsp + 0x48], r8
call fcn.140003f59
lea rdx, [0x140012c60]
mov rcx, rax
mov r9, rax
call fcn.140007dd4
movsx edx, byte [rsi + rbx + 0x10]
mov rcx, r9
call fcn.140007d70
lea rdx, [0x140012c40]
call fcn.140007dd4
mov r8, qword [rsp + 0x48]
mov rcx, r9
mov rdx, r8
call fcn.140007dfa
mov rcx, r9
lea rdx, [0x140012c20]
call fcn.140007dd4
mov rcx, r9
mov rdx, r15
call fcn.140007dfa
mov rcx, r9
lea rdx, [0x140012c00]
call fcn.140007dd4
mov rdx, r9
lea rcx, [r14 + 0x18]
call fcn.140007d83
lea rcx, [r14 + 8]
xor edx, edx
call fcn.140007d83
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 0x1400083cf
call main
mov rdx, qword [rsi]
test rbx, rbx
js 0x1400083dc
cmp rbx, rdx
jl 0x1400083e7
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 0x140008533
mov rcx, qword [0x14006d820]
mov edx, 0x30
call fcn.140003f28
mov r14, rax
mov rax, qword [0x14006d870]
mov qword [r14], rax
lea rax, str.ValueError
mov qword [r14 + 0x10], rax
test rbx, rbx
js 0x14000842f
cmp rbx, qword [rsi]
jl 0x140008457
mov rax, qword [rsi]
mov rcx, rbx
lea rdx, [rax - 1]
call fcn.140004844
test rbx, rbx
js 0x140008448
cmp rbx, qword [rsi]
jl 0x140008457
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 0x140008479
mov rdx, qword [r15]
xor eax, eax
test r8, r8
je 0x140008483
mov rax, qword [r8]
lea rcx, [rdx + rax + 0x38]
mov qword [rsp + 0x68], r8
call fcn.140003f59
lea rdx, [0x140012c60]
mov rcx, rax
mov r9, rax
call fcn.140007dd4
movsx edx, byte [rsi + rbx + 0x10]
mov rcx, r9
call fcn.140007d70
lea rdx, [0x140012c40]
call fcn.140007dd4
mov rcx, r9
mov rdx, r15
call fcn.140007dfa
mov rcx, r9
lea rdx, [0x140012c20]
call fcn.140007dd4
mov r8, qword [rsp + 0x68]
mov rcx, r9
mov rdx, r8
call fcn.140007dfa
mov rcx, r9
lea rdx, [0x140012c00]
call fcn.140007dd4
mov rdx, r9
lea rcx, [r14 + 0x18]
call fcn.140007d83
lea rcx, [r14 + 8]
xor edx, edx
call fcn.140007d83
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 0x14000853e
call main
test r13, r13
je 0x140008550
test r12, r12
js 0x140008550
cmp r12, qword [r13]
jl 0x140008569
jmp 0x140008559
or rdx, 0xffffffffffffffff
test r13, r13
je 0x140008561
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 0x14000858b
call main
mov rdx, qword [r13]
test r12, r12
js 0x140008599
cmp r12, rdx
jl 0x1400085a4
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 0x1400085c6
call main
mov rdx, qword [r13]
test r12, r12
js 0x1400085d4
cmp r12, rdx
jl 0x1400085df
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 0x140007efe
call main
jmp 0x140007efe
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 0x140008636
cmp rdx, 3
jne 0x140008e1b
jmp 0x14000894c
mov rdx, qword [rsi]
test rbx, rbx
js 0x140008643
cmp rbx, rdx
jl 0x14000864e
dec rdx
mov rcx, rbx
call fcn.140004844
movzx eax, byte [rsi + rbx + 0x10]
lea rbp, [0x140012ca0]
mov al, byte [rbp + rax]
mov byte [rsp + 0x30], al
inc al
jne 0x140008797
mov rcx, qword [0x14006d820]
mov edx, 0x30
call fcn.140003f28
mov r14, rax
mov rax, qword [0x14006d870]
mov qword [r14], rax
lea rax, str.ValueError
mov qword [r14 + 0x10], rax
test rbx, rbx
js 0x14000869d
cmp rbx, qword [rsi]
jl 0x1400086c5
mov rax, qword [rsi]
mov rcx, rbx
lea rdx, [rax - 1]
call fcn.140004844
test rbx, rbx
js 0x1400086b6
cmp rbx, qword [rsi]
jl 0x1400086c5
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 0x1400086e7
mov rdx, qword [rdi]
xor eax, eax
test r15, r15
je 0x1400086f1
mov rax, qword [r15]
lea rcx, [rdx + rax + 0x38]
call fcn.140003f59
lea rdx, [0x140012c60]
mov rcx, rax
mov r9, rax
call fcn.140007dd4
movsx edx, byte [rsi + rbx + 0x10]
mov rcx, r9
call fcn.140007d70
lea rdx, [0x140012c40]
call fcn.140007dd4
mov rcx, r9
mov rdx, rdi
call fcn.140007dfa
mov rcx, r9
lea rdx, [0x140012c20]
call fcn.140007dd4
mov rcx, r9
mov rdx, r15
call fcn.140007dfa
mov rcx, r9
lea rdx, [0x140012c00]
call fcn.140007dd4
mov rdx, r9
lea rcx, [r14 + 0x18]
call fcn.140007d83
lea rcx, [r14 + 8]
xor edx, edx
call fcn.140007d83
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 0x1400087a2
call main
mov rdx, qword [rsi]
test rbx, rbx
js 0x1400087af
cmp rbx, rdx
jl 0x1400087ba
dec rdx
mov rcx, rbx
call fcn.140004844
movzx eax, byte [rsi + rbx + 0x10]
movzx ebp, byte [rbp + rax]
cmp rbp, 0xff
jne 0x1400088fe
mov rcx, qword [0x14006d820]
mov edx, 0x30
call fcn.140003f28
mov r14, rax
mov rax, qword [0x14006d870]
mov qword [r14], rax
lea rax, str.ValueError
mov qword [r14 + 0x10], rax
test rbx, rbx
js 0x140008804
cmp rbx, qword [rsi]
jl 0x14000882c
mov rax, qword [rsi]
mov rcx, rbx
lea rdx, [rax - 1]
call fcn.140004844
test rbx, rbx
js 0x14000881d
cmp rbx, qword [rsi]
jl 0x14000882c
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 0x14000884e
mov rax, qword [rdi]
xor edx, edx
test r15, r15
je 0x140008858
mov rdx, qword [r15]
lea rcx, [rdx + rax + 0x38]
call fcn.140003f59
lea rdx, [0x140012c60]
mov rcx, rax
mov r9, rax
call fcn.140007dd4
movsx edx, byte [rsi + rbx + 0x10]
mov rcx, r9
call fcn.140007d70
lea rdx, [0x140012c40]
call fcn.140007dd4
mov rcx, r9
mov rdx, rdi
call fcn.140007dfa
mov rcx, r9
lea rdx, [0x140012c20]
call fcn.140007dd4
mov rcx, r9
mov rdx, r15
call fcn.140007dfa
mov rcx, r9
lea rdx, [0x140012c00]
call fcn.140007dd4
mov rdx, r9
lea rcx, [r14 + 0x18]
call fcn.140007d83
lea rcx, [r14 + 8]
xor edx, edx
call fcn.140007d83
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 0x140008909
call main
test r13, r13
je 0x14000891b
test r12, r12
js 0x14000891b
cmp r12, qword [r13]
jl 0x140008934
jmp 0x140008924
or rdx, 0xffffffffffffffff
test r13, r13
je 0x14000892c
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 0x140008e10
mov rdx, qword [rsi]
test rbx, rbx
js 0x140008959
cmp rbx, rdx
jl 0x140008964
dec rdx
mov rcx, rbx
call fcn.140004844
movzx eax, byte [rsi + rbx + 0x10]
lea rbp, [0x140012ca0]
mov al, byte [rbp + rax]
mov byte [rsp + 0x38], al
inc al
jne 0x140008aad
mov rcx, qword [0x14006d820]
mov edx, 0x30
call fcn.140003f28
mov r14, rax
mov rax, qword [0x14006d870]
mov qword [r14], rax
lea rax, str.ValueError
mov qword [r14 + 0x10], rax
test rbx, rbx
js 0x1400089b3
cmp rbx, qword [rsi]
jl 0x1400089db
mov rax, qword [rsi]
mov rcx, rbx
lea rdx, [rax - 1]
call fcn.140004844
test rbx, rbx
js 0x1400089cc
cmp rbx, qword [rsi]
jl 0x1400089db
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 0x1400089fd
mov rdx, qword [rdi]
xor eax, eax
test r15, r15
je 0x140008a07
mov rax, qword [r15]
lea rcx, [rdx + rax + 0x38]
call fcn.140003f59
lea rdx, [0x140012c60]
mov rcx, rax
mov r9, rax
call fcn.140007dd4
movsx edx, byte [rsi + rbx + 0x10]
mov rcx, r9
call fcn.140007d70
lea rdx, [0x140012c40]
call fcn.140007dd4
mov rcx, r9
mov rdx, rdi
call fcn.140007dfa
mov rcx, r9
lea rdx, [0x140012c20]
call fcn.140007dd4
mov rcx, r9
mov rdx, r15
call fcn.140007dfa
mov rcx, r9
lea rdx, [0x140012c00]
call fcn.140007dd4
mov rdx, r9
lea rcx, [r14 + 0x18]
call fcn.140007d83
lea rcx, [r14 + 8]
xor edx, edx
call fcn.140007d83
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 0x140008ab8
call main
mov rdx, qword [rsi]
test rbx, rbx
js 0x140008ac5
cmp rbx, rdx
jl 0x140008ad0
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 0x140008c18
mov rcx, qword [0x14006d820]
mov edx, 0x30
call fcn.140003f28
mov r15, rax
mov rax, qword [0x14006d870]
mov qword [r15], rax
lea rax, str.ValueError
mov qword [r15 + 0x10], rax
test rbx, rbx
js 0x140008b1e
cmp rbx, qword [rsi]
jl 0x140008b46
mov rax, qword [rsi]
mov rcx, rbx
lea rdx, [rax - 1]
call fcn.140004844
test rbx, rbx
js 0x140008b37
cmp rbx, qword [rsi]
jl 0x140008b46
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 0x140008b68
mov rdx, qword [r14]
xor eax, eax
test rdi, rdi
je 0x140008b72
mov rax, qword [rdi]
lea rcx, [rdx + rax + 0x38]
call fcn.140003f59
lea rdx, [0x140012c60]
mov rcx, rax
mov r9, rax
call fcn.140007dd4
movsx edx, byte [rsi + rbx + 0x10]
mov rcx, r9
call fcn.140007d70
lea rdx, [0x140012c40]
call fcn.140007dd4
mov rcx, r9
mov rdx, r14
call fcn.140007dfa
mov rcx, r9
lea rdx, [0x140012c20]
call fcn.140007dd4
mov rcx, r9
mov rdx, rdi
call fcn.140007dfa
mov rcx, r9
lea rdx, [0x140012c00]
call fcn.140007dd4
mov rdx, r9
lea rcx, [r15 + 0x18]
call fcn.140007d83
lea rcx, [r15 + 8]
xor edx, edx
call fcn.140007d83
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 0x140008c23
call main
mov rdx, qword [rsi]
test rbx, rbx
js 0x140008c30
cmp rbx, rdx
jl 0x140008c3b
dec rdx
mov rcx, rbx
call fcn.140004844
movzx eax, byte [rsi + rbx + 0x10]
movzx ebp, byte [rbp + rax]
cmp rbp, 0xff
jne 0x140008d89
mov rcx, qword [0x14006d820]
mov edx, 0x30
call fcn.140003f28
mov r15, rax
mov rax, qword [0x14006d870]
mov qword [r15], rax
lea rax, str.ValueError
mov qword [r15 + 0x10], rax
test rbx, rbx
js 0x140008c85
cmp rbx, qword [rsi]
jl 0x140008cad
mov rax, qword [rsi]
mov rcx, rbx
lea rdx, [rax - 1]
call fcn.140004844
test rbx, rbx
js 0x140008c9e
cmp rbx, qword [rsi]
jl 0x140008cad
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 0x140008ccf
mov rdx, qword [rdi]
xor eax, eax
test r8, r8
je 0x140008cd9
mov rax, qword [r8]
lea rcx, [rdx + rax + 0x38]
mov qword [rsp + 0x40], r8
call fcn.140003f59
lea rdx, [0x140012c60]
mov rcx, rax
mov r9, rax
call fcn.140007dd4
movsx edx, byte [rsi + rbx + 0x10]
mov rcx, r9
call fcn.140007d70
lea rdx, [0x140012c40]
call fcn.140007dd4
mov rcx, r9
mov rdx, rdi
call fcn.140007dfa
mov rcx, r9
lea rdx, [0x140012c20]
call fcn.140007dd4
mov r8, qword [rsp + 0x40]
mov rcx, r9
mov rdx, r8
call fcn.140007dfa
mov rcx, r9
lea rdx, [0x140012c00]
call fcn.140007dd4
mov rdx, r9
lea rcx, [r15 + 0x18]
call fcn.140007d83
lea rcx, [r15 + 8]
xor edx, edx
call fcn.140007d83
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 0x140008d94
call main
test r13, r13
je 0x140008da6
test r12, r12
js 0x140008da6
cmp r12, qword [r13]
jl 0x140008dbf
jmp 0x140008daf
or rdx, 0xffffffffffffffff
test r13, r13
je 0x140008db7
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 0x140008de2
call main
mov rdx, qword [r13]
test r12, r12
js 0x140008df0
cmp r12, rdx
jl 0x140008dfb
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 0x140008e1b
call main
test r12, r12
jns 0x140008e34
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