Function at 0x140039d50
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 0x14003ac82
mov rax, qword [rcx]
test rax, rax
je 0x14003ac82
imul rbx, rax, 3
jo 0x14003bcf8
test rbx, rbx
lea rax, [rbx + 3]
cmovns rax, rbx
sar rax, 2
add rax, 6
js 0x14003acc6
movabs rdi, 0xdffffffeffffdbff
mov rdx, rax
xor ecx, ecx
call fcn.14000bef0
mov rsi, qword [r14]
mov r15, rax
nop dword [rax + rax]
mov rbx, rsi
xor ebp, ebp
sub rbx, 1
jo 0x14003bc8f
mov rdx, qword [r14]
test rbx, rbx
js 0x140039ddc
cmp rbx, rdx
jl 0x140039de8
sub rdx, 1
mov rcx, rbx
call fcn.14000dfd0
movzx eax, byte [r14 + rbx + 0x10]
cmp al, 0x3d
jbe 0x14003a040
mov r8, rsi
sub r8, 4
jo 0x14003bce4
test r8, r8
js 0x14003ace9
mov rax, qword [0x140065980]
xor edi, edi
mov qword [rsp + 0x78], rsi
xor ebx, ebx
mov qword [rsp + 0x50], r8
lea r12, [0x14005f500]
mov rsi, rdi
add rax, 0x18
mov qword [rsp + 0x70], rax
jmp 0x140039ff4
mov rdx, qword [r14]
test rbx, rbx
js 0x14003a650
cmp rbx, rdx
jl 0x140039e63
sub rdx, 1
mov rcx, rbx
call fcn.14000dfd0
movzx eax, byte [r14 + rbx + 0x10]
movzx eax, byte [r12 + rax]
mov byte [rsp + 0x4f], al
cmp al, 0xff
je 0x14003abb0
add rbx, 1
jo 0x14003bd02
mov rdx, qword [r14]
test rbx, rbx
js 0x14003a300
cmp rbx, rdx
jge 0x14003a300
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 0x14003ac4f
add rbx, 1
jo 0x14003bd0c
mov rdx, qword [r14]
test rbx, rbx
js 0x14003a070
cmp rbx, rdx
jge 0x14003a070
movzx eax, byte [r14 + rbx + 0x10]
movzx ebp, byte [r12 + rax]
mov rdi, rbp
cmp rbp, 0xff
je 0x14003ac1c
add rbx, 1
jo 0x14003bd16
mov rdx, qword [r14]
test rbx, rbx
js 0x14003a8b0
cmp rbx, rdx
jl 0x140039f14
sub rdx, 1
mov rcx, rbx
call fcn.14000dfd0
movzx eax, byte [r14 + rbx + 0x10]
movzx r13d, byte [r12 + rax]
cmp r13b, 0xff
je 0x14003ab50
add rbx, 1
mov qword [rsp + 0x30], rbx
jo 0x14003a640
test rsi, rsi
js 0x14003a590
test r15, r15
je 0x14003ac10
mov rdx, qword [r15]
cmp rdx, rsi
jg 0x140039f5e
sub rdx, 1
mov rcx, rsi
call fcn.14000dfd0
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 0x14003bd20
mov rdx, qword [r15]
test rsi, rsi
js 0x140039f8d
cmp rsi, rdx
jl 0x140039f99
sub rdx, 1
mov rcx, rsi
call fcn.14000dfd0
movzx eax, byte [rsp + 0x38]
sar rbp, 2
shl eax, 4
or ebp, eax
mov byte [r15 + rsi + 0x10], bpl
add rsi, 1
jo 0x14003bc9e
mov rdx, qword [r15]
test rsi, rsi
js 0x140039fc3
cmp rsi, rdx
jl 0x140039fcf
sub rdx, 1
mov rcx, rsi
call fcn.14000dfd0
shl edi, 6
or edi, r13d
mov byte [r15 + rsi + 0x10], dil
add rsi, 1
jo 0x14003a5b0
mov rdi, qword [rsp + 0x30]
cmp qword [rsp + 0x50], rdi
jl 0x14003a5c5
movabs rdi, 0xfffffffeffffdbff
nop
mov rdx, qword [r14]
test rbx, rbx
js 0x14003a00d
cmp rbx, rdx
jl 0x14003a019
sub rdx, 1
mov rcx, rbx
call fcn.14000dfd0
movzx eax, byte [r14 + rbx + 0x10]
cmp al, 0x20
ja 0x140039e40
bt rdi, rax
jb 0x140039e40
add rbx, 1
jno 0x14003a000
call fcn.140008a30
jmp 0x14003a000
bt rdi, rax
jb 0x140039df6
test rbp, rbp
jne 0x14003a060
mov rsi, rbx
jmp 0x140039dc0
call fcn.140008a30
jmp 0x14003a04f
sub rdx, 1
mov rcx, rbx
call fcn.14000dfd0
movzx eax, byte [r14 + rbx + 0x10]
movzx ebp, byte [r12 + rax]
mov rdi, rbp
cmp rbp, 0xff
jne 0x140039eed
mov rcx, qword [0x1400655d0]
mov edx, 0x30
call fcn.14000b580
mov rdi, rax
mov rax, qword [0x1400656d0]
mov qword [rdi], rax
lea rax, str.ValueError
mov qword [rsp + 0x30], rax
mov qword [rdi + 0x10], rax
test rbx, rbx
js 0x14003acaf
mov rax, qword [r14]
cmp rbx, rax
jl 0x14003a0f6
lea rdx, [rax - 1]
mov rcx, rbx
call fcn.14000dfd0
mov rax, qword [r14]
cmp rbx, rax
jl 0x14003a0f6
lea rdx, [rax - 1]
mov rcx, rbx
call fcn.14000dfd0
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 0x14003a120
mov rcx, qword [r9]
test r13, r13
je 0x14003a129
add rcx, qword [r13]
add rcx, 0x38
mov qword [rsp + 0x58], r9
call fcn.14000b7c0
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 0x14003a1ea
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 0x14003a23d
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 0x14003a285
mov rdx, qword [rax - 0x10]
lea rcx, [rax - 0x10]
sub rdx, 8
mov qword [rax - 0x10], rdx
cmp rdx, 7
ja 0x14003a285
mov rax, qword [0x140065980]
mov rdx, rcx
lea rcx, [rax + 0x18]
call fcn.140006cd0
mov rax, qword [rdi + 8]
mov qword [rdi + 0x18], rbp
test rax, rax
je 0x14003a2bb
mov rdx, qword [rax - 0x10]
lea rcx, [rax - 0x10]
sub rdx, 8
mov qword [rax - 0x10], rdx
cmp rdx, 7
ja 0x14003a2bb
mov rax, qword [0x140065980]
mov rdx, rcx
lea rcx, [rax + 0x18]
call fcn.140006cd0
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.14000dce0
jmp 0x140039eed
sub rdx, 1
mov rcx, rbx
call fcn.14000dfd0
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 0x140039eb3
mov rcx, qword [0x1400655d0]
mov edx, 0x30
call fcn.14000b580
mov rdi, rax
mov rax, qword [0x1400656d0]
mov qword [rdi], rax
lea rax, str.ValueError
mov qword [rsp + 0x30], rax
mov qword [rdi + 0x10], rax
test rbx, rbx
js 0x14003ac98
mov rax, qword [r14]
cmp rbx, rax
jl 0x14003a38b
lea rdx, [rax - 1]
mov rcx, rbx
call fcn.14000dfd0
mov rax, qword [r14]
cmp rbx, rax
jl 0x14003a38b
lea rdx, [rax - 1]
mov rcx, rbx
call fcn.14000dfd0
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 0x14003a3b5
mov rcx, qword [r9]
test r13, r13
je 0x14003a3be
add rcx, qword [r13]
add rcx, 0x38
mov qword [rsp + 0x38], r9
call fcn.14000b7c0
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 0x14003a481
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 0x14003a4d4
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 0x14003a51a
mov rdx, qword [rax - 0x10]
lea rcx, [rax - 0x10]
sub rdx, 8
mov qword [rax - 0x10], rdx
cmp rdx, 7
ja 0x14003a51a
mov rax, qword [0x140065980]
mov rdx, rcx
lea rcx, [rax + 0x18]
call fcn.140006cd0
mov rax, qword [rdi + 8]
mov qword [rdi + 0x18], rbp
test rax, rax
je 0x14003a550
mov rdx, qword [rax - 0x10]
lea rcx, [rax - 0x10]
sub rdx, 8
mov qword [rax - 0x10], rdx
cmp rdx, 7
ja 0x14003a550
mov rax, qword [0x140065980]
mov rdx, rcx
lea rcx, [rax + 0x18]
call fcn.140006cd0
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.14000dce0
mov byte [rsp + 0x38], 0xff
mov qword [rsp + 0x40], 0xff
jmp 0x140039eb3
mov rdx, 0xffffffffffffffff
test r15, r15
je 0x140039f56
mov rdx, qword [r15]
jmp 0x140039f52
call fcn.140008a30
mov rdi, qword [rsp + 0x30]
cmp qword [rsp + 0x50], rdi
jge 0x140039ff4
mov qword [rsp + 0x38], rsi
mov rsi, qword [rsp + 0x78]
mov rax, rdi
sub rax, rsi
mov rdi, rax
jo 0x14003ad42
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 0x14003ad4c
cmp rax, 3
je 0x14003b0b6
cmp qword [rsp + 0x38], 0
js 0x14003ae32
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.14000bef0
call fcn.140008a30
jmp 0x140039f38
sub rdx, 1
mov rcx, rbx
call fcn.14000dfd0
movzx eax, byte [r14 + rbx + 0x10]
movzx eax, byte [r12 + rax]
mov byte [rsp + 0x4f], al
cmp al, 0xff
jne 0x140039e74
mov rcx, qword [0x1400655d0]
mov edx, 0x30
call fcn.14000b580
mov rcx, rbx
mov rbp, rax
mov rax, qword [0x1400656d0]
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.14000dfd0
mov rax, qword [r14]
lea rdx, [rax - 1]
mov rcx, rbx
call fcn.14000dfd0
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 0x14003a6e4
mov rcx, qword [r13]
test r9, r9
je 0x14003a6ec
add rcx, qword [r9]
add rcx, 0x38
mov qword [rsp + 0x38], r9
call fcn.14000b7c0
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 0x14003a7aa
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 0x14003a801
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 0x14003a848
mov rdx, qword [rax - 0x10]
lea rcx, [rax - 0x10]
sub rdx, 8
mov qword [rax - 0x10], rdx
cmp rdx, 7
ja 0x14003a848
mov rax, qword [0x140065980]
mov rdx, rcx
lea rcx, [rax + 0x18]
call fcn.140006cd0
mov rax, qword [rbp + 8]
mov qword [rbp + 0x18], rdi
test rax, rax
je 0x14003a878
mov rdi, qword [rax - 0x10]
lea rcx, [rax - 0x10]
lea rdx, [rdi - 8]
mov qword [rax - 0x10], rdx
cmp rdx, 7
ja 0x14003a878
mov rdx, rcx
mov rcx, qword [rsp + 0x70]
call fcn.140006cd0
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.14000dce0
mov byte [rsp + 0x4f], 0xff
jmp 0x140039e74
sub rdx, 1
mov rcx, rbx
call fcn.14000dfd0
movzx eax, byte [r14 + rbx + 0x10]
movzx r13d, byte [r12 + rax]
cmp r13b, 0xff
jne 0x140039f29
mov rcx, qword [0x1400655d0]
mov edx, 0x30
call fcn.14000b580
mov rcx, rbx
mov r13, rax
mov rax, qword [0x1400656d0]
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.14000dfd0
mov rax, qword [r14]
lea rdx, [rax - 1]
mov rcx, rbx
call fcn.14000dfd0
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 0x14003a948
mov rcx, qword [r11]
test r10, r10
je 0x14003a950
add rcx, qword [r10]
add rcx, 0x38
mov qword [rsp + 0x60], r10
mov qword [rsp + 0x58], r11
call fcn.14000b7c0
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 0x14003aa2b
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 0x14003aa8c
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 0x14003aadd
mov rdx, qword [rax - 0x10]
lea rcx, [rax - 0x10]
sub rdx, 8
mov qword [rax - 0x10], rdx
cmp rdx, 7
ja 0x14003aadd
mov rax, qword [0x140065980]
mov rdx, rcx
mov qword [rsp + 0x58], r9
lea rcx, [rax + 0x18]
call fcn.140006cd0
mov r9, qword [rsp + 0x58]
mov rax, qword [r13 + 8]
mov qword [r13 + 0x18], r9
test rax, rax
je 0x14003ab13
mov rdx, qword [rax - 0x10]
lea rcx, [rax - 0x10]
sub rdx, 8
mov qword [rax - 0x10], rdx
cmp rdx, 7
ja 0x14003ab13
mov rax, qword [0x140065980]
mov rdx, rcx
lea rcx, [rax + 0x18]
call fcn.140006cd0
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.14000dce0
jmp 0x140039f29
mov rcx, qword [0x1400655d0]
mov edx, 0x30
call fcn.14000b580
mov r13, rax
mov rax, qword [0x1400656d0]
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 0x14003a91e
lea rdx, [rax - 1]
mov rcx, rbx
call fcn.14000dfd0
mov rax, qword [r14]
cmp rbx, rax
jge 0x14003a912
jmp 0x14003a91e
mov rcx, qword [0x1400655d0]
mov edx, 0x30
call fcn.14000b580
mov rbp, rax
mov rax, qword [0x1400656d0]
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 0x14003a6c0
lea rdx, [rax - 1]
mov rcx, rbx
call fcn.14000dfd0
mov rax, qword [r14]
cmp rbx, rax
jge 0x14003a6b4
jmp 0x14003a6c0
mov rdx, 0xffffffffffffffff
jmp 0x140039f56
mov rcx, qword [0x1400655d0]
mov edx, 0x30
call fcn.14000b580
mov rdi, rax
mov rax, qword [0x1400656d0]
mov qword [rdi], rax
lea rax, str.ValueError
mov qword [rsp + 0x30], rax
mov qword [rdi + 0x10], rax
jmp 0x14003a0ce
mov rcx, qword [0x1400655d0]
mov edx, 0x30
call fcn.14000b580
mov rdi, rax
mov rax, qword [0x1400656d0]
mov qword [rdi], rax
lea rax, str.ValueError
mov qword [rsp + 0x30], rax
mov qword [rdi + 0x10], rax
jmp 0x14003a363
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.14000dfd0
mov rax, qword [r14]
jmp 0x14003a37f
mov rax, qword [r14]
mov rcx, rbx
lea rdx, [rax - 1]
call fcn.14000dfd0
mov rax, qword [r14]
jmp 0x14003a0ea
mov rcx, rax
xor edx, edx
mov qword [rsp + 0x30], rax
movabs r8, 0x7fffffffffffffff
call fcn.14000de30
mov rax, qword [rsp + 0x30]
jmp 0x140039d9e
neg rsi
seto al
mov rdi, rsi
movzx eax, al
mov qword [rsp + 0x38], rax
jo 0x14003ad37
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 0x14003ad4c
cmp rax, 3
jne 0x14003a61d
mov rax, qword [r14]
xor ebx, ebx
jmp 0x14003b0b9
mov qword [rsp + 0x38], 0
xor ebx, ebx
call fcn.140008a30
jmp 0x14003a5de
mov rax, qword [r14]
cmp rax, rbx
jg 0x14003ad60
lea rdx, [rax - 1]
mov rcx, rbx
call fcn.14000dfd0
lea rax, [0x14005f500]
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 0x14003b7a3
mov rdi, rbx
add rdi, 1
js 0x14003bcbc
cmp rdi, rbx
jb 0x14003bcbc
mov rax, qword [r14]
test rdi, rdi
js 0x14003ae4d
cmp rdi, rax
jge 0x14003ae4d
movzx eax, byte [r14 + rdi + 0x10]
mov rsi, qword [rsp + 0x30]
movzx esi, byte [rsi + rax]
cmp rsi, 0xff
je 0x14003b9e9
add rdi, 1
jo 0x14003bcd0
mov rax, qword [rsp + 0x38]
test rax, rax
js 0x14003b78b
test r15, r15
je 0x14003bc6c
mov rdx, qword [r15]
cmp rax, rdx
jl 0x14003ae03
sub rdx, 1
mov rcx, qword [rsp + 0x38]
call fcn.14000dfd0
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 0x14003b67c
mov qword [rsp + 0x38], rbx
jmp 0x14003a611
mov rcx, qword [rsp + 0x38]
xor edx, edx
movabs r8, 0x7fffffffffffffff
call fcn.14000de30
jmp 0x14003a61d
lea rdx, [rax - 1]
mov rcx, rdi
call fcn.14000dfd0
movzx eax, byte [r14 + rdi + 0x10]
mov rsi, qword [rsp + 0x30]
movzx esi, byte [rsi + rax]
cmp rsi, 0xff
jne 0x14003adcc
mov rcx, qword [0x1400655d0]
mov edx, 0x30
lea rsi, str.ValueError
call fcn.14000b580
mov r12, rax
mov rax, qword [0x1400656d0]
mov qword [r12 + 0x10], rsi
mov qword [r12], rax
test rdi, rdi
js 0x14003bc78
mov rax, qword [r14]
cmp rdi, rax
jl 0x14003aed1
lea rdx, [rax - 1]
mov rcx, rdi
call fcn.14000dfd0
mov rax, qword [r14]
cmp rdi, rax
jl 0x14003aed1
lea rdx, [rax - 1]
mov rcx, rdi
call fcn.14000dfd0
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 0x14003aef4
mov rax, qword [rbx]
test r13, r13
je 0x14003aefd
add rax, qword [r13]
lea rcx, [rax + 0x38]
call fcn.14000b7c0
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 0x14003afaf
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 0x14003b002
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 0x14003b049
mov rax, qword [rdx - 0x10]
lea rcx, [rdx - 0x10]
sub rax, 8
mov qword [rdx - 0x10], rax
cmp rax, 7
ja 0x14003b049
mov rax, qword [0x140065980]
mov rdx, rcx
lea rcx, [rax + 0x18]
call fcn.140006cd0
mov rdx, qword [r12 + 8]
mov qword [r12 + 0x18], rbp
test rdx, rdx
je 0x14003b081
mov rax, qword [rdx - 0x10]
lea rcx, [rdx - 0x10]
sub rax, 8
mov qword [rdx - 0x10], rax
cmp rax, 7
ja 0x14003b081
mov rax, qword [0x140065980]
mov rdx, rcx
lea rcx, [rax + 0x18]
call fcn.140006cd0
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.14000dce0
jmp 0x14003adcc
mov rax, qword [r14]
cmp rbx, rax
jge 0x14003b77a
lea rax, [0x14005f500]
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 0x14003ba31
mov rdi, rbx
add rdi, 1
js 0x14003bcb2
cmp rdi, rbx
jb 0x14003bcb2
mov rax, qword [r14]
test rdi, rdi
js 0x14003b690
cmp rdi, rax
jge 0x14003b690
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 0x14003b375
mov rcx, qword [0x1400655d0]
mov edx, 0x30
lea rsi, str.ValueError
call fcn.14000b580
mov rbx, rax
mov rax, qword [0x1400656d0]
mov qword [rbx + 0x10], rsi
mov qword [rbx], rax
mov rax, qword [r14]
cmp rdi, rax
jl 0x14003b187
lea rdx, [rax - 1]
mov rcx, rdi
call fcn.14000dfd0
mov rax, qword [r14]
cmp rdi, rax
jl 0x14003b187
lea rdx, [rax - 1]
mov rcx, rdi
call fcn.14000dfd0
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 0x14003b1ab
mov rax, qword [rbp]
test r13, r13
je 0x14003b1b4
add rax, qword [r13]
lea rcx, [rax + 0x38]
call fcn.14000b7c0
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 0x14003b26b
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 0x14003b2be
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 0x14003b307
mov rax, qword [rdx - 0x10]
lea rcx, [rdx - 0x10]
sub rax, 8
mov qword [rdx - 0x10], rax
cmp rax, 7
ja 0x14003b307
mov rax, qword [0x140065980]
mov rdx, rcx
lea rcx, [rax + 0x18]
call fcn.140006cd0
mov rdx, qword [rbx + 8]
mov qword [rbx + 0x18], r12
test rdx, rdx
je 0x14003b33d
mov rax, qword [rdx - 0x10]
lea rcx, [rdx - 0x10]
sub rax, 8
mov qword [rdx - 0x10], rax
cmp rax, 7
ja 0x14003b33d
mov rax, qword [0x140065980]
mov rdx, rcx
lea rcx, [rax + 0x18]
call fcn.140006cd0
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.14000dce0
mov byte [rsp + 0x4f], 0xff
mov qword [rsp + 0x50], 0xff
add rdi, 1
mov rbx, rdi
jo 0x14003bcc6
mov rax, qword [r14]
test rbx, rbx
js 0x14003b709
cmp rbx, rax
jge 0x14003b709
movzx eax, byte [r14 + rbx + 0x10]
mov rsi, qword [rsp + 0x30]
movzx esi, byte [rsi + rax]
cmp rsi, 0xff
jne 0x14003b5e4
mov rcx, qword [0x1400655d0]
mov edx, 0x30
lea rsi, str.ValueError
call fcn.14000b580
mov rdi, rax
mov rax, qword [0x1400656d0]
mov qword [rdi + 0x10], rsi
mov qword [rdi], rax
mov rax, qword [r14]
cmp rbx, rax
jl 0x14003b404
lea rdx, [rax - 1]
mov rcx, rbx
call fcn.14000dfd0
mov rax, qword [r14]
cmp rbx, rax
jl 0x14003b404
lea rdx, [rax - 1]
mov rcx, rbx
call fcn.14000dfd0
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 0x14003b428
mov rax, qword [r13]
test r12, r12
je 0x14003b431
add rax, qword [r12]
lea rcx, [rax + 0x38]
call fcn.14000b7c0
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 0x14003b4e5
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 0x14003b539
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 0x14003b57f
mov rax, qword [rdx - 0x10]
lea rcx, [rdx - 0x10]
sub rax, 8
mov qword [rdx - 0x10], rax
cmp rax, 7
ja 0x14003b57f
mov rax, qword [0x140065980]
mov rdx, rcx
lea rcx, [rax + 0x18]
call fcn.140006cd0
mov rdx, qword [rdi + 8]
mov qword [rdi + 0x18], rbp
test rdx, rdx
je 0x14003b5b5
mov rax, qword [rdx - 0x10]
lea rcx, [rdx - 0x10]
sub rax, 8
mov qword [rdx - 0x10], rax
cmp rax, 7
ja 0x14003b5b5
mov rax, qword [0x140065980]
mov rdx, rcx
lea rcx, [rax + 0x18]
call fcn.140006cd0
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.14000dce0
add rbx, 1
jo 0x14003bcda
mov rax, qword [rsp + 0x38]
test rax, rax
js 0x14003ba19
test r15, r15
je 0x14003b9dd
mov rdx, qword [r15]
cmp rdx, rax
jg 0x14003b61b
sub rdx, 1
mov rcx, qword [rsp + 0x38]
call fcn.14000dfd0
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 0x14003bca8
mov rax, qword [r15]
test rbx, rbx
js 0x14003b653
cmp rbx, rax
jl 0x14003b65f
lea rdx, [rax - 1]
mov rcx, rbx
call fcn.14000dfd0
movzx eax, byte [rsp + 0x4f]
sar rsi, 2
shl eax, 4
or eax, esi
mov byte [r15 + rbx + 0x10], al
add rbx, 1
jno 0x14003ae28
call fcn.140008a30
jmp 0x14003ae28
lea rdx, [rax - 1]
mov rcx, rdi
call fcn.14000dfd0
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 0x14003b375
mov rcx, qword [0x1400655d0]
mov edx, 0x30
lea rsi, str.ValueError
call fcn.14000b580
mov rbx, rax
mov rax, qword [0x1400656d0]
mov qword [rbx + 0x10], rsi
mov qword [rbx], rax
test rdi, rdi
jns 0x14003b15f
mov rax, qword [r14]
mov rcx, rdi
lea rdx, [rax - 1]
call fcn.14000dfd0
mov rax, qword [r14]
jmp 0x14003b17b
lea rdx, [rax - 1]
mov rcx, rbx
call fcn.14000dfd0
movzx eax, byte [r14 + rbx + 0x10]
mov rsi, qword [rsp + 0x30]
movzx esi, byte [rsi + rax]
cmp rsi, 0xff
jne 0x14003b5e4
mov rcx, qword [0x1400655d0]
mov edx, 0x30
lea rsi, str.ValueError
call fcn.14000b580
mov rdi, rax
mov rax, qword [0x1400656d0]
mov qword [rdi + 0x10], rsi
mov qword [rdi], rax
test rbx, rbx
jns 0x14003b3dc
mov rax, qword [r14]
mov rcx, rbx
lea rdx, [rax - 1]
call fcn.14000dfd0
mov rax, qword [r14]
jmp 0x14003b3f8
lea rdx, [rax - 1]
mov rcx, rbx
call fcn.14000dfd0
jmp 0x14003b0c2
mov rdx, 0xffffffffffffffff
test r15, r15
je 0x14003adf9
mov rdx, qword [r15]
jmp 0x14003adf5
mov rcx, qword [0x1400655d0]
mov edx, 0x30
lea rsi, str.ValueError
call fcn.14000b580
mov rdi, rax
mov rax, qword [0x1400656d0]
mov qword [rdi + 0x10], rsi
mov qword [rdi], rax
mov rax, qword [r14]
cmp rax, rbx
jg 0x14003b7f4
lea rdx, [rax - 1]
mov rcx, rbx
call fcn.14000dfd0
mov rax, qword [r14]
cmp rax, rbx
jg 0x14003b7f4
lea rdx, [rax - 1]
mov rcx, rbx
call fcn.14000dfd0
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 0x14003b818
mov rax, qword [r12]
test rbp, rbp
je 0x14003b821
add rax, qword [rbp]
lea rcx, [rax + 0x38]
call fcn.14000b7c0
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 0x14003b8d9
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 0x14003b92c
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 0x14003b973
mov rax, qword [rdx - 0x10]
lea rcx, [rdx - 0x10]
sub rax, 8
mov qword [rdx - 0x10], rax
cmp rax, 7
ja 0x14003b973
mov rax, qword [0x140065980]
mov rdx, rcx
lea rcx, [rax + 0x18]
call fcn.140006cd0
mov rdx, qword [rdi + 8]
mov qword [rdi + 0x18], r13
test rdx, rdx
je 0x14003b9a9
mov rax, qword [rdx - 0x10]
lea rcx, [rdx - 0x10]
sub rax, 8
mov qword [rdx - 0x10], rax
cmp rax, 7
ja 0x14003b9a9
mov rax, qword [0x140065980]
mov rdx, rcx
lea rcx, [rax + 0x18]
call fcn.140006cd0
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.14000dce0
mov byte [rsp + 0x40], 0xff
jmp 0x14003ad85
mov rdx, 0xffffffffffffffff
jmp 0x14003b611
mov rcx, qword [0x1400655d0]
mov edx, 0x30
lea rsi, str.ValueError
call fcn.14000b580
mov r12, rax
mov rax, qword [0x1400656d0]
mov qword [r12 + 0x10], rsi
mov qword [r12], rax
jmp 0x14003aea9
mov rdx, 0xffffffffffffffff
test r15, r15
je 0x14003b611
mov rdx, qword [r15]
jmp 0x14003b60d
mov rcx, qword [0x1400655d0]
mov edx, 0x30
lea rsi, str.ValueError
call fcn.14000b580
mov rdi, rax
mov rax, qword [0x1400656d0]
mov qword [rdi + 0x10], rsi
mov qword [rdi], rax
mov rax, qword [r14]
cmp rbx, rax
jl 0x14003ba82
lea rdx, [rax - 1]
mov rcx, rbx
call fcn.14000dfd0
mov rax, qword [r14]
cmp rbx, rax
jl 0x14003ba82
lea rdx, [rax - 1]
mov rcx, rbx
call fcn.14000dfd0
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 0x14003baa6
mov rax, qword [r12]
test rbp, rbp
je 0x14003baaf
add rax, qword [rbp]
lea rcx, [rax + 0x38]
call fcn.14000b7c0
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 0x14003bb67
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 0x14003bbba
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 0x14003bc02
mov rax, qword [rdx - 0x10]
lea rcx, [rdx - 0x10]
sub rax, 8
mov qword [rdx - 0x10], rax
cmp rax, 7
ja 0x14003bc02
mov rax, qword [0x140065980]
mov rdx, rcx
lea rcx, [rax + 0x18]
call fcn.140006cd0
mov rdx, qword [rdi + 8]
mov qword [rdi + 0x18], r13
test rdx, rdx
je 0x14003bc38
mov rax, qword [rdx - 0x10]
lea rcx, [rdx - 0x10]
sub rax, 8
mov qword [rdx - 0x10], rax
cmp rax, 7
ja 0x14003bc38
mov rax, qword [0x140065980]
mov rdx, rcx
lea rcx, [rax + 0x18]
call fcn.140006cd0
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.14000dce0
mov byte [rsp + 0x40], 0xff
jmp 0x14003b0e7
mov rdx, 0xffffffffffffffff
jmp 0x14003adf9
mov rax, qword [r14]
mov rcx, rdi
lea rdx, [rax - 1]
call fcn.14000dfd0
mov rax, qword [r14]
jmp 0x14003aec5
mov ebp, 1
call fcn.140008a30
jmp 0x140039dcf
call fcn.140008a30
jmp 0x140039fb6
call fcn.140008a30
jmp 0x14003b646
call fcn.140008a30
jmp 0x14003b0fd
call fcn.140008a30
jmp 0x14003ad9b
call fcn.140008a30
jmp 0x14003b382
call fcn.140008a30
jmp 0x14003add6
call fcn.140008a30
jmp 0x14003b5ee
mov qword [rsp + 0x30], r8
call fcn.140008a30
mov r8, qword [rsp + 0x30]
jmp 0x140039e03
call fcn.140008a30
jmp 0x140039d85
call fcn.140008a30
jmp 0x140039e7e
call fcn.140008a30
jmp 0x140039ebd
call fcn.140008a30
jmp 0x140039ef7
call fcn.140008a30
jmp 0x140039f80