Function at 0x14003b720
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 0x14003c652
mov rax, qword [rcx]
test rax, rax
je 0x14003c652
imul rbx, rax, 3
jo 0x14003d6c8
test rbx, rbx
lea rax, [rbx + 3]
cmovns rax, rbx
sar rax, 2
add rax, 6
js 0x14003c696
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 0x14003d65f
mov rdx, qword [r14]
test rbx, rbx
js 0x14003b7ac
cmp rbx, rdx
jl 0x14003b7b8
sub rdx, 1
mov rcx, rbx
call fcn.14000e210
movzx eax, byte [r14 + rbx + 0x10]
cmp al, 0x3d
jbe 0x14003ba10
mov r8, rsi
sub r8, 4
jo 0x14003d6b4
test r8, r8
js 0x14003c6b9
mov rax, qword [0x140075fd0]
xor edi, edi
mov qword [rsp + 0x78], rsi
xor ebx, ebx
mov qword [rsp + 0x50], r8
lea r12, [0x14006d6a0]
mov rsi, rdi
add rax, 0x18
mov qword [rsp + 0x70], rax
jmp 0x14003b9c4
mov rdx, qword [r14]
test rbx, rbx
js 0x14003c020
cmp rbx, rdx
jl 0x14003b833
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 0x14003c580
add rbx, 1
jo 0x14003d6d2
mov rdx, qword [r14]
test rbx, rbx
js 0x14003bcd0
cmp rbx, rdx
jge 0x14003bcd0
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 0x14003c61f
add rbx, 1
jo 0x14003d6dc
mov rdx, qword [r14]
test rbx, rbx
js 0x14003ba40
cmp rbx, rdx
jge 0x14003ba40
movzx eax, byte [r14 + rbx + 0x10]
movzx ebp, byte [r12 + rax]
mov rdi, rbp
cmp rbp, 0xff
je 0x14003c5ec
add rbx, 1
jo 0x14003d6e6
mov rdx, qword [r14]
test rbx, rbx
js 0x14003c280
cmp rbx, rdx
jl 0x14003b8e4
sub rdx, 1
mov rcx, rbx
call fcn.14000e210
movzx eax, byte [r14 + rbx + 0x10]
movzx r13d, byte [r12 + rax]
cmp r13b, 0xff
je 0x14003c520
add rbx, 1
mov qword [rsp + 0x30], rbx
jo 0x14003c010
test rsi, rsi
js 0x14003bf60
test r15, r15
je 0x14003c5e0
mov rdx, qword [r15]
cmp rdx, rsi
jg 0x14003b92e
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 0x14003d6f0
mov rdx, qword [r15]
test rsi, rsi
js 0x14003b95d
cmp rsi, rdx
jl 0x14003b969
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 0x14003d66e
mov rdx, qword [r15]
test rsi, rsi
js 0x14003b993
cmp rsi, rdx
jl 0x14003b99f
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 0x14003bf80
mov rdi, qword [rsp + 0x30]
cmp qword [rsp + 0x50], rdi
jl 0x14003bf95
movabs rdi, 0xfffffffeffffdbff
nop
mov rdx, qword [r14]
test rbx, rbx
js 0x14003b9dd
cmp rbx, rdx
jl 0x14003b9e9
sub rdx, 1
mov rcx, rbx
call fcn.14000e210
movzx eax, byte [r14 + rbx + 0x10]
cmp al, 0x20
ja 0x14003b810
bt rdi, rax
jb 0x14003b810
add rbx, 1
jno 0x14003b9d0
call fcn.140008da0
jmp 0x14003b9d0
bt rdi, rax
jb 0x14003b7c6
test rbp, rbp
jne 0x14003ba30
mov rsi, rbx
jmp 0x14003b790
call fcn.140008da0
jmp 0x14003ba1f
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 0x14003b8bd
mov rcx, qword [0x140075b60]
mov edx, 0x30
call fcn.14000b930
mov rdi, rax
mov rax, qword [0x140075ce0]
mov qword [rdi], rax
lea rax, str.ValueError
mov qword [rsp + 0x30], rax
mov qword [rdi + 0x10], rax
test rbx, rbx
js 0x14003c67f
mov rax, qword [r14]
cmp rbx, rax
jl 0x14003bac6
lea rdx, [rax - 1]
mov rcx, rbx
call fcn.14000e210
mov rax, qword [r14]
cmp rbx, rax
jl 0x14003bac6
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 0x14003baf0
mov rcx, qword [r9]
test r13, r13
je 0x14003baf9
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 0x14003bbba
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 0x14003bc0d
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 0x14003bc55
mov rdx, qword [rax - 0x10]
lea rcx, [rax - 0x10]
sub rdx, 8
mov qword [rax - 0x10], rdx
cmp rdx, 7
ja 0x14003bc55
mov rax, qword [0x140075fd0]
mov rdx, rcx
lea rcx, [rax + 0x18]
call fcn.140007040
mov rax, qword [rdi + 8]
mov qword [rdi + 0x18], rbp
test rax, rax
je 0x14003bc8b
mov rdx, qword [rax - 0x10]
lea rcx, [rax - 0x10]
sub rdx, 8
mov qword [rax - 0x10], rdx
cmp rdx, 7
ja 0x14003bc8b
mov rax, qword [0x140075fd0]
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 0x14003b8bd
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 0x14003b883
mov rcx, qword [0x140075b60]
mov edx, 0x30
call fcn.14000b930
mov rdi, rax
mov rax, qword [0x140075ce0]
mov qword [rdi], rax
lea rax, str.ValueError
mov qword [rsp + 0x30], rax
mov qword [rdi + 0x10], rax
test rbx, rbx
js 0x14003c668
mov rax, qword [r14]
cmp rbx, rax
jl 0x14003bd5b
lea rdx, [rax - 1]
mov rcx, rbx
call fcn.14000e210
mov rax, qword [r14]
cmp rbx, rax
jl 0x14003bd5b
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 0x14003bd85
mov rcx, qword [r9]
test r13, r13
je 0x14003bd8e
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 0x14003be51
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 0x14003bea4
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 0x14003beea
mov rdx, qword [rax - 0x10]
lea rcx, [rax - 0x10]
sub rdx, 8
mov qword [rax - 0x10], rdx
cmp rdx, 7
ja 0x14003beea
mov rax, qword [0x140075fd0]
mov rdx, rcx
lea rcx, [rax + 0x18]
call fcn.140007040
mov rax, qword [rdi + 8]
mov qword [rdi + 0x18], rbp
test rax, rax
je 0x14003bf20
mov rdx, qword [rax - 0x10]
lea rcx, [rax - 0x10]
sub rdx, 8
mov qword [rax - 0x10], rdx
cmp rdx, 7
ja 0x14003bf20
mov rax, qword [0x140075fd0]
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 0x14003b883
mov rdx, 0xffffffffffffffff
test r15, r15
je 0x14003b926
mov rdx, qword [r15]
jmp 0x14003b922
call fcn.140008da0
mov rdi, qword [rsp + 0x30]
cmp qword [rsp + 0x50], rdi
jge 0x14003b9c4
mov qword [rsp + 0x38], rsi
mov rsi, qword [rsp + 0x78]
mov rax, rdi
sub rax, rsi
mov rdi, rax
jo 0x14003c712
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 0x14003c71c
cmp rax, 3
je 0x14003ca86
cmp qword [rsp + 0x38], 0
js 0x14003c802
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 0x14003b908
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 0x14003b844
mov rcx, qword [0x140075b60]
mov edx, 0x30
call fcn.14000b930
mov rcx, rbx
mov rbp, rax
mov rax, qword [0x140075ce0]
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 0x14003c0b4
mov rcx, qword [r13]
test r9, r9
je 0x14003c0bc
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 0x14003c17a
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 0x14003c1d1
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 0x14003c218
mov rdx, qword [rax - 0x10]
lea rcx, [rax - 0x10]
sub rdx, 8
mov qword [rax - 0x10], rdx
cmp rdx, 7
ja 0x14003c218
mov rax, qword [0x140075fd0]
mov rdx, rcx
lea rcx, [rax + 0x18]
call fcn.140007040
mov rax, qword [rbp + 8]
mov qword [rbp + 0x18], rdi
test rax, rax
je 0x14003c248
mov rdi, qword [rax - 0x10]
lea rcx, [rax - 0x10]
lea rdx, [rdi - 8]
mov qword [rax - 0x10], rdx
cmp rdx, 7
ja 0x14003c248
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 0x14003b844
sub rdx, 1
mov rcx, rbx
call fcn.14000e210
movzx eax, byte [r14 + rbx + 0x10]
movzx r13d, byte [r12 + rax]
cmp r13b, 0xff
jne 0x14003b8f9
mov rcx, qword [0x140075b60]
mov edx, 0x30
call fcn.14000b930
mov rcx, rbx
mov r13, rax
mov rax, qword [0x140075ce0]
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 0x14003c318
mov rcx, qword [r11]
test r10, r10
je 0x14003c320
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 0x14003c3fb
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 0x14003c45c
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 0x14003c4ad
mov rdx, qword [rax - 0x10]
lea rcx, [rax - 0x10]
sub rdx, 8
mov qword [rax - 0x10], rdx
cmp rdx, 7
ja 0x14003c4ad
mov rax, qword [0x140075fd0]
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 0x14003c4e3
mov rdx, qword [rax - 0x10]
lea rcx, [rax - 0x10]
sub rdx, 8
mov qword [rax - 0x10], rdx
cmp rdx, 7
ja 0x14003c4e3
mov rax, qword [0x140075fd0]
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 0x14003b8f9
mov rcx, qword [0x140075b60]
mov edx, 0x30
call fcn.14000b930
mov r13, rax
mov rax, qword [0x140075ce0]
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 0x14003c2ee
lea rdx, [rax - 1]
mov rcx, rbx
call fcn.14000e210
mov rax, qword [r14]
cmp rbx, rax
jge 0x14003c2e2
jmp 0x14003c2ee
mov rcx, qword [0x140075b60]
mov edx, 0x30
call fcn.14000b930
mov rbp, rax
mov rax, qword [0x140075ce0]
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 0x14003c090
lea rdx, [rax - 1]
mov rcx, rbx
call fcn.14000e210
mov rax, qword [r14]
cmp rbx, rax
jge 0x14003c084
jmp 0x14003c090
mov rdx, 0xffffffffffffffff
jmp 0x14003b926
mov rcx, qword [0x140075b60]
mov edx, 0x30
call fcn.14000b930
mov rdi, rax
mov rax, qword [0x140075ce0]
mov qword [rdi], rax
lea rax, str.ValueError
mov qword [rsp + 0x30], rax
mov qword [rdi + 0x10], rax
jmp 0x14003ba9e
mov rcx, qword [0x140075b60]
mov edx, 0x30
call fcn.14000b930
mov rdi, rax
mov rax, qword [0x140075ce0]
mov qword [rdi], rax
lea rax, str.ValueError
mov qword [rsp + 0x30], rax
mov qword [rdi + 0x10], rax
jmp 0x14003bd33
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 0x14003bd4f
mov rax, qword [r14]
mov rcx, rbx
lea rdx, [rax - 1]
call fcn.14000e210
mov rax, qword [r14]
jmp 0x14003baba
mov rcx, rax
xor edx, edx
mov qword [rsp + 0x30], rax
movabs r8, 0x7fffffffffffffff
call fcn.14000e070
mov rax, qword [rsp + 0x30]
jmp 0x14003b76e
neg rsi
seto al
mov rdi, rsi
movzx eax, al
mov qword [rsp + 0x38], rax
jo 0x14003c707
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 0x14003c71c
cmp rax, 3
jne 0x14003bfed
mov rax, qword [r14]
xor ebx, ebx
jmp 0x14003ca89
mov qword [rsp + 0x38], 0
xor ebx, ebx
call fcn.140008da0
jmp 0x14003bfae
mov rax, qword [r14]
cmp rax, rbx
jg 0x14003c730
lea rdx, [rax - 1]
mov rcx, rbx
call fcn.14000e210
lea rax, [0x14006d6a0]
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 0x14003d173
mov rdi, rbx
add rdi, 1
js 0x14003d68c
cmp rdi, rbx
jb 0x14003d68c
mov rax, qword [r14]
test rdi, rdi
js 0x14003c81d
cmp rdi, rax
jge 0x14003c81d
movzx eax, byte [r14 + rdi + 0x10]
mov rsi, qword [rsp + 0x30]
movzx esi, byte [rsi + rax]
cmp rsi, 0xff
je 0x14003d3b9
add rdi, 1
jo 0x14003d6a0
mov rax, qword [rsp + 0x38]
test rax, rax
js 0x14003d15b
test r15, r15
je 0x14003d63c
mov rdx, qword [r15]
cmp rax, rdx
jl 0x14003c7d3
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 0x14003d04c
mov qword [rsp + 0x38], rbx
jmp 0x14003bfe1
mov rcx, qword [rsp + 0x38]
xor edx, edx
movabs r8, 0x7fffffffffffffff
call fcn.14000e070
jmp 0x14003bfed
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 0x14003c79c
mov rcx, qword [0x140075b60]
mov edx, 0x30
lea rsi, str.ValueError
call fcn.14000b930
mov r12, rax
mov rax, qword [0x140075ce0]
mov qword [r12 + 0x10], rsi
mov qword [r12], rax
test rdi, rdi
js 0x14003d648
mov rax, qword [r14]
cmp rdi, rax
jl 0x14003c8a1
lea rdx, [rax - 1]
mov rcx, rdi
call fcn.14000e210
mov rax, qword [r14]
cmp rdi, rax
jl 0x14003c8a1
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 0x14003c8c4
mov rax, qword [rbx]
test r13, r13
je 0x14003c8cd
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 0x14003c97f
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 0x14003c9d2
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 0x14003ca19
mov rax, qword [rdx - 0x10]
lea rcx, [rdx - 0x10]
sub rax, 8
mov qword [rdx - 0x10], rax
cmp rax, 7
ja 0x14003ca19
mov rax, qword [0x140075fd0]
mov rdx, rcx
lea rcx, [rax + 0x18]
call fcn.140007040
mov rdx, qword [r12 + 8]
mov qword [r12 + 0x18], rbp
test rdx, rdx
je 0x14003ca51
mov rax, qword [rdx - 0x10]
lea rcx, [rdx - 0x10]
sub rax, 8
mov qword [rdx - 0x10], rax
cmp rax, 7
ja 0x14003ca51
mov rax, qword [0x140075fd0]
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 0x14003c79c
mov rax, qword [r14]
cmp rbx, rax
jge 0x14003d14a
lea rax, [0x14006d6a0]
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 0x14003d401
mov rdi, rbx
add rdi, 1
js 0x14003d682
cmp rdi, rbx
jb 0x14003d682
mov rax, qword [r14]
test rdi, rdi
js 0x14003d060
cmp rdi, rax
jge 0x14003d060
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 0x14003cd45
mov rcx, qword [0x140075b60]
mov edx, 0x30
lea rsi, str.ValueError
call fcn.14000b930
mov rbx, rax
mov rax, qword [0x140075ce0]
mov qword [rbx + 0x10], rsi
mov qword [rbx], rax
mov rax, qword [r14]
cmp rdi, rax
jl 0x14003cb57
lea rdx, [rax - 1]
mov rcx, rdi
call fcn.14000e210
mov rax, qword [r14]
cmp rdi, rax
jl 0x14003cb57
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 0x14003cb7b
mov rax, qword [rbp]
test r13, r13
je 0x14003cb84
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 0x14003cc3b
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 0x14003cc8e
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 0x14003ccd7
mov rax, qword [rdx - 0x10]
lea rcx, [rdx - 0x10]
sub rax, 8
mov qword [rdx - 0x10], rax
cmp rax, 7
ja 0x14003ccd7
mov rax, qword [0x140075fd0]
mov rdx, rcx
lea rcx, [rax + 0x18]
call fcn.140007040
mov rdx, qword [rbx + 8]
mov qword [rbx + 0x18], r12
test rdx, rdx
je 0x14003cd0d
mov rax, qword [rdx - 0x10]
lea rcx, [rdx - 0x10]
sub rax, 8
mov qword [rdx - 0x10], rax
cmp rax, 7
ja 0x14003cd0d
mov rax, qword [0x140075fd0]
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 0x14003d696
mov rax, qword [r14]
test rbx, rbx
js 0x14003d0d9
cmp rbx, rax
jge 0x14003d0d9
movzx eax, byte [r14 + rbx + 0x10]
mov rsi, qword [rsp + 0x30]
movzx esi, byte [rsi + rax]
cmp rsi, 0xff
jne 0x14003cfb4
mov rcx, qword [0x140075b60]
mov edx, 0x30
lea rsi, str.ValueError
call fcn.14000b930
mov rdi, rax
mov rax, qword [0x140075ce0]
mov qword [rdi + 0x10], rsi
mov qword [rdi], rax
mov rax, qword [r14]
cmp rbx, rax
jl 0x14003cdd4
lea rdx, [rax - 1]
mov rcx, rbx
call fcn.14000e210
mov rax, qword [r14]
cmp rbx, rax
jl 0x14003cdd4
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 0x14003cdf8
mov rax, qword [r13]
test r12, r12
je 0x14003ce01
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 0x14003ceb5
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 0x14003cf09
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 0x14003cf4f
mov rax, qword [rdx - 0x10]
lea rcx, [rdx - 0x10]
sub rax, 8
mov qword [rdx - 0x10], rax
cmp rax, 7
ja 0x14003cf4f
mov rax, qword [0x140075fd0]
mov rdx, rcx
lea rcx, [rax + 0x18]
call fcn.140007040
mov rdx, qword [rdi + 8]
mov qword [rdi + 0x18], rbp
test rdx, rdx
je 0x14003cf85
mov rax, qword [rdx - 0x10]
lea rcx, [rdx - 0x10]
sub rax, 8
mov qword [rdx - 0x10], rax
cmp rax, 7
ja 0x14003cf85
mov rax, qword [0x140075fd0]
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 0x14003d6aa
mov rax, qword [rsp + 0x38]
test rax, rax
js 0x14003d3e9
test r15, r15
je 0x14003d3ad
mov rdx, qword [r15]
cmp rdx, rax
jg 0x14003cfeb
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 0x14003d678
mov rax, qword [r15]
test rbx, rbx
js 0x14003d023
cmp rbx, rax
jl 0x14003d02f
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 0x14003c7f8
call fcn.140008da0
jmp 0x14003c7f8
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 0x14003cd45
mov rcx, qword [0x140075b60]
mov edx, 0x30
lea rsi, str.ValueError
call fcn.14000b930
mov rbx, rax
mov rax, qword [0x140075ce0]
mov qword [rbx + 0x10], rsi
mov qword [rbx], rax
test rdi, rdi
jns 0x14003cb2f
mov rax, qword [r14]
mov rcx, rdi
lea rdx, [rax - 1]
call fcn.14000e210
mov rax, qword [r14]
jmp 0x14003cb4b
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 0x14003cfb4
mov rcx, qword [0x140075b60]
mov edx, 0x30
lea rsi, str.ValueError
call fcn.14000b930
mov rdi, rax
mov rax, qword [0x140075ce0]
mov qword [rdi + 0x10], rsi
mov qword [rdi], rax
test rbx, rbx
jns 0x14003cdac
mov rax, qword [r14]
mov rcx, rbx
lea rdx, [rax - 1]
call fcn.14000e210
mov rax, qword [r14]
jmp 0x14003cdc8
lea rdx, [rax - 1]
mov rcx, rbx
call fcn.14000e210
jmp 0x14003ca92
mov rdx, 0xffffffffffffffff
test r15, r15
je 0x14003c7c9
mov rdx, qword [r15]
jmp 0x14003c7c5
mov rcx, qword [0x140075b60]
mov edx, 0x30
lea rsi, str.ValueError
call fcn.14000b930
mov rdi, rax
mov rax, qword [0x140075ce0]
mov qword [rdi + 0x10], rsi
mov qword [rdi], rax
mov rax, qword [r14]
cmp rax, rbx
jg 0x14003d1c4
lea rdx, [rax - 1]
mov rcx, rbx
call fcn.14000e210
mov rax, qword [r14]
cmp rax, rbx
jg 0x14003d1c4
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 0x14003d1e8
mov rax, qword [r12]
test rbp, rbp
je 0x14003d1f1
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 0x14003d2a9
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 0x14003d2fc
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 0x14003d343
mov rax, qword [rdx - 0x10]
lea rcx, [rdx - 0x10]
sub rax, 8
mov qword [rdx - 0x10], rax
cmp rax, 7
ja 0x14003d343
mov rax, qword [0x140075fd0]
mov rdx, rcx
lea rcx, [rax + 0x18]
call fcn.140007040
mov rdx, qword [rdi + 8]
mov qword [rdi + 0x18], r13
test rdx, rdx
je 0x14003d379
mov rax, qword [rdx - 0x10]
lea rcx, [rdx - 0x10]
sub rax, 8
mov qword [rdx - 0x10], rax
cmp rax, 7
ja 0x14003d379
mov rax, qword [0x140075fd0]
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 0x14003c755
mov rdx, 0xffffffffffffffff
jmp 0x14003cfe1
mov rcx, qword [0x140075b60]
mov edx, 0x30
lea rsi, str.ValueError
call fcn.14000b930
mov r12, rax
mov rax, qword [0x140075ce0]
mov qword [r12 + 0x10], rsi
mov qword [r12], rax
jmp 0x14003c879
mov rdx, 0xffffffffffffffff
test r15, r15
je 0x14003cfe1
mov rdx, qword [r15]
jmp 0x14003cfdd
mov rcx, qword [0x140075b60]
mov edx, 0x30
lea rsi, str.ValueError
call fcn.14000b930
mov rdi, rax
mov rax, qword [0x140075ce0]
mov qword [rdi + 0x10], rsi
mov qword [rdi], rax
mov rax, qword [r14]
cmp rbx, rax
jl 0x14003d452
lea rdx, [rax - 1]
mov rcx, rbx
call fcn.14000e210
mov rax, qword [r14]
cmp rbx, rax
jl 0x14003d452
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 0x14003d476
mov rax, qword [r12]
test rbp, rbp
je 0x14003d47f
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 0x14003d537
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 0x14003d58a
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 0x14003d5d2
mov rax, qword [rdx - 0x10]
lea rcx, [rdx - 0x10]
sub rax, 8
mov qword [rdx - 0x10], rax
cmp rax, 7
ja 0x14003d5d2
mov rax, qword [0x140075fd0]
mov rdx, rcx
lea rcx, [rax + 0x18]
call fcn.140007040
mov rdx, qword [rdi + 8]
mov qword [rdi + 0x18], r13
test rdx, rdx
je 0x14003d608
mov rax, qword [rdx - 0x10]
lea rcx, [rdx - 0x10]
sub rax, 8
mov qword [rdx - 0x10], rax
cmp rax, 7
ja 0x14003d608
mov rax, qword [0x140075fd0]
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 0x14003cab7
mov rdx, 0xffffffffffffffff
jmp 0x14003c7c9
mov rax, qword [r14]
mov rcx, rdi
lea rdx, [rax - 1]
call fcn.14000e210
mov rax, qword [r14]
jmp 0x14003c895
mov ebp, 1
call fcn.140008da0
jmp 0x14003b79f
call fcn.140008da0
jmp 0x14003b986
call fcn.140008da0
jmp 0x14003d016
call fcn.140008da0
jmp 0x14003cacd
call fcn.140008da0
jmp 0x14003c76b
call fcn.140008da0
jmp 0x14003cd52
call fcn.140008da0
jmp 0x14003c7a6
call fcn.140008da0
jmp 0x14003cfbe
mov qword [rsp + 0x30], r8
call fcn.140008da0
mov r8, qword [rsp + 0x30]
jmp 0x14003b7d3
call fcn.140008da0
jmp 0x14003b755
call fcn.140008da0
jmp 0x14003b84e
call fcn.140008da0
jmp 0x14003b88d
call fcn.140008da0
jmp 0x14003b8c7
call fcn.140008da0
jmp 0x14003b950