Function at 0x14003e230
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 0x14003f162
mov rax, qword [rcx]
test rax, rax
je 0x14003f162
imul rbx, rax, 3
jo 0x1400401d8
test rbx, rbx
lea rax, [rbx + 3]
cmovns rax, rbx
sar rax, 2
add rax, 6
js 0x14003f1a6
movabs rdi, 0xdffffffeffffdbff
mov rdx, rax
xor ecx, ecx
call fcn.14000c870
mov rsi, qword [r14]
mov r15, rax
nop dword [rax + rax]
mov rbx, rsi
xor ebp, ebp
sub rbx, 1
jo 0x14004016f
mov rdx, qword [r14]
test rbx, rbx
js 0x14003e2bc
cmp rbx, rdx
jl 0x14003e2c8
sub rdx, 1
mov rcx, rbx
call fcn.14000daa0
movzx eax, byte [r14 + rbx + 0x10]
cmp al, 0x3d
jbe 0x14003e520
mov r8, rsi
sub r8, 4
jo 0x1400401c4
test r8, r8
js 0x14003f1c9
mov rax, qword [0x140078a80]
xor edi, edi
mov qword [rsp + 0x78], rsi
xor ebx, ebx
mov qword [rsp + 0x50], r8
lea r12, [0x14006ff40]
mov rsi, rdi
add rax, 0x18
mov qword [rsp + 0x70], rax
jmp 0x14003e4d4
mov rdx, qword [r14]
test rbx, rbx
js 0x14003eb30
cmp rbx, rdx
jl 0x14003e343
sub rdx, 1
mov rcx, rbx
call fcn.14000daa0
movzx eax, byte [r14 + rbx + 0x10]
movzx eax, byte [r12 + rax]
mov byte [rsp + 0x4f], al
cmp al, 0xff
je 0x14003f090
add rbx, 1
jo 0x1400401e2
mov rdx, qword [r14]
test rbx, rbx
js 0x14003e7e0
cmp rbx, rdx
jge 0x14003e7e0
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 0x14003f12f
add rbx, 1
jo 0x1400401ec
mov rdx, qword [r14]
test rbx, rbx
js 0x14003e550
cmp rbx, rdx
jge 0x14003e550
movzx eax, byte [r14 + rbx + 0x10]
movzx ebp, byte [r12 + rax]
mov rdi, rbp
cmp rbp, 0xff
je 0x14003f0fc
add rbx, 1
jo 0x1400401f6
mov rdx, qword [r14]
test rbx, rbx
js 0x14003ed90
cmp rbx, rdx
jl 0x14003e3f4
sub rdx, 1
mov rcx, rbx
call fcn.14000daa0
movzx eax, byte [r14 + rbx + 0x10]
movzx r13d, byte [r12 + rax]
cmp r13b, 0xff
je 0x14003f030
add rbx, 1
mov qword [rsp + 0x30], rbx
jo 0x14003eb20
test rsi, rsi
js 0x14003ea70
test r15, r15
je 0x14003f0f0
mov rdx, qword [r15]
cmp rdx, rsi
jg 0x14003e43e
sub rdx, 1
mov rcx, rsi
call fcn.14000daa0
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 0x140040200
mov rdx, qword [r15]
test rsi, rsi
js 0x14003e46d
cmp rsi, rdx
jl 0x14003e479
sub rdx, 1
mov rcx, rsi
call fcn.14000daa0
movzx eax, byte [rsp + 0x38]
sar rbp, 2
shl eax, 4
or ebp, eax
mov byte [r15 + rsi + 0x10], bpl
add rsi, 1
jo 0x14004017e
mov rdx, qword [r15]
test rsi, rsi
js 0x14003e4a3
cmp rsi, rdx
jl 0x14003e4af
sub rdx, 1
mov rcx, rsi
call fcn.14000daa0
shl edi, 6
or edi, r13d
mov byte [r15 + rsi + 0x10], dil
add rsi, 1
jo 0x14003ea90
mov rdi, qword [rsp + 0x30]
cmp qword [rsp + 0x50], rdi
jl 0x14003eaa5
movabs rdi, 0xfffffffeffffdbff
nop
mov rdx, qword [r14]
test rbx, rbx
js 0x14003e4ed
cmp rbx, rdx
jl 0x14003e4f9
sub rdx, 1
mov rcx, rbx
call fcn.14000daa0
movzx eax, byte [r14 + rbx + 0x10]
cmp al, 0x20
ja 0x14003e320
bt rdi, rax
jb 0x14003e320
add rbx, 1
jno 0x14003e4e0
call fcn.140009130
jmp 0x14003e4e0
bt rdi, rax
jb 0x14003e2d6
test rbp, rbp
jne 0x14003e540
mov rsi, rbx
jmp 0x14003e2a0
call fcn.140009130
jmp 0x14003e52f
sub rdx, 1
mov rcx, rbx
call fcn.14000daa0
movzx eax, byte [r14 + rbx + 0x10]
movzx ebp, byte [r12 + rax]
mov rdi, rbp
cmp rbp, 0xff
jne 0x14003e3cd
mov rcx, qword [0x140078650]
mov edx, 0x30
call fcn.14000bf00
mov rdi, rax
mov rax, qword [0x1400787b0]
mov qword [rdi], rax
lea rax, str.ValueError
mov qword [rsp + 0x30], rax
mov qword [rdi + 0x10], rax
test rbx, rbx
js 0x14003f18f
mov rax, qword [r14]
cmp rbx, rax
jl 0x14003e5d6
lea rdx, [rax - 1]
mov rcx, rbx
call fcn.14000daa0
mov rax, qword [r14]
cmp rbx, rax
jl 0x14003e5d6
lea rdx, [rax - 1]
mov rcx, rbx
call fcn.14000daa0
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 0x14003e600
mov rcx, qword [r9]
test r13, r13
je 0x14003e609
add rcx, qword [r13]
add rcx, 0x38
mov qword [rsp + 0x58], r9
call fcn.14000c140
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 0x14003e6ca
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 0x14003e71d
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 0x14003e765
mov rdx, qword [rax - 0x10]
lea rcx, [rax - 0x10]
sub rdx, 8
mov qword [rax - 0x10], rdx
cmp rdx, 7
ja 0x14003e765
mov rax, qword [0x140078a80]
mov rdx, rcx
lea rcx, [rax + 0x18]
call fcn.1400073d0
mov rax, qword [rdi + 8]
mov qword [rdi + 0x18], rbp
test rax, rax
je 0x14003e79b
mov rdx, qword [rax - 0x10]
lea rcx, [rax - 0x10]
sub rdx, 8
mov qword [rax - 0x10], rdx
cmp rdx, 7
ja 0x14003e79b
mov rax, qword [0x140078a80]
mov rdx, rcx
lea rcx, [rax + 0x18]
call fcn.1400073d0
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.14000d7b0
jmp 0x14003e3cd
sub rdx, 1
mov rcx, rbx
call fcn.14000daa0
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 0x14003e393
mov rcx, qword [0x140078650]
mov edx, 0x30
call fcn.14000bf00
mov rdi, rax
mov rax, qword [0x1400787b0]
mov qword [rdi], rax
lea rax, str.ValueError
mov qword [rsp + 0x30], rax
mov qword [rdi + 0x10], rax
test rbx, rbx
js 0x14003f178
mov rax, qword [r14]
cmp rbx, rax
jl 0x14003e86b
lea rdx, [rax - 1]
mov rcx, rbx
call fcn.14000daa0
mov rax, qword [r14]
cmp rbx, rax
jl 0x14003e86b
lea rdx, [rax - 1]
mov rcx, rbx
call fcn.14000daa0
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 0x14003e895
mov rcx, qword [r9]
test r13, r13
je 0x14003e89e
add rcx, qword [r13]
add rcx, 0x38
mov qword [rsp + 0x38], r9
call fcn.14000c140
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 0x14003e961
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 0x14003e9b4
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 0x14003e9fa
mov rdx, qword [rax - 0x10]
lea rcx, [rax - 0x10]
sub rdx, 8
mov qword [rax - 0x10], rdx
cmp rdx, 7
ja 0x14003e9fa
mov rax, qword [0x140078a80]
mov rdx, rcx
lea rcx, [rax + 0x18]
call fcn.1400073d0
mov rax, qword [rdi + 8]
mov qword [rdi + 0x18], rbp
test rax, rax
je 0x14003ea30
mov rdx, qword [rax - 0x10]
lea rcx, [rax - 0x10]
sub rdx, 8
mov qword [rax - 0x10], rdx
cmp rdx, 7
ja 0x14003ea30
mov rax, qword [0x140078a80]
mov rdx, rcx
lea rcx, [rax + 0x18]
call fcn.1400073d0
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.14000d7b0
mov byte [rsp + 0x38], 0xff
mov qword [rsp + 0x40], 0xff
jmp 0x14003e393
mov rdx, 0xffffffffffffffff
test r15, r15
je 0x14003e436
mov rdx, qword [r15]
jmp 0x14003e432
call fcn.140009130
mov rdi, qword [rsp + 0x30]
cmp qword [rsp + 0x50], rdi
jge 0x14003e4d4
mov qword [rsp + 0x38], rsi
mov rsi, qword [rsp + 0x78]
mov rax, rdi
sub rax, rsi
mov rdi, rax
jo 0x14003f222
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 0x14003f22c
cmp rax, 3
je 0x14003f596
cmp qword [rsp + 0x38], 0
js 0x14003f312
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.14000c870
call fcn.140009130
jmp 0x14003e418
sub rdx, 1
mov rcx, rbx
call fcn.14000daa0
movzx eax, byte [r14 + rbx + 0x10]
movzx eax, byte [r12 + rax]
mov byte [rsp + 0x4f], al
cmp al, 0xff
jne 0x14003e354
mov rcx, qword [0x140078650]
mov edx, 0x30
call fcn.14000bf00
mov rcx, rbx
mov rbp, rax
mov rax, qword [0x1400787b0]
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.14000daa0
mov rax, qword [r14]
lea rdx, [rax - 1]
mov rcx, rbx
call fcn.14000daa0
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 0x14003ebc4
mov rcx, qword [r13]
test r9, r9
je 0x14003ebcc
add rcx, qword [r9]
add rcx, 0x38
mov qword [rsp + 0x38], r9
call fcn.14000c140
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 0x14003ec8a
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 0x14003ece1
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 0x14003ed28
mov rdx, qword [rax - 0x10]
lea rcx, [rax - 0x10]
sub rdx, 8
mov qword [rax - 0x10], rdx
cmp rdx, 7
ja 0x14003ed28
mov rax, qword [0x140078a80]
mov rdx, rcx
lea rcx, [rax + 0x18]
call fcn.1400073d0
mov rax, qword [rbp + 8]
mov qword [rbp + 0x18], rdi
test rax, rax
je 0x14003ed58
mov rdi, qword [rax - 0x10]
lea rcx, [rax - 0x10]
lea rdx, [rdi - 8]
mov qword [rax - 0x10], rdx
cmp rdx, 7
ja 0x14003ed58
mov rdx, rcx
mov rcx, qword [rsp + 0x70]
call fcn.1400073d0
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.14000d7b0
mov byte [rsp + 0x4f], 0xff
jmp 0x14003e354
sub rdx, 1
mov rcx, rbx
call fcn.14000daa0
movzx eax, byte [r14 + rbx + 0x10]
movzx r13d, byte [r12 + rax]
cmp r13b, 0xff
jne 0x14003e409
mov rcx, qword [0x140078650]
mov edx, 0x30
call fcn.14000bf00
mov rcx, rbx
mov r13, rax
mov rax, qword [0x1400787b0]
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.14000daa0
mov rax, qword [r14]
lea rdx, [rax - 1]
mov rcx, rbx
call fcn.14000daa0
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 0x14003ee28
mov rcx, qword [r11]
test r10, r10
je 0x14003ee30
add rcx, qword [r10]
add rcx, 0x38
mov qword [rsp + 0x60], r10
mov qword [rsp + 0x58], r11
call fcn.14000c140
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 0x14003ef0b
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 0x14003ef6c
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 0x14003efbd
mov rdx, qword [rax - 0x10]
lea rcx, [rax - 0x10]
sub rdx, 8
mov qword [rax - 0x10], rdx
cmp rdx, 7
ja 0x14003efbd
mov rax, qword [0x140078a80]
mov rdx, rcx
mov qword [rsp + 0x58], r9
lea rcx, [rax + 0x18]
call fcn.1400073d0
mov r9, qword [rsp + 0x58]
mov rax, qword [r13 + 8]
mov qword [r13 + 0x18], r9
test rax, rax
je 0x14003eff3
mov rdx, qword [rax - 0x10]
lea rcx, [rax - 0x10]
sub rdx, 8
mov qword [rax - 0x10], rdx
cmp rdx, 7
ja 0x14003eff3
mov rax, qword [0x140078a80]
mov rdx, rcx
lea rcx, [rax + 0x18]
call fcn.1400073d0
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.14000d7b0
jmp 0x14003e409
mov rcx, qword [0x140078650]
mov edx, 0x30
call fcn.14000bf00
mov r13, rax
mov rax, qword [0x1400787b0]
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 0x14003edfe
lea rdx, [rax - 1]
mov rcx, rbx
call fcn.14000daa0
mov rax, qword [r14]
cmp rbx, rax
jge 0x14003edf2
jmp 0x14003edfe
mov rcx, qword [0x140078650]
mov edx, 0x30
call fcn.14000bf00
mov rbp, rax
mov rax, qword [0x1400787b0]
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 0x14003eba0
lea rdx, [rax - 1]
mov rcx, rbx
call fcn.14000daa0
mov rax, qword [r14]
cmp rbx, rax
jge 0x14003eb94
jmp 0x14003eba0
mov rdx, 0xffffffffffffffff
jmp 0x14003e436
mov rcx, qword [0x140078650]
mov edx, 0x30
call fcn.14000bf00
mov rdi, rax
mov rax, qword [0x1400787b0]
mov qword [rdi], rax
lea rax, str.ValueError
mov qword [rsp + 0x30], rax
mov qword [rdi + 0x10], rax
jmp 0x14003e5ae
mov rcx, qword [0x140078650]
mov edx, 0x30
call fcn.14000bf00
mov rdi, rax
mov rax, qword [0x1400787b0]
mov qword [rdi], rax
lea rax, str.ValueError
mov qword [rsp + 0x30], rax
mov qword [rdi + 0x10], rax
jmp 0x14003e843
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.14000daa0
mov rax, qword [r14]
jmp 0x14003e85f
mov rax, qword [r14]
mov rcx, rbx
lea rdx, [rax - 1]
call fcn.14000daa0
mov rax, qword [r14]
jmp 0x14003e5ca
mov rcx, rax
xor edx, edx
mov qword [rsp + 0x30], rax
movabs r8, 0x7fffffffffffffff
call fcn.14000d900
mov rax, qword [rsp + 0x30]
jmp 0x14003e27e
neg rsi
seto al
mov rdi, rsi
movzx eax, al
mov qword [rsp + 0x38], rax
jo 0x14003f217
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 0x14003f22c
cmp rax, 3
jne 0x14003eafd
mov rax, qword [r14]
xor ebx, ebx
jmp 0x14003f599
mov qword [rsp + 0x38], 0
xor ebx, ebx
call fcn.140009130
jmp 0x14003eabe
mov rax, qword [r14]
cmp rax, rbx
jg 0x14003f240
lea rdx, [rax - 1]
mov rcx, rbx
call fcn.14000daa0
lea rax, [0x14006ff40]
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 0x14003fc83
mov rdi, rbx
add rdi, 1
js 0x14004019c
cmp rdi, rbx
jb 0x14004019c
mov rax, qword [r14]
test rdi, rdi
js 0x14003f32d
cmp rdi, rax
jge 0x14003f32d
movzx eax, byte [r14 + rdi + 0x10]
mov rsi, qword [rsp + 0x30]
movzx esi, byte [rsi + rax]
cmp rsi, 0xff
je 0x14003fec9
add rdi, 1
jo 0x1400401b0
mov rax, qword [rsp + 0x38]
test rax, rax
js 0x14003fc6b
test r15, r15
je 0x14004014c
mov rdx, qword [r15]
cmp rax, rdx
jl 0x14003f2e3
sub rdx, 1
mov rcx, qword [rsp + 0x38]
call fcn.14000daa0
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 0x14003fb5c
mov qword [rsp + 0x38], rbx
jmp 0x14003eaf1
mov rcx, qword [rsp + 0x38]
xor edx, edx
movabs r8, 0x7fffffffffffffff
call fcn.14000d900
jmp 0x14003eafd
lea rdx, [rax - 1]
mov rcx, rdi
call fcn.14000daa0
movzx eax, byte [r14 + rdi + 0x10]
mov rsi, qword [rsp + 0x30]
movzx esi, byte [rsi + rax]
cmp rsi, 0xff
jne 0x14003f2ac
mov rcx, qword [0x140078650]
mov edx, 0x30
lea rsi, str.ValueError
call fcn.14000bf00
mov r12, rax
mov rax, qword [0x1400787b0]
mov qword [r12 + 0x10], rsi
mov qword [r12], rax
test rdi, rdi
js 0x140040158
mov rax, qword [r14]
cmp rdi, rax
jl 0x14003f3b1
lea rdx, [rax - 1]
mov rcx, rdi
call fcn.14000daa0
mov rax, qword [r14]
cmp rdi, rax
jl 0x14003f3b1
lea rdx, [rax - 1]
mov rcx, rdi
call fcn.14000daa0
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 0x14003f3d4
mov rax, qword [rbx]
test r13, r13
je 0x14003f3dd
add rax, qword [r13]
lea rcx, [rax + 0x38]
call fcn.14000c140
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 0x14003f48f
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 0x14003f4e2
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 0x14003f529
mov rax, qword [rdx - 0x10]
lea rcx, [rdx - 0x10]
sub rax, 8
mov qword [rdx - 0x10], rax
cmp rax, 7
ja 0x14003f529
mov rax, qword [0x140078a80]
mov rdx, rcx
lea rcx, [rax + 0x18]
call fcn.1400073d0
mov rdx, qword [r12 + 8]
mov qword [r12 + 0x18], rbp
test rdx, rdx
je 0x14003f561
mov rax, qword [rdx - 0x10]
lea rcx, [rdx - 0x10]
sub rax, 8
mov qword [rdx - 0x10], rax
cmp rax, 7
ja 0x14003f561
mov rax, qword [0x140078a80]
mov rdx, rcx
lea rcx, [rax + 0x18]
call fcn.1400073d0
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.14000d7b0
jmp 0x14003f2ac
mov rax, qword [r14]
cmp rbx, rax
jge 0x14003fc5a
lea rax, [0x14006ff40]
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 0x14003ff11
mov rdi, rbx
add rdi, 1
js 0x140040192
cmp rdi, rbx
jb 0x140040192
mov rax, qword [r14]
test rdi, rdi
js 0x14003fb70
cmp rdi, rax
jge 0x14003fb70
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 0x14003f855
mov rcx, qword [0x140078650]
mov edx, 0x30
lea rsi, str.ValueError
call fcn.14000bf00
mov rbx, rax
mov rax, qword [0x1400787b0]
mov qword [rbx + 0x10], rsi
mov qword [rbx], rax
mov rax, qword [r14]
cmp rdi, rax
jl 0x14003f667
lea rdx, [rax - 1]
mov rcx, rdi
call fcn.14000daa0
mov rax, qword [r14]
cmp rdi, rax
jl 0x14003f667
lea rdx, [rax - 1]
mov rcx, rdi
call fcn.14000daa0
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 0x14003f68b
mov rax, qword [rbp]
test r13, r13
je 0x14003f694
add rax, qword [r13]
lea rcx, [rax + 0x38]
call fcn.14000c140
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 0x14003f74b
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 0x14003f79e
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 0x14003f7e7
mov rax, qword [rdx - 0x10]
lea rcx, [rdx - 0x10]
sub rax, 8
mov qword [rdx - 0x10], rax
cmp rax, 7
ja 0x14003f7e7
mov rax, qword [0x140078a80]
mov rdx, rcx
lea rcx, [rax + 0x18]
call fcn.1400073d0
mov rdx, qword [rbx + 8]
mov qword [rbx + 0x18], r12
test rdx, rdx
je 0x14003f81d
mov rax, qword [rdx - 0x10]
lea rcx, [rdx - 0x10]
sub rax, 8
mov qword [rdx - 0x10], rax
cmp rax, 7
ja 0x14003f81d
mov rax, qword [0x140078a80]
mov rdx, rcx
lea rcx, [rax + 0x18]
call fcn.1400073d0
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.14000d7b0
mov byte [rsp + 0x4f], 0xff
mov qword [rsp + 0x50], 0xff
add rdi, 1
mov rbx, rdi
jo 0x1400401a6
mov rax, qword [r14]
test rbx, rbx
js 0x14003fbe9
cmp rbx, rax
jge 0x14003fbe9
movzx eax, byte [r14 + rbx + 0x10]
mov rsi, qword [rsp + 0x30]
movzx esi, byte [rsi + rax]
cmp rsi, 0xff
jne 0x14003fac4
mov rcx, qword [0x140078650]
mov edx, 0x30
lea rsi, str.ValueError
call fcn.14000bf00
mov rdi, rax
mov rax, qword [0x1400787b0]
mov qword [rdi + 0x10], rsi
mov qword [rdi], rax
mov rax, qword [r14]
cmp rbx, rax
jl 0x14003f8e4
lea rdx, [rax - 1]
mov rcx, rbx
call fcn.14000daa0
mov rax, qword [r14]
cmp rbx, rax
jl 0x14003f8e4
lea rdx, [rax - 1]
mov rcx, rbx
call fcn.14000daa0
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 0x14003f908
mov rax, qword [r13]
test r12, r12
je 0x14003f911
add rax, qword [r12]
lea rcx, [rax + 0x38]
call fcn.14000c140
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 0x14003f9c5
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 0x14003fa19
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 0x14003fa5f
mov rax, qword [rdx - 0x10]
lea rcx, [rdx - 0x10]
sub rax, 8
mov qword [rdx - 0x10], rax
cmp rax, 7
ja 0x14003fa5f
mov rax, qword [0x140078a80]
mov rdx, rcx
lea rcx, [rax + 0x18]
call fcn.1400073d0
mov rdx, qword [rdi + 8]
mov qword [rdi + 0x18], rbp
test rdx, rdx
je 0x14003fa95
mov rax, qword [rdx - 0x10]
lea rcx, [rdx - 0x10]
sub rax, 8
mov qword [rdx - 0x10], rax
cmp rax, 7
ja 0x14003fa95
mov rax, qword [0x140078a80]
mov rdx, rcx
lea rcx, [rax + 0x18]
call fcn.1400073d0
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.14000d7b0
add rbx, 1
jo 0x1400401ba
mov rax, qword [rsp + 0x38]
test rax, rax
js 0x14003fef9
test r15, r15
je 0x14003febd
mov rdx, qword [r15]
cmp rdx, rax
jg 0x14003fafb
sub rdx, 1
mov rcx, qword [rsp + 0x38]
call fcn.14000daa0
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 0x140040188
mov rax, qword [r15]
test rbx, rbx
js 0x14003fb33
cmp rbx, rax
jl 0x14003fb3f
lea rdx, [rax - 1]
mov rcx, rbx
call fcn.14000daa0
movzx eax, byte [rsp + 0x4f]
sar rsi, 2
shl eax, 4
or eax, esi
mov byte [r15 + rbx + 0x10], al
add rbx, 1
jno 0x14003f308
call fcn.140009130
jmp 0x14003f308
lea rdx, [rax - 1]
mov rcx, rdi
call fcn.14000daa0
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 0x14003f855
mov rcx, qword [0x140078650]
mov edx, 0x30
lea rsi, str.ValueError
call fcn.14000bf00
mov rbx, rax
mov rax, qword [0x1400787b0]
mov qword [rbx + 0x10], rsi
mov qword [rbx], rax
test rdi, rdi
jns 0x14003f63f
mov rax, qword [r14]
mov rcx, rdi
lea rdx, [rax - 1]
call fcn.14000daa0
mov rax, qword [r14]
jmp 0x14003f65b
lea rdx, [rax - 1]
mov rcx, rbx
call fcn.14000daa0
movzx eax, byte [r14 + rbx + 0x10]
mov rsi, qword [rsp + 0x30]
movzx esi, byte [rsi + rax]
cmp rsi, 0xff
jne 0x14003fac4
mov rcx, qword [0x140078650]
mov edx, 0x30
lea rsi, str.ValueError
call fcn.14000bf00
mov rdi, rax
mov rax, qword [0x1400787b0]
mov qword [rdi + 0x10], rsi
mov qword [rdi], rax
test rbx, rbx
jns 0x14003f8bc
mov rax, qword [r14]
mov rcx, rbx
lea rdx, [rax - 1]
call fcn.14000daa0
mov rax, qword [r14]
jmp 0x14003f8d8
lea rdx, [rax - 1]
mov rcx, rbx
call fcn.14000daa0
jmp 0x14003f5a2
mov rdx, 0xffffffffffffffff
test r15, r15
je 0x14003f2d9
mov rdx, qword [r15]
jmp 0x14003f2d5
mov rcx, qword [0x140078650]
mov edx, 0x30
lea rsi, str.ValueError
call fcn.14000bf00
mov rdi, rax
mov rax, qword [0x1400787b0]
mov qword [rdi + 0x10], rsi
mov qword [rdi], rax
mov rax, qword [r14]
cmp rax, rbx
jg 0x14003fcd4
lea rdx, [rax - 1]
mov rcx, rbx
call fcn.14000daa0
mov rax, qword [r14]
cmp rax, rbx
jg 0x14003fcd4
lea rdx, [rax - 1]
mov rcx, rbx
call fcn.14000daa0
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 0x14003fcf8
mov rax, qword [r12]
test rbp, rbp
je 0x14003fd01
add rax, qword [rbp]
lea rcx, [rax + 0x38]
call fcn.14000c140
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 0x14003fdb9
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 0x14003fe0c
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 0x14003fe53
mov rax, qword [rdx - 0x10]
lea rcx, [rdx - 0x10]
sub rax, 8
mov qword [rdx - 0x10], rax
cmp rax, 7
ja 0x14003fe53
mov rax, qword [0x140078a80]
mov rdx, rcx
lea rcx, [rax + 0x18]
call fcn.1400073d0
mov rdx, qword [rdi + 8]
mov qword [rdi + 0x18], r13
test rdx, rdx
je 0x14003fe89
mov rax, qword [rdx - 0x10]
lea rcx, [rdx - 0x10]
sub rax, 8
mov qword [rdx - 0x10], rax
cmp rax, 7
ja 0x14003fe89
mov rax, qword [0x140078a80]
mov rdx, rcx
lea rcx, [rax + 0x18]
call fcn.1400073d0
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.14000d7b0
mov byte [rsp + 0x40], 0xff
jmp 0x14003f265
mov rdx, 0xffffffffffffffff
jmp 0x14003faf1
mov rcx, qword [0x140078650]
mov edx, 0x30
lea rsi, str.ValueError
call fcn.14000bf00
mov r12, rax
mov rax, qword [0x1400787b0]
mov qword [r12 + 0x10], rsi
mov qword [r12], rax
jmp 0x14003f389
mov rdx, 0xffffffffffffffff
test r15, r15
je 0x14003faf1
mov rdx, qword [r15]
jmp 0x14003faed
mov rcx, qword [0x140078650]
mov edx, 0x30
lea rsi, str.ValueError
call fcn.14000bf00
mov rdi, rax
mov rax, qword [0x1400787b0]
mov qword [rdi + 0x10], rsi
mov qword [rdi], rax
mov rax, qword [r14]
cmp rbx, rax
jl 0x14003ff62
lea rdx, [rax - 1]
mov rcx, rbx
call fcn.14000daa0
mov rax, qword [r14]
cmp rbx, rax
jl 0x14003ff62
lea rdx, [rax - 1]
mov rcx, rbx
call fcn.14000daa0
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 0x14003ff86
mov rax, qword [r12]
test rbp, rbp
je 0x14003ff8f
add rax, qword [rbp]
lea rcx, [rax + 0x38]
call fcn.14000c140
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 0x140040047
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 0x14004009a
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 0x1400400e2
mov rax, qword [rdx - 0x10]
lea rcx, [rdx - 0x10]
sub rax, 8
mov qword [rdx - 0x10], rax
cmp rax, 7
ja 0x1400400e2
mov rax, qword [0x140078a80]
mov rdx, rcx
lea rcx, [rax + 0x18]
call fcn.1400073d0
mov rdx, qword [rdi + 8]
mov qword [rdi + 0x18], r13
test rdx, rdx
je 0x140040118
mov rax, qword [rdx - 0x10]
lea rcx, [rdx - 0x10]
sub rax, 8
mov qword [rdx - 0x10], rax
cmp rax, 7
ja 0x140040118
mov rax, qword [0x140078a80]
mov rdx, rcx
lea rcx, [rax + 0x18]
call fcn.1400073d0
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.14000d7b0
mov byte [rsp + 0x40], 0xff
jmp 0x14003f5c7
mov rdx, 0xffffffffffffffff
jmp 0x14003f2d9
mov rax, qword [r14]
mov rcx, rdi
lea rdx, [rax - 1]
call fcn.14000daa0
mov rax, qword [r14]
jmp 0x14003f3a5
mov ebp, 1
call fcn.140009130
jmp 0x14003e2af
call fcn.140009130
jmp 0x14003e496
call fcn.140009130
jmp 0x14003fb26
call fcn.140009130
jmp 0x14003f5dd
call fcn.140009130
jmp 0x14003f27b
call fcn.140009130
jmp 0x14003f862
call fcn.140009130
jmp 0x14003f2b6
call fcn.140009130
jmp 0x14003face
mov qword [rsp + 0x30], r8
call fcn.140009130
mov r8, qword [rsp + 0x30]
jmp 0x14003e2e3
call fcn.140009130
jmp 0x14003e265
call fcn.140009130
jmp 0x14003e35e
call fcn.140009130
jmp 0x14003e39d
call fcn.140009130
jmp 0x14003e3d7
call fcn.140009130
jmp 0x14003e460