Function at 0x14003a670
Capabilities:
Encode data using base64

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x88
mov r14, rcx
test rcx, rcx
je 0x14003b5a2
mov rax, qword [rcx]
test rax, rax
je 0x14003b5a2
imul rbx, rax, 3
jo 0x14003c618
test rbx, rbx
lea rax, [rbx + 3]
cmovns rax, rbx
sar rax, 2
add rax, 6
js 0x14003b5e6
movabs rdi, 0xdffffffeffffdbff
mov rdx, rax
xor ecx, ecx
call fcn.14000c2a0
mov rsi, qword [r14]
mov r15, rax
nop dword [rax + rax]
mov rbx, rsi
xor ebp, ebp
sub rbx, 1
jo 0x14003c5af
mov rdx, qword [r14]
test rbx, rbx
js 0x14003a6fc
cmp rbx, rdx
jl 0x14003a708
sub rdx, 1
mov rcx, rbx
call fcn.14000e210
movzx eax, byte [r14 + rbx + 0x10]
cmp al, 0x3d
jbe 0x14003a960
mov r8, rsi
sub r8, 4
jo 0x14003c604
test r8, r8
js 0x14003b609
mov rax, qword [str._L_b_]
xor edi, edi
mov qword [rsp + 0x78], rsi
xor ebx, ebx
mov qword [rsp + 0x50], r8
lea r12, [0x140068680]
mov rsi, rdi
add rax, 0x18
mov qword [rsp + 0x70], rax
jmp 0x14003a914
mov rdx, qword [r14]
test rbx, rbx
js 0x14003af70
cmp rbx, rdx
jl 0x14003a783
sub rdx, 1
mov rcx, rbx
call fcn.14000e210
movzx eax, byte [r14 + rbx + 0x10]
movzx eax, byte [r12 + rax]
mov byte [rsp + 0x4f], al
cmp al, 0xff
je 0x14003b4d0
add rbx, 1
jo 0x14003c622
mov rdx, qword [r14]
test rbx, rbx
js 0x14003ac20
cmp rbx, rdx
jge 0x14003ac20
movzx eax, byte [r14 + rbx + 0x10]
movzx eax, byte [r12 + rax]
mov byte [rsp + 0x38], al
mov qword [rsp + 0x40], rax
cmp rax, 0xff
je 0x14003b56f
add rbx, 1
jo 0x14003c62c
mov rdx, qword [r14]
test rbx, rbx
js 0x14003a990
cmp rbx, rdx
jge 0x14003a990
movzx eax, byte [r14 + rbx + 0x10]
movzx ebp, byte [r12 + rax]
mov rdi, rbp
cmp rbp, 0xff
je 0x14003b53c
add rbx, 1
jo 0x14003c636
mov rdx, qword [r14]
test rbx, rbx
js 0x14003b1d0
cmp rbx, rdx
jl 0x14003a834
sub rdx, 1
mov rcx, rbx
call fcn.14000e210
movzx eax, byte [r14 + rbx + 0x10]
movzx r13d, byte [r12 + rax]
cmp r13b, 0xff
je 0x14003b470
add rbx, 1
mov qword [rsp + 0x30], rbx
jo 0x14003af60
test rsi, rsi
js 0x14003aeb0
test r15, r15
je 0x14003b530
mov rdx, qword [r15]
cmp rdx, rsi
jg 0x14003a87e
sub rdx, 1
mov rcx, rsi
call fcn.14000e210
movzx eax, byte [rsp + 0x4f]
mov rdx, qword [rsp + 0x40]
shl eax, 2
sar rdx, 4
or eax, edx
mov byte [r15 + rsi + 0x10], al
add rsi, 1
jo 0x14003c640
mov rdx, qword [r15]
test rsi, rsi
js 0x14003a8ad
cmp rsi, rdx
jl 0x14003a8b9
sub rdx, 1
mov rcx, rsi
call fcn.14000e210
movzx eax, byte [rsp + 0x38]
sar rbp, 2
shl eax, 4
or ebp, eax
mov byte [r15 + rsi + 0x10], bpl
add rsi, 1
jo 0x14003c5be
mov rdx, qword [r15]
test rsi, rsi
js 0x14003a8e3
cmp rsi, rdx
jl 0x14003a8ef
sub rdx, 1
mov rcx, rsi
call fcn.14000e210
shl edi, 6
or edi, r13d
mov byte [r15 + rsi + 0x10], dil
add rsi, 1
jo 0x14003aed0
mov rdi, qword [rsp + 0x30]
cmp qword [rsp + 0x50], rdi
jl 0x14003aee5
movabs rdi, 0xfffffffeffffdbff
nop
mov rdx, qword [r14]
test rbx, rbx
js 0x14003a92d
cmp rbx, rdx
jl 0x14003a939
sub rdx, 1
mov rcx, rbx
call fcn.14000e210
movzx eax, byte [r14 + rbx + 0x10]
cmp al, 0x20
ja 0x14003a760
bt rdi, rax
jb 0x14003a760
add rbx, 1
jno 0x14003a920
call fcn.140008da0
jmp 0x14003a920
bt rdi, rax
jb 0x14003a716
test rbp, rbp
jne 0x14003a980
mov rsi, rbx
jmp 0x14003a6e0
call fcn.140008da0
jmp 0x14003a96f
sub rdx, 1
mov rcx, rbx
call fcn.14000e210
movzx eax, byte [r14 + rbx + 0x10]
movzx ebp, byte [r12 + rax]
mov rdi, rbp
cmp rbp, 0xff
jne 0x14003a80d
mov rcx, qword [0x14006fc20]
mov edx, 0x30
call fcn.14000b930
mov rdi, rax
mov rax, qword [0x14006fd80]
mov qword [rdi], rax
lea rax, str.ValueError
mov qword [rsp + 0x30], rax
mov qword [rdi + 0x10], rax
test rbx, rbx
js 0x14003b5cf
mov rax, qword [r14]
cmp rbx, rax
jl 0x14003aa16
lea rdx, [rax - 1]
mov rcx, rbx
call fcn.14000e210
mov rax, qword [r14]
cmp rbx, rax
jl 0x14003aa16
lea rdx, [rax - 1]
mov rcx, rbx
call fcn.14000e210
movzx ecx, byte [r14 + rbx + 0x10]
call fcn.140001f70
mov rcx, rbx
mov qword [rsp + 0x58], rax
call fcn.140001f70
mov r9, qword [rsp + 0x58]
xor ecx, ecx
mov r13, rax
test r9, r9
je 0x14003aa40
mov rcx, qword [r9]
test r13, r13
je 0x14003aa49
add rcx, qword [r13]
add rcx, 0x38
mov qword [rsp + 0x58], r9
call fcn.14000bb70
mov r9, qword [rsp + 0x58]
movabs rdx, 0x2064696c61766e49
movabs rcx, 0x6620343665736162
mov rbp, rax
mov rax, qword [rax]
lea rax, [rbp + rax + 0x10]
mov qword [rax], rdx
movabs rdx, 0x68632074616d726f
mov qword [rax + 8], rcx
movabs rcx, 0x2072657463617261
mov qword [rax + 0x10], rdx
mov edx, 0x60
mov word [rax + 0x20], dx
mov qword [rax + 0x18], rcx
mov rax, qword [rbp]
lea rdx, [rax + 0x21]
mov qword [rbp], rdx
movzx ecx, byte [r14 + rbx + 0x10]
lea rdx, [rax + 0x22]
mov byte [rbp + rax + 0x31], cl
movabs rcx, 0x2064726f282060
mov qword [rbp], rdx
mov qword [rbp + rax + 0x32], rcx
mov rdx, qword [rbp]
lea rax, [rdx + 7]
mov qword [rbp], rax
test r9, r9
je 0x14003ab0a
mov rax, qword [r9]
lea rcx, [rbp + rdx + 0x17]
lea rdx, [r9 + 0x10]
lea r8, [rax + 1]
call sub.msvcrt.dll_memcpy
mov r9, qword [rsp + 0x58]
mov rax, qword [r9]
add rax, qword [rbp]
mov qword [rbp], rax
movabs rcx, 0x636f6c2074612029
lea rax, [rbp + rax + 0x10]
mov qword [rax], rcx
movabs rcx, 0x206e6f69746163
mov qword [rax + 7], rcx
mov rdx, qword [rbp]
lea rax, [rdx + 0xe]
mov qword [rbp], rax
test r13, r13
je 0x14003ab5d
mov rax, qword [r13]
lea rcx, [rbp + rdx + 0x1e]
lea rdx, [r13 + 0x10]
lea r8, [rax + 1]
call sub.msvcrt.dll_memcpy
mov rax, qword [r13]
add rax, qword [rbp]
mov qword [rbp], rax
mov r13d, 0x2e
mov word [rbp + rax + 0x10], r13w
add qword [rbp], 1
add qword [rbp - 0x10], 8
mov rax, qword [rdi + 0x18]
test rax, rax
je 0x14003aba5
mov rdx, qword [rax - 0x10]
lea rcx, [rax - 0x10]
sub rdx, 8
mov qword [rax - 0x10], rdx
cmp rdx, 7
ja 0x14003aba5
mov rax, qword [str._L_b_]
mov rdx, rcx
lea rcx, [rax + 0x18]
call fcn.140007040
mov rax, qword [rdi + 8]
mov qword [rdi + 0x18], rbp
test rax, rax
je 0x14003abdb
mov rdx, qword [rax - 0x10]
lea rcx, [rax - 0x10]
sub rdx, 8
mov qword [rax - 0x10], rdx
cmp rdx, 7
ja 0x14003abdb
mov rax, qword [str._L_b_]
mov rdx, rcx
lea rcx, [rax + 0x18]
call fcn.140007040
mov qword [rdi + 8], 0
mov rdx, qword [rsp + 0x30]
mov rcx, rdi
lea r9, str.base64.nim
mov qword [rsp + 0x20], 0xe9
mov ebp, 0xff
mov edi, 0xffffffff
lea r8, str.decode
call fcn.14000df20
jmp 0x14003a80d
sub rdx, 1
mov rcx, rbx
call fcn.14000e210
movzx eax, byte [r14 + rbx + 0x10]
movzx eax, byte [r12 + rax]
mov byte [rsp + 0x38], al
mov qword [rsp + 0x40], rax
cmp rax, 0xff
jne 0x14003a7d3
mov rcx, qword [0x14006fc20]
mov edx, 0x30
call fcn.14000b930
mov rdi, rax
mov rax, qword [0x14006fd80]
mov qword [rdi], rax
lea rax, str.ValueError
mov qword [rsp + 0x30], rax
mov qword [rdi + 0x10], rax
test rbx, rbx
js 0x14003b5b8
mov rax, qword [r14]
cmp rbx, rax
jl 0x14003acab
lea rdx, [rax - 1]
mov rcx, rbx
call fcn.14000e210
mov rax, qword [r14]
cmp rbx, rax
jl 0x14003acab
lea rdx, [rax - 1]
mov rcx, rbx
call fcn.14000e210
movzx ecx, byte [r14 + rbx + 0x10]
call fcn.140001f70
mov rcx, rbx
mov qword [rsp + 0x38], rax
call fcn.140001f70
mov r9, qword [rsp + 0x38]
xor ecx, ecx
mov r13, rax
test r9, r9
je 0x14003acd5
mov rcx, qword [r9]
test r13, r13
je 0x14003acde
add rcx, qword [r13]
add rcx, 0x38
mov qword [rsp + 0x38], r9
call fcn.14000bb70
mov r8d, 0x60
mov r9, qword [rsp + 0x38]
movabs rdx, 0x2064696c61766e49
movabs rcx, 0x6620343665736162
mov rbp, rax
mov rax, qword [rax]
lea rax, [rbp + rax + 0x10]
mov qword [rax], rdx
movabs rdx, 0x68632074616d726f
mov qword [rax + 8], rcx
movabs rcx, 0x2072657463617261
mov qword [rax + 0x10], rdx
mov qword [rax + 0x18], rcx
mov word [rax + 0x20], r8w
mov rax, qword [rbp]
lea rdx, [rax + 0x21]
mov qword [rbp], rdx
movzx ecx, byte [r14 + rbx + 0x10]
lea rdx, [rax + 0x22]
mov byte [rbp + rax + 0x31], cl
movabs rcx, 0x2064726f282060
mov qword [rbp], rdx
mov qword [rbp + rax + 0x32], rcx
mov rdx, qword [rbp]
lea rax, [rdx + 7]
mov qword [rbp], rax
test r9, r9
je 0x14003ada1
mov rax, qword [r9]
lea rcx, [rbp + rdx + 0x17]
lea rdx, [r9 + 0x10]
lea r8, [rax + 1]
call sub.msvcrt.dll_memcpy
mov r9, qword [rsp + 0x38]
mov rax, qword [r9]
add rax, qword [rbp]
mov qword [rbp], rax
movabs rcx, 0x636f6c2074612029
lea rax, [rbp + rax + 0x10]
mov qword [rax], rcx
movabs rcx, 0x206e6f69746163
mov qword [rax + 7], rcx
mov rdx, qword [rbp]
lea rax, [rdx + 0xe]
mov qword [rbp], rax
test r13, r13
je 0x14003adf4
mov rax, qword [r13]
lea rcx, [rbp + rdx + 0x1e]
lea rdx, [r13 + 0x10]
lea r8, [rax + 1]
call sub.msvcrt.dll_memcpy
mov rax, qword [r13]
add rax, qword [rbp]
mov qword [rbp], rax
mov ecx, 0x2e
mov word [rbp + rax + 0x10], cx
add qword [rbp], 1
add qword [rbp - 0x10], 8
mov rax, qword [rdi + 0x18]
test rax, rax
je 0x14003ae3a
mov rdx, qword [rax - 0x10]
lea rcx, [rax - 0x10]
sub rdx, 8
mov qword [rax - 0x10], rdx
cmp rdx, 7
ja 0x14003ae3a
mov rax, qword [str._L_b_]
mov rdx, rcx
lea rcx, [rax + 0x18]
call fcn.140007040
mov rax, qword [rdi + 8]
mov qword [rdi + 0x18], rbp
test rax, rax
je 0x14003ae70
mov rdx, qword [rax - 0x10]
lea rcx, [rax - 0x10]
sub rdx, 8
mov qword [rax - 0x10], rdx
cmp rdx, 7
ja 0x14003ae70
mov rax, qword [str._L_b_]
mov rdx, rcx
lea rcx, [rax + 0x18]
call fcn.140007040
mov qword [rdi + 8], 0
mov rdx, qword [rsp + 0x30]
mov rcx, rdi
lea r9, str.base64.nim
mov qword [rsp + 0x20], 0xe9
lea r8, str.decode
call fcn.14000df20
mov byte [rsp + 0x38], 0xff
mov qword [rsp + 0x40], 0xff
jmp 0x14003a7d3
mov rdx, 0xffffffffffffffff
test r15, r15
je 0x14003a876
mov rdx, qword [r15]
jmp 0x14003a872
call fcn.140008da0
mov rdi, qword [rsp + 0x30]
cmp qword [rsp + 0x50], rdi
jge 0x14003a914
mov qword [rsp + 0x38], rsi
mov rsi, qword [rsp + 0x78]
mov rax, rdi
sub rax, rsi
mov rdi, rax
jo 0x14003b662
mov rdx, rdi
sar rdx, 0x3f
shr rdx, 0x3e
lea rax, [rdi + rdx]
and eax, 3
sub rax, rdx
mov rdx, rax
neg rdx
cmovns rax, rdx
cmp rax, 2
je 0x14003b66c
cmp rax, 3
je 0x14003b9d6
cmp qword [rsp + 0x38], 0
js 0x14003b752
mov rdx, qword [rsp + 0x38]
mov rcx, r15
add rsp, 0x88
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp fcn.14000c2a0
call fcn.140008da0
jmp 0x14003a858
sub rdx, 1
mov rcx, rbx
call fcn.14000e210
movzx eax, byte [r14 + rbx + 0x10]
movzx eax, byte [r12 + rax]
mov byte [rsp + 0x4f], al
cmp al, 0xff
jne 0x14003a794
mov rcx, qword [0x14006fc20]
mov edx, 0x30
call fcn.14000b930
mov rcx, rbx
mov rbp, rax
mov rax, qword [0x14006fd80]
mov qword [rbp], rax
lea rax, str.ValueError
mov qword [rsp + 0x30], rax
mov qword [rbp + 0x10], rax
mov rax, qword [r14]
lea rdx, [rax - 1]
call fcn.14000e210
mov rax, qword [r14]
lea rdx, [rax - 1]
mov rcx, rbx
call fcn.14000e210
movzx ecx, byte [r14 + rbx + 0x10]
call fcn.140001f70
mov rcx, rbx
mov r13, rax
call fcn.140001f70
xor ecx, ecx
mov r9, rax
test r13, r13
je 0x14003b004
mov rcx, qword [r13]
test r9, r9
je 0x14003b00c
add rcx, qword [r9]
add rcx, 0x38
mov qword [rsp + 0x38], r9
call fcn.14000bb70
mov r10d, 0x60
test r13, r13
movabs rdx, 0x2064696c61766e49
mov rdi, rax
mov rax, qword [rax]
mov r9, qword [rsp + 0x38]
movabs rcx, 0x6620343665736162
lea rax, [rdi + rax + 0x10]
mov qword [rax], rdx
movabs rdx, 0x68632074616d726f
mov qword [rax + 8], rcx
movabs rcx, 0x2072657463617261
mov qword [rax + 0x10], rdx
mov qword [rax + 0x18], rcx
mov word [rax + 0x20], r10w
mov rax, qword [rdi]
lea rdx, [rax + 0x21]
mov qword [rdi], rdx
movzx ecx, byte [r14 + rbx + 0x10]
lea rdx, [rax + 0x22]
mov byte [rdi + rax + 0x31], cl
movabs rcx, 0x2064726f282060
mov qword [rdi], rdx
mov qword [rdi + rax + 0x32], rcx
mov rdx, qword [rdi]
lea rax, [rdx + 7]
mov qword [rdi], rax
je 0x14003b0ca
mov rax, qword [r13]
lea rcx, [rdi + rdx + 0x17]
lea rdx, [r13 + 0x10]
lea r8, [rax + 1]
call sub.msvcrt.dll_memcpy
mov rax, qword [r13]
add rax, qword [rdi]
mov qword [rdi], rax
mov r9, qword [rsp + 0x38]
movabs rcx, 0x636f6c2074612029
lea rax, [rdi + rax + 0x10]
mov qword [rax], rcx
movabs rcx, 0x206e6f69746163
mov qword [rax + 7], rcx
mov rdx, qword [rdi]
lea rax, [rdx + 0xe]
mov qword [rdi], rax
test r9, r9
je 0x14003b121
mov rax, qword [r9]
lea rcx, [rdi + rdx + 0x1e]
lea rdx, [r9 + 0x10]
mov qword [rsp + 0x38], r9
lea r8, [rax + 1]
call sub.msvcrt.dll_memcpy
mov r9, qword [rsp + 0x38]
mov rax, qword [r9]
add rax, qword [rdi]
mov qword [rdi], rax
mov r9d, 0x2e
mov word [rdi + rax + 0x10], r9w
add qword [rdi], 1
add qword [rdi - 0x10], 8
mov rax, qword [rbp + 0x18]
test rax, rax
je 0x14003b168
mov rdx, qword [rax - 0x10]
lea rcx, [rax - 0x10]
sub rdx, 8
mov qword [rax - 0x10], rdx
cmp rdx, 7
ja 0x14003b168
mov rax, qword [str._L_b_]
mov rdx, rcx
lea rcx, [rax + 0x18]
call fcn.140007040
mov rax, qword [rbp + 8]
mov qword [rbp + 0x18], rdi
test rax, rax
je 0x14003b198
mov rdi, qword [rax - 0x10]
lea rcx, [rax - 0x10]
lea rdx, [rdi - 8]
mov qword [rax - 0x10], rdx
cmp rdx, 7
ja 0x14003b198
mov rdx, rcx
mov rcx, qword [rsp + 0x70]
call fcn.140007040
mov qword [rbp + 8], 0
mov rdx, qword [rsp + 0x30]
mov rcx, rbp
lea r9, str.base64.nim
mov qword [rsp + 0x20], 0xe9
lea r8, str.decode
call fcn.14000df20
mov byte [rsp + 0x4f], 0xff
jmp 0x14003a794
sub rdx, 1
mov rcx, rbx
call fcn.14000e210
movzx eax, byte [r14 + rbx + 0x10]
movzx r13d, byte [r12 + rax]
cmp r13b, 0xff
jne 0x14003a849
mov rcx, qword [0x14006fc20]
mov edx, 0x30
call fcn.14000b930
mov rcx, rbx
mov r13, rax
mov rax, qword [0x14006fd80]
mov qword [r13], rax
lea rax, str.ValueError
mov qword [rsp + 0x30], rax
mov qword [r13 + 0x10], rax
mov rax, qword [r14]
lea rdx, [rax - 1]
call fcn.14000e210
mov rax, qword [r14]
lea rdx, [rax - 1]
mov rcx, rbx
call fcn.14000e210
movzx ecx, byte [r14 + rbx + 0x10]
call fcn.140001f70
mov rcx, rbx
mov qword [rsp + 0x58], rax
call fcn.140001f70
mov r11, qword [rsp + 0x58]
xor ecx, ecx
mov r10, rax
test r11, r11
je 0x14003b268
mov rcx, qword [r11]
test r10, r10
je 0x14003b270
add rcx, qword [r10]
add rcx, 0x38
mov qword [rsp + 0x60], r10
mov qword [rsp + 0x58], r11
call fcn.14000bb70
mov r11d, 0x60
mov r10, qword [rsp + 0x60]
movabs rdx, 0x2064696c61766e49
movabs rcx, 0x6620343665736162
mov r9, rax
mov rax, qword [rax]
lea rax, [r9 + rax + 0x10]
mov qword [rax], rdx
movabs rdx, 0x68632074616d726f
mov qword [rax + 8], rcx
movabs rcx, 0x2072657463617261
mov qword [rax + 0x10], rdx
mov word [rax + 0x20], r11w
mov r11, qword [rsp + 0x58]
mov qword [rax + 0x18], rcx
mov rax, qword [r9]
test r11, r11
lea rdx, [rax + 0x21]
mov qword [r9], rdx
movzx ecx, byte [r14 + rbx + 0x10]
lea rdx, [rax + 0x22]
mov byte [r9 + rax + 0x31], cl
movabs rcx, 0x2064726f282060
mov qword [r9], rdx
mov qword [r9 + rax + 0x32], rcx
mov rdx, qword [r9]
lea rax, [rdx + 7]
mov qword [r9], rax
je 0x14003b34b
mov rax, qword [r11]
lea rcx, [r9 + rdx + 0x17]
lea rdx, [r11 + 0x10]
mov qword [rsp + 0x68], r10
mov qword [rsp + 0x60], r9
lea r8, [rax + 1]
call sub.msvcrt.dll_memcpy
mov r9, qword [rsp + 0x60]
mov r11, qword [rsp + 0x58]
mov r10, qword [rsp + 0x68]
mov rax, qword [r11]
add rax, qword [r9]
mov qword [r9], rax
movabs rcx, 0x636f6c2074612029
lea rax, [r9 + rax + 0x10]
mov qword [rax], rcx
movabs rcx, 0x206e6f69746163
mov qword [rax + 7], rcx
mov rdx, qword [r9]
lea rax, [rdx + 0xe]
mov qword [r9], rax
test r10, r10
je 0x14003b3ac
mov rax, qword [r10]
lea rcx, [r9 + rdx + 0x1e]
lea rdx, [r10 + 0x10]
mov qword [rsp + 0x60], r9
mov qword [rsp + 0x58], r10
lea r8, [rax + 1]
call sub.msvcrt.dll_memcpy
mov r9, qword [rsp + 0x60]
mov r10, qword [rsp + 0x58]
mov rax, qword [r10]
add rax, qword [r9]
mov qword [r9], rax
mov r10d, 0x2e
mov word [r9 + rax + 0x10], r10w
add qword [r9], 1
add qword [r9 - 0x10], 8
mov rax, qword [r13 + 0x18]
test rax, rax
je 0x14003b3fd
mov rdx, qword [rax - 0x10]
lea rcx, [rax - 0x10]
sub rdx, 8
mov qword [rax - 0x10], rdx
cmp rdx, 7
ja 0x14003b3fd
mov rax, qword [str._L_b_]
mov rdx, rcx
mov qword [rsp + 0x58], r9
lea rcx, [rax + 0x18]
call fcn.140007040
mov r9, qword [rsp + 0x58]
mov rax, qword [r13 + 8]
mov qword [r13 + 0x18], r9
test rax, rax
je 0x14003b433
mov rdx, qword [rax - 0x10]
lea rcx, [rax - 0x10]
sub rdx, 8
mov qword [rax - 0x10], rdx
cmp rdx, 7
ja 0x14003b433
mov rax, qword [str._L_b_]
mov rdx, rcx
lea rcx, [rax + 0x18]
call fcn.140007040
mov qword [r13 + 8], 0
mov rdx, qword [rsp + 0x30]
mov rcx, r13
lea r9, str.base64.nim
mov qword [rsp + 0x20], 0xe9
lea r8, str.decode
mov r13d, 0xffffffff
call fcn.14000df20
jmp 0x14003a849
mov rcx, qword [0x14006fc20]
mov edx, 0x30
call fcn.14000b930
mov r13, rax
mov rax, qword [0x14006fd80]
mov qword [r13], rax
lea rax, str.ValueError
mov qword [rsp + 0x30], rax
mov qword [r13 + 0x10], rax
mov rax, qword [r14]
cmp rbx, rax
jl 0x14003b23e
lea rdx, [rax - 1]
mov rcx, rbx
call fcn.14000e210
mov rax, qword [r14]
cmp rbx, rax
jge 0x14003b232
jmp 0x14003b23e
mov rcx, qword [0x14006fc20]
mov edx, 0x30
call fcn.14000b930
mov rbp, rax
mov rax, qword [0x14006fd80]
mov qword [rbp], rax
lea rax, str.ValueError
mov qword [rsp + 0x30], rax
mov qword [rbp + 0x10], rax
mov rax, qword [r14]
cmp rbx, rax
jl 0x14003afe0
lea rdx, [rax - 1]
mov rcx, rbx
call fcn.14000e210
mov rax, qword [r14]
cmp rbx, rax
jge 0x14003afd4
jmp 0x14003afe0
mov rdx, 0xffffffffffffffff
jmp 0x14003a876
mov rcx, qword [0x14006fc20]
mov edx, 0x30
call fcn.14000b930
mov rdi, rax
mov rax, qword [0x14006fd80]
mov qword [rdi], rax
lea rax, str.ValueError
mov qword [rsp + 0x30], rax
mov qword [rdi + 0x10], rax
jmp 0x14003a9ee
mov rcx, qword [0x14006fc20]
mov edx, 0x30
call fcn.14000b930
mov rdi, rax
mov rax, qword [0x14006fd80]
mov qword [rdi], rax
lea rax, str.ValueError
mov qword [rsp + 0x30], rax
mov qword [rdi + 0x10], rax
jmp 0x14003ac83
xor eax, eax
add rsp, 0x88
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov rax, qword [r14]
mov rcx, rbx
lea rdx, [rax - 1]
call fcn.14000e210
mov rax, qword [r14]
jmp 0x14003ac9f
mov rax, qword [r14]
mov rcx, rbx
lea rdx, [rax - 1]
call fcn.14000e210
mov rax, qword [r14]
jmp 0x14003aa0a
mov rcx, rax
xor edx, edx
mov qword [rsp + 0x30], rax
movabs r8, 0x7fffffffffffffff
call fcn.14000e070
mov rax, qword [rsp + 0x30]
jmp 0x14003a6be
neg rsi
seto al
mov rdi, rsi
movzx eax, al
mov qword [rsp + 0x38], rax
jo 0x14003b657
mov rdx, rsi
sar rdx, 0x3f
shr rdx, 0x3e
lea rax, [rsi + rdx]
and eax, 3
sub rax, rdx
mov rdx, rax
neg rdx
cmovns rax, rdx
xor ebx, ebx
cmp rax, 2
je 0x14003b66c
cmp rax, 3
jne 0x14003af3d
mov rax, qword [r14]
xor ebx, ebx
jmp 0x14003b9d9
mov qword [rsp + 0x38], 0
xor ebx, ebx
call fcn.140008da0
jmp 0x14003aefe
mov rax, qword [r14]
cmp rax, rbx
jg 0x14003b680
lea rdx, [rax - 1]
mov rcx, rbx
call fcn.14000e210
lea rax, [0x140068680]
mov rsi, rax
mov qword [rsp + 0x30], rax
movzx eax, byte [r14 + rbx + 0x10]
movzx eax, byte [rsi + rax]
mov byte [rsp + 0x40], al
cmp al, 0xff
je 0x14003c0c3
mov rdi, rbx
add rdi, 1
js 0x14003c5dc
cmp rdi, rbx
jb 0x14003c5dc
mov rax, qword [r14]
test rdi, rdi
js 0x14003b76d
cmp rdi, rax
jge 0x14003b76d
movzx eax, byte [r14 + rdi + 0x10]
mov rsi, qword [rsp + 0x30]
movzx esi, byte [rsi + rax]
cmp rsi, 0xff
je 0x14003c309
add rdi, 1
jo 0x14003c5f0
mov rax, qword [rsp + 0x38]
test rax, rax
js 0x14003c0ab
test r15, r15
je 0x14003c58c
mov rdx, qword [r15]
cmp rax, rdx
jl 0x14003b723
sub rdx, 1
mov rcx, qword [rsp + 0x38]
call fcn.14000e210
mov rax, qword [rsp + 0x38]
movzx edi, byte [rsp + 0x40]
sar rsi, 4
shl edi, 2
mov rbx, rax
or edi, esi
add rbx, 1
mov byte [r15 + rax + 0x10], dil
jo 0x14003bf9c
mov qword [rsp + 0x38], rbx
jmp 0x14003af31
mov rcx, qword [rsp + 0x38]
xor edx, edx
movabs r8, 0x7fffffffffffffff
call fcn.14000e070
jmp 0x14003af3d
lea rdx, [rax - 1]
mov rcx, rdi
call fcn.14000e210
movzx eax, byte [r14 + rdi + 0x10]
mov rsi, qword [rsp + 0x30]
movzx esi, byte [rsi + rax]
cmp rsi, 0xff
jne 0x14003b6ec
mov rcx, qword [0x14006fc20]
mov edx, 0x30
lea rsi, str.ValueError
call fcn.14000b930
mov r12, rax
mov rax, qword [0x14006fd80]
mov qword [r12 + 0x10], rsi
mov qword [r12], rax
test rdi, rdi
js 0x14003c598
mov rax, qword [r14]
cmp rdi, rax
jl 0x14003b7f1
lea rdx, [rax - 1]
mov rcx, rdi
call fcn.14000e210
mov rax, qword [r14]
cmp rdi, rax
jl 0x14003b7f1
lea rdx, [rax - 1]
mov rcx, rdi
call fcn.14000e210
movzx ecx, byte [r14 + rdi + 0x10]
call fcn.140001f70
mov rcx, rdi
mov rbx, rax
call fcn.140001f70
mov r13, rax
xor eax, eax
test rbx, rbx
je 0x14003b814
mov rax, qword [rbx]
test r13, r13
je 0x14003b81d
add rax, qword [r13]
lea rcx, [rax + 0x38]
call fcn.14000bb70
movabs rdx, 0x2064696c61766e49
movabs rcx, 0x6620343665736162
mov rbp, rax
mov rax, qword [rax]
lea rax, [rbp + rax + 0x10]
mov qword [rax], rdx
movabs rdx, 0x68632074616d726f
mov qword [rax + 8], rcx
movabs rcx, 0x2072657463617261
mov qword [rax + 0x10], rdx
mov edx, 0x60
mov word [rax + 0x20], dx
mov qword [rax + 0x18], rcx
mov rax, qword [rbp]
lea rdx, [rax + 0x21]
mov qword [rbp], rdx
movzx ecx, byte [r14 + rdi + 0x10]
lea rdx, [rax + 0x22]
mov byte [rbp + rax + 0x31], cl
movabs rcx, 0x2064726f282060
mov qword [rbp], rdx
mov qword [rbp + rax + 0x32], rcx
mov rdx, qword [rbp]
lea rax, [rdx + 7]
mov qword [rbp], rax
test rbx, rbx
je 0x14003b8cf
mov rax, qword [rbx]
lea rcx, [rbp + rdx + 0x17]
lea rdx, [rbx + 0x10]
lea r8, [rax + 1]
call sub.msvcrt.dll_memcpy
mov rax, qword [rbx]
add rax, qword [rbp]
mov qword [rbp], rax
movabs rcx, 0x636f6c2074612029
lea rax, [rbp + rax + 0x10]
mov qword [rax], rcx
movabs rcx, 0x206e6f69746163
mov qword [rax + 7], rcx
mov rdx, qword [rbp]
lea rax, [rdx + 0xe]
mov qword [rbp], rax
test r13, r13
je 0x14003b922
mov rax, qword [r13]
lea rcx, [rbp + rdx + 0x1e]
lea rdx, [r13 + 0x10]
lea r8, [rax + 1]
call sub.msvcrt.dll_memcpy
mov rax, qword [r13]
add rax, qword [rbp]
mov qword [rbp], rax
mov ebx, 0x2e
mov word [rbp + rax + 0x10], bx
add qword [rbp], 1
add qword [rbp - 0x10], 8
mov rdx, qword [r12 + 0x18]
test rdx, rdx
je 0x14003b969
mov rax, qword [rdx - 0x10]
lea rcx, [rdx - 0x10]
sub rax, 8
mov qword [rdx - 0x10], rax
cmp rax, 7
ja 0x14003b969
mov rax, qword [str._L_b_]
mov rdx, rcx
lea rcx, [rax + 0x18]
call fcn.140007040
mov rdx, qword [r12 + 8]
mov qword [r12 + 0x18], rbp
test rdx, rdx
je 0x14003b9a1
mov rax, qword [rdx - 0x10]
lea rcx, [rdx - 0x10]
sub rax, 8
mov qword [rdx - 0x10], rax
cmp rax, 7
ja 0x14003b9a1
mov rax, qword [str._L_b_]
mov rdx, rcx
lea rcx, [rax + 0x18]
call fcn.140007040
mov qword [r12 + 8], 0
mov rdx, rsi
mov rcx, r12
lea r9, str.base64.nim
mov qword [rsp + 0x20], 0xe9
lea r8, str.decode
mov esi, 0xff
call fcn.14000df20
jmp 0x14003b6ec
mov rax, qword [r14]
cmp rbx, rax
jge 0x14003c09a
lea rax, [0x140068680]
mov rsi, rax
mov qword [rsp + 0x30], rax
movzx eax, byte [r14 + rbx + 0x10]
movzx eax, byte [rsi + rax]
mov byte [rsp + 0x40], al
cmp al, 0xff
je 0x14003c351
mov rdi, rbx
add rdi, 1
js 0x14003c5d2
cmp rdi, rbx
jb 0x14003c5d2
mov rax, qword [r14]
test rdi, rdi
js 0x14003bfb0
cmp rdi, rax
jge 0x14003bfb0
movzx eax, byte [r14 + rdi + 0x10]
mov rsi, qword [rsp + 0x30]
movzx eax, byte [rsi + rax]
mov byte [rsp + 0x4f], al
mov qword [rsp + 0x50], rax
cmp rax, 0xff
jne 0x14003bc95
mov rcx, qword [0x14006fc20]
mov edx, 0x30
lea rsi, str.ValueError
call fcn.14000b930
mov rbx, rax
mov rax, qword [0x14006fd80]
mov qword [rbx + 0x10], rsi
mov qword [rbx], rax
mov rax, qword [r14]
cmp rdi, rax
jl 0x14003baa7
lea rdx, [rax - 1]
mov rcx, rdi
call fcn.14000e210
mov rax, qword [r14]
cmp rdi, rax
jl 0x14003baa7
lea rdx, [rax - 1]
mov rcx, rdi
call fcn.14000e210
movzx ecx, byte [r14 + rdi + 0x10]
call fcn.140001f70
mov rcx, rdi
mov rbp, rax
call fcn.140001f70
mov r13, rax
xor eax, eax
test rbp, rbp
je 0x14003bacb
mov rax, qword [rbp]
test r13, r13
je 0x14003bad4
add rax, qword [r13]
lea rcx, [rax + 0x38]
call fcn.14000bb70
mov r9d, 0x60
movabs rdx, 0x2064696c61766e49
movabs rcx, 0x6620343665736162
mov r12, rax
mov rax, qword [rax]
lea rax, [r12 + rax + 0x10]
mov qword [rax], rdx
movabs rdx, 0x68632074616d726f
mov qword [rax + 8], rcx
movabs rcx, 0x2072657463617261
mov qword [rax + 0x10], rdx
mov qword [rax + 0x18], rcx
mov word [rax + 0x20], r9w
mov rax, qword [r12]
lea rdx, [rax + 0x21]
mov qword [r12], rdx
movzx ecx, byte [r14 + rdi + 0x10]
lea rdx, [rax + 0x22]
mov byte [r12 + rax + 0x31], cl
movabs rcx, 0x2064726f282060
mov qword [r12], rdx
mov qword [r12 + rax + 0x32], rcx
mov rdx, qword [r12]
lea rax, [rdx + 7]
mov qword [r12], rax
test rbp, rbp
je 0x14003bb8b
mov rax, qword [rbp]
lea rcx, [r12 + rdx + 0x17]
lea rdx, [rbp + 0x10]
lea r8, [rax + 1]
call sub.msvcrt.dll_memcpy
mov rax, qword [rbp]
add rax, qword [r12]
mov qword [r12], rax
movabs rcx, 0x636f6c2074612029
lea rax, [r12 + rax + 0x10]
mov qword [rax], rcx
movabs rcx, 0x206e6f69746163
mov qword [rax + 7], rcx
mov rdx, qword [r12]
lea rax, [rdx + 0xe]
mov qword [r12], rax
test r13, r13
je 0x14003bbde
mov rax, qword [r13]
lea rcx, [r12 + rdx + 0x1e]
lea rdx, [r13 + 0x10]
lea r8, [rax + 1]
call sub.msvcrt.dll_memcpy
mov rax, qword [r13]
add rax, qword [r12]
mov qword [r12], rax
mov r8d, 0x2e
mov word [r12 + rax + 0x10], r8w
add qword [r12], 1
add qword [r12 - 0x10], 8
mov rdx, qword [rbx + 0x18]
test rdx, rdx
je 0x14003bc27
mov rax, qword [rdx - 0x10]
lea rcx, [rdx - 0x10]
sub rax, 8
mov qword [rdx - 0x10], rax
cmp rax, 7
ja 0x14003bc27
mov rax, qword [str._L_b_]
mov rdx, rcx
lea rcx, [rax + 0x18]
call fcn.140007040
mov rdx, qword [rbx + 8]
mov qword [rbx + 0x18], r12
test rdx, rdx
je 0x14003bc5d
mov rax, qword [rdx - 0x10]
lea rcx, [rdx - 0x10]
sub rax, 8
mov qword [rdx - 0x10], rax
cmp rax, 7
ja 0x14003bc5d
mov rax, qword [str._L_b_]
mov rdx, rcx
lea rcx, [rax + 0x18]
call fcn.140007040
mov qword [rbx + 8], 0
lea r9, str.base64.nim
mov rdx, rsi
mov rcx, rbx
mov qword [rsp + 0x20], 0xe9
lea r8, str.decode
call fcn.14000df20
mov byte [rsp + 0x4f], 0xff
mov qword [rsp + 0x50], 0xff
add rdi, 1
mov rbx, rdi
jo 0x14003c5e6
mov rax, qword [r14]
test rbx, rbx
js 0x14003c029
cmp rbx, rax
jge 0x14003c029
movzx eax, byte [r14 + rbx + 0x10]
mov rsi, qword [rsp + 0x30]
movzx esi, byte [rsi + rax]
cmp rsi, 0xff
jne 0x14003bf04
mov rcx, qword [0x14006fc20]
mov edx, 0x30
lea rsi, str.ValueError
call fcn.14000b930
mov rdi, rax
mov rax, qword [0x14006fd80]
mov qword [rdi + 0x10], rsi
mov qword [rdi], rax
mov rax, qword [r14]
cmp rbx, rax
jl 0x14003bd24
lea rdx, [rax - 1]
mov rcx, rbx
call fcn.14000e210
mov rax, qword [r14]
cmp rbx, rax
jl 0x14003bd24
lea rdx, [rax - 1]
mov rcx, rbx
call fcn.14000e210
movzx ecx, byte [r14 + rbx + 0x10]
call fcn.140001f70
mov rcx, rbx
mov r13, rax
call fcn.140001f70
mov r12, rax
xor eax, eax
test r13, r13
je 0x14003bd48
mov rax, qword [r13]
test r12, r12
je 0x14003bd51
add rax, qword [r12]
lea rcx, [rax + 0x38]
call fcn.14000bb70
movabs rcx, 0x6620343665736162
movabs rdx, 0x2064696c61766e49
mov rbp, rax
mov rax, qword [rax]
lea rax, [rbp + rax + 0x10]
mov qword [rax + 8], rcx
movabs rcx, 0x2072657463617261
mov qword [rax], rdx
movabs rdx, 0x68632074616d726f
mov qword [rax + 0x18], rcx
mov ecx, 0x60
mov qword [rax + 0x10], rdx
mov word [rax + 0x20], cx
mov rax, qword [rbp]
lea rdx, [rax + 0x21]
mov qword [rbp], rdx
movzx ecx, byte [r14 + rbx + 0x10]
lea rdx, [rax + 0x22]
mov byte [rbp + rax + 0x31], cl
movabs rcx, 0x2064726f282060
mov qword [rbp], rdx
mov qword [rbp + rax + 0x32], rcx
mov rdx, qword [rbp]
lea rax, [rdx + 7]
mov qword [rbp], rax
test r13, r13
je 0x14003be05
mov rax, qword [r13]
lea rcx, [rbp + rdx + 0x17]
lea rdx, [r13 + 0x10]
lea r8, [rax + 1]
call sub.msvcrt.dll_memcpy
mov rax, qword [r13]
add rax, qword [rbp]
mov qword [rbp], rax
movabs rcx, 0x636f6c2074612029
lea rax, [rbp + rax + 0x10]
mov qword [rax], rcx
movabs rcx, 0x206e6f69746163
mov qword [rax + 7], rcx
mov rdx, qword [rbp]
lea rax, [rdx + 0xe]
mov qword [rbp], rax
test r12, r12
je 0x14003be59
mov rax, qword [r12]
lea rcx, [rbp + rdx + 0x1e]
lea rdx, [r12 + 0x10]
lea r8, [rax + 1]
call sub.msvcrt.dll_memcpy
mov rax, qword [r12]
add rax, qword [rbp]
mov qword [rbp], rax
mov edx, 0x2e
mov word [rbp + rax + 0x10], dx
add qword [rbp], 1
add qword [rbp - 0x10], 8
mov rdx, qword [rdi + 0x18]
test rdx, rdx
je 0x14003be9f
mov rax, qword [rdx - 0x10]
lea rcx, [rdx - 0x10]
sub rax, 8
mov qword [rdx - 0x10], rax
cmp rax, 7
ja 0x14003be9f
mov rax, qword [str._L_b_]
mov rdx, rcx
lea rcx, [rax + 0x18]
call fcn.140007040
mov rdx, qword [rdi + 8]
mov qword [rdi + 0x18], rbp
test rdx, rdx
je 0x14003bed5
mov rax, qword [rdx - 0x10]
lea rcx, [rdx - 0x10]
sub rax, 8
mov qword [rdx - 0x10], rax
cmp rax, 7
ja 0x14003bed5
mov rax, qword [str._L_b_]
mov rdx, rcx
lea rcx, [rax + 0x18]
call fcn.140007040
mov qword [rdi + 8], 0
mov rdx, rsi
mov rcx, rdi
lea r9, str.base64.nim
mov qword [rsp + 0x20], 0xe9
lea r8, str.decode
mov esi, 0xff
call fcn.14000df20
add rbx, 1
jo 0x14003c5fa
mov rax, qword [rsp + 0x38]
test rax, rax
js 0x14003c339
test r15, r15
je 0x14003c2fd
mov rdx, qword [r15]
cmp rdx, rax
jg 0x14003bf3b
sub rdx, 1
mov rcx, qword [rsp + 0x38]
call fcn.14000e210
movzx eax, byte [rsp + 0x40]
mov r13, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x38]
shl eax, 2
sar r13, 4
or eax, r13d
mov byte [r15 + rdi + 0x10], al
add rdi, 1
mov rbx, rdi
jo 0x14003c5c8
mov rax, qword [r15]
test rbx, rbx
js 0x14003bf73
cmp rbx, rax
jl 0x14003bf7f
lea rdx, [rax - 1]
mov rcx, rbx
call fcn.14000e210
movzx eax, byte [rsp + 0x4f]
sar rsi, 2
shl eax, 4
or eax, esi
mov byte [r15 + rbx + 0x10], al
add rbx, 1
jno 0x14003b748
call fcn.140008da0
jmp 0x14003b748
lea rdx, [rax - 1]
mov rcx, rdi
call fcn.14000e210
movzx eax, byte [r14 + rdi + 0x10]
mov rsi, qword [rsp + 0x30]
movzx eax, byte [rsi + rax]
mov byte [rsp + 0x4f], al
mov qword [rsp + 0x50], rax
cmp rax, 0xff
jne 0x14003bc95
mov rcx, qword [0x14006fc20]
mov edx, 0x30
lea rsi, str.ValueError
call fcn.14000b930
mov rbx, rax
mov rax, qword [0x14006fd80]
mov qword [rbx + 0x10], rsi
mov qword [rbx], rax
test rdi, rdi
jns 0x14003ba7f
mov rax, qword [r14]
mov rcx, rdi
lea rdx, [rax - 1]
call fcn.14000e210
mov rax, qword [r14]
jmp 0x14003ba9b
lea rdx, [rax - 1]
mov rcx, rbx
call fcn.14000e210
movzx eax, byte [r14 + rbx + 0x10]
mov rsi, qword [rsp + 0x30]
movzx esi, byte [rsi + rax]
cmp rsi, 0xff
jne 0x14003bf04
mov rcx, qword [0x14006fc20]
mov edx, 0x30
lea rsi, str.ValueError
call fcn.14000b930
mov rdi, rax
mov rax, qword [0x14006fd80]
mov qword [rdi + 0x10], rsi
mov qword [rdi], rax
test rbx, rbx
jns 0x14003bcfc
mov rax, qword [r14]
mov rcx, rbx
lea rdx, [rax - 1]
call fcn.14000e210
mov rax, qword [r14]
jmp 0x14003bd18
lea rdx, [rax - 1]
mov rcx, rbx
call fcn.14000e210
jmp 0x14003b9e2
mov rdx, 0xffffffffffffffff
test r15, r15
je 0x14003b719
mov rdx, qword [r15]
jmp 0x14003b715
mov rcx, qword [0x14006fc20]
mov edx, 0x30
lea rsi, str.ValueError
call fcn.14000b930
mov rdi, rax
mov rax, qword [0x14006fd80]
mov qword [rdi + 0x10], rsi
mov qword [rdi], rax
mov rax, qword [r14]
cmp rax, rbx
jg 0x14003c114
lea rdx, [rax - 1]
mov rcx, rbx
call fcn.14000e210
mov rax, qword [r14]
cmp rax, rbx
jg 0x14003c114
lea rdx, [rax - 1]
mov rcx, rbx
call fcn.14000e210
movzx ecx, byte [r14 + rbx + 0x10]
call fcn.140001f70
mov rcx, rbx
mov r12, rax
call fcn.140001f70
mov rbp, rax
xor eax, eax
test r12, r12
je 0x14003c138
mov rax, qword [r12]
test rbp, rbp
je 0x14003c141
add rax, qword [rbp]
lea rcx, [rax + 0x38]
call fcn.14000bb70
mov r8d, 0x60
movabs rdx, 0x2064696c61766e49
movabs rcx, 0x6620343665736162
mov r13, rax
mov rax, qword [rax]
lea rax, [r13 + rax + 0x10]
mov qword [rax], rdx
movabs rdx, 0x68632074616d726f
mov qword [rax + 8], rcx
movabs rcx, 0x2072657463617261
mov qword [rax + 0x10], rdx
mov qword [rax + 0x18], rcx
mov word [rax + 0x20], r8w
mov rax, qword [r13]
lea rdx, [rax + 0x21]
mov qword [r13], rdx
movzx ecx, byte [r14 + rbx + 0x10]
lea rdx, [rax + 0x22]
mov byte [r13 + rax + 0x31], cl
movabs rcx, 0x2064726f282060
mov qword [r13], rdx
mov qword [r13 + rax + 0x32], rcx
mov rdx, qword [r13]
lea rax, [rdx + 7]
mov qword [r13], rax
test r12, r12
je 0x14003c1f9
mov rax, qword [r12]
lea rcx, [r13 + rdx + 0x17]
lea rdx, [r12 + 0x10]
lea r8, [rax + 1]
call sub.msvcrt.dll_memcpy
mov rax, qword [r12]
add rax, qword [r13]
mov qword [r13], rax
movabs rcx, 0x636f6c2074612029
lea rax, [r13 + rax + 0x10]
mov qword [rax], rcx
movabs rcx, 0x206e6f69746163
mov qword [rax + 7], rcx
mov rdx, qword [r13]
lea rax, [rdx + 0xe]
mov qword [r13], rax
test rbp, rbp
je 0x14003c24c
mov rax, qword [rbp]
lea rcx, [r13 + rdx + 0x1e]
lea rdx, [rbp + 0x10]
lea r8, [rax + 1]
call sub.msvcrt.dll_memcpy
mov rax, qword [rbp]
add rax, qword [r13]
mov qword [r13], rax
mov ecx, 0x2e
mov word [r13 + rax + 0x10], cx
add qword [r13], 1
add qword [r13 - 0x10], 8
mov rdx, qword [rdi + 0x18]
test rdx, rdx
je 0x14003c293
mov rax, qword [rdx - 0x10]
lea rcx, [rdx - 0x10]
sub rax, 8
mov qword [rdx - 0x10], rax
cmp rax, 7
ja 0x14003c293
mov rax, qword [str._L_b_]
mov rdx, rcx
lea rcx, [rax + 0x18]
call fcn.140007040
mov rdx, qword [rdi + 8]
mov qword [rdi + 0x18], r13
test rdx, rdx
je 0x14003c2c9
mov rax, qword [rdx - 0x10]
lea rcx, [rdx - 0x10]
sub rax, 8
mov qword [rdx - 0x10], rax
cmp rax, 7
ja 0x14003c2c9
mov rax, qword [str._L_b_]
mov rdx, rcx
lea rcx, [rax + 0x18]
call fcn.140007040
mov qword [rdi + 8], 0
lea r9, str.base64.nim
mov rdx, rsi
mov rcx, rdi
mov qword [rsp + 0x20], 0xe9
lea r8, str.decode
call fcn.14000df20
mov byte [rsp + 0x40], 0xff
jmp 0x14003b6a5
mov rdx, 0xffffffffffffffff
jmp 0x14003bf31
mov rcx, qword [0x14006fc20]
mov edx, 0x30
lea rsi, str.ValueError
call fcn.14000b930
mov r12, rax
mov rax, qword [0x14006fd80]
mov qword [r12 + 0x10], rsi
mov qword [r12], rax
jmp 0x14003b7c9
mov rdx, 0xffffffffffffffff
test r15, r15
je 0x14003bf31
mov rdx, qword [r15]
jmp 0x14003bf2d
mov rcx, qword [0x14006fc20]
mov edx, 0x30
lea rsi, str.ValueError
call fcn.14000b930
mov rdi, rax
mov rax, qword [0x14006fd80]
mov qword [rdi + 0x10], rsi
mov qword [rdi], rax
mov rax, qword [r14]
cmp rbx, rax
jl 0x14003c3a2
lea rdx, [rax - 1]
mov rcx, rbx
call fcn.14000e210
mov rax, qword [r14]
cmp rbx, rax
jl 0x14003c3a2
lea rdx, [rax - 1]
mov rcx, rbx
call fcn.14000e210
movzx ecx, byte [r14 + rbx + 0x10]
call fcn.140001f70
mov rcx, rbx
mov r12, rax
call fcn.140001f70
mov rbp, rax
xor eax, eax
test r12, r12
je 0x14003c3c6
mov rax, qword [r12]
test rbp, rbp
je 0x14003c3cf
add rax, qword [rbp]
lea rcx, [rax + 0x38]
call fcn.14000bb70
mov r11d, 0x60
movabs rdx, 0x2064696c61766e49
movabs rcx, 0x6620343665736162
mov r13, rax
mov rax, qword [rax]
lea rax, [r13 + rax + 0x10]
mov qword [rax], rdx
movabs rdx, 0x68632074616d726f
mov qword [rax + 8], rcx
movabs rcx, 0x2072657463617261
mov qword [rax + 0x10], rdx
mov qword [rax + 0x18], rcx
mov word [rax + 0x20], r11w
mov rax, qword [r13]
lea rdx, [rax + 0x21]
mov qword [r13], rdx
movzx ecx, byte [r14 + rbx + 0x10]
lea rdx, [rax + 0x22]
mov byte [r13 + rax + 0x31], cl
movabs rcx, 0x2064726f282060
mov qword [r13], rdx
mov qword [r13 + rax + 0x32], rcx
mov rdx, qword [r13]
lea rax, [rdx + 7]
mov qword [r13], rax
test r12, r12
je 0x14003c487
mov rax, qword [r12]
lea rcx, [r13 + rdx + 0x17]
lea rdx, [r12 + 0x10]
lea r8, [rax + 1]
call sub.msvcrt.dll_memcpy
mov rax, qword [r12]
add rax, qword [r13]
mov qword [r13], rax
movabs rcx, 0x636f6c2074612029
lea rax, [r13 + rax + 0x10]
mov qword [rax], rcx
movabs rcx, 0x206e6f69746163
mov qword [rax + 7], rcx
mov rdx, qword [r13]
lea rax, [rdx + 0xe]
mov qword [r13], rax
test rbp, rbp
je 0x14003c4da
mov rax, qword [rbp]
lea rcx, [r13 + rdx + 0x1e]
lea rdx, [rbp + 0x10]
lea r8, [rax + 1]
call sub.msvcrt.dll_memcpy
mov rax, qword [rbp]
add rax, qword [r13]
mov qword [r13], rax
mov r10d, 0x2e
mov word [r13 + rax + 0x10], r10w
add qword [r13], 1
add qword [r13 - 0x10], 8
mov rdx, qword [rdi + 0x18]
test rdx, rdx
je 0x14003c522
mov rax, qword [rdx - 0x10]
lea rcx, [rdx - 0x10]
sub rax, 8
mov qword [rdx - 0x10], rax
cmp rax, 7
ja 0x14003c522
mov rax, qword [str._L_b_]
mov rdx, rcx
lea rcx, [rax + 0x18]
call fcn.140007040
mov rdx, qword [rdi + 8]
mov qword [rdi + 0x18], r13
test rdx, rdx
je 0x14003c558
mov rax, qword [rdx - 0x10]
lea rcx, [rdx - 0x10]
sub rax, 8
mov qword [rdx - 0x10], rax
cmp rax, 7
ja 0x14003c558
mov rax, qword [str._L_b_]
mov rdx, rcx
lea rcx, [rax + 0x18]
call fcn.140007040
mov qword [rdi + 8], 0
lea r9, str.base64.nim
mov rdx, rsi
mov rcx, rdi
mov qword [rsp + 0x20], 0xe9
lea r8, str.decode
call fcn.14000df20
mov byte [rsp + 0x40], 0xff
jmp 0x14003ba07
mov rdx, 0xffffffffffffffff
jmp 0x14003b719
mov rax, qword [r14]
mov rcx, rdi
lea rdx, [rax - 1]
call fcn.14000e210
mov rax, qword [r14]
jmp 0x14003b7e5
mov ebp, 1
call fcn.140008da0
jmp 0x14003a6ef
call fcn.140008da0
jmp 0x14003a8d6
call fcn.140008da0
jmp 0x14003bf66
call fcn.140008da0
jmp 0x14003ba1d
call fcn.140008da0
jmp 0x14003b6bb
call fcn.140008da0
jmp 0x14003bca2
call fcn.140008da0
jmp 0x14003b6f6
call fcn.140008da0
jmp 0x14003bf0e
mov qword [rsp + 0x30], r8
call fcn.140008da0
mov r8, qword [rsp + 0x30]
jmp 0x14003a723
call fcn.140008da0
jmp 0x14003a6a5
call fcn.140008da0
jmp 0x14003a79e
call fcn.140008da0
jmp 0x14003a7dd
call fcn.140008da0
jmp 0x14003a817
call fcn.140008da0
jmp 0x14003a8a0