Function at 0x140038390
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 0x1400392c2
mov rax, qword [rcx]
test rax, rax
je 0x1400392c2
imul rbx, rax, 3
jo 0x14003a338
test rbx, rbx
lea rax, [rbx + 3]
cmovns rax, rbx
sar rax, 2
add rax, 6
js 0x140039306
movabs rdi, 0xdffffffeffffdbff
mov rdx, rax
xor ecx, ecx
call fcn.14000beb0
mov rsi, qword [r14]
mov r15, rax
nop dword [rax + rax]
mov rbx, rsi
xor ebp, ebp
sub rbx, 1
jo 0x14003a2cf
mov rdx, qword [r14]
test rbx, rbx
js 0x14003841c
cmp rbx, rdx
jl 0x140038428
sub rdx, 1
mov rcx, rbx
call fcn.14000e0e0
movzx eax, byte [r14 + rbx + 0x10]
cmp al, 0x3d
jbe 0x140038680
mov r8, rsi
sub r8, 4
jo 0x14003a324
test r8, r8
js 0x140039329
mov rax, qword [0x140063740]
xor edi, edi
mov qword [rsp + 0x78], rsi
xor ebx, ebx
mov qword [rsp + 0x50], r8
lea r12, [0x14005d440]
mov rsi, rdi
add rax, 0x18
mov qword [rsp + 0x70], rax
jmp 0x140038634
mov rdx, qword [r14]
test rbx, rbx
js 0x140038c90
cmp rbx, rdx
jl 0x1400384a3
sub rdx, 1
mov rcx, rbx
call fcn.14000e0e0
movzx eax, byte [r14 + rbx + 0x10]
movzx eax, byte [r12 + rax]
mov byte [rsp + 0x4f], al
cmp al, 0xff
je 0x1400391f0
add rbx, 1
jo 0x14003a342
mov rdx, qword [r14]
test rbx, rbx
js 0x140038940
cmp rbx, rdx
jge 0x140038940
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 0x14003928f
add rbx, 1
jo 0x14003a34c
mov rdx, qword [r14]
test rbx, rbx
js 0x1400386b0
cmp rbx, rdx
jge 0x1400386b0
movzx eax, byte [r14 + rbx + 0x10]
movzx ebp, byte [r12 + rax]
mov rdi, rbp
cmp rbp, 0xff
je 0x14003925c
add rbx, 1
jo 0x14003a356
mov rdx, qword [r14]
test rbx, rbx
js 0x140038ef0
cmp rbx, rdx
jl 0x140038554
sub rdx, 1
mov rcx, rbx
call fcn.14000e0e0
movzx eax, byte [r14 + rbx + 0x10]
movzx r13d, byte [r12 + rax]
cmp r13b, 0xff
je 0x140039190
add rbx, 1
mov qword [rsp + 0x30], rbx
jo 0x140038c80
test rsi, rsi
js 0x140038bd0
test r15, r15
je 0x140039250
mov rdx, qword [r15]
cmp rdx, rsi
jg 0x14003859e
sub rdx, 1
mov rcx, rsi
call fcn.14000e0e0
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 0x14003a360
mov rdx, qword [r15]
test rsi, rsi
js 0x1400385cd
cmp rsi, rdx
jl 0x1400385d9
sub rdx, 1
mov rcx, rsi
call fcn.14000e0e0
movzx eax, byte [rsp + 0x38]
sar rbp, 2
shl eax, 4
or ebp, eax
mov byte [r15 + rsi + 0x10], bpl
add rsi, 1
jo 0x14003a2de
mov rdx, qword [r15]
test rsi, rsi
js 0x140038603
cmp rsi, rdx
jl 0x14003860f
sub rdx, 1
mov rcx, rsi
call fcn.14000e0e0
shl edi, 6
or edi, r13d
mov byte [r15 + rsi + 0x10], dil
add rsi, 1
jo 0x140038bf0
mov rdi, qword [rsp + 0x30]
cmp qword [rsp + 0x50], rdi
jl 0x140038c05
movabs rdi, 0xfffffffeffffdbff
nop
mov rdx, qword [r14]
test rbx, rbx
js 0x14003864d
cmp rbx, rdx
jl 0x140038659
sub rdx, 1
mov rcx, rbx
call fcn.14000e0e0
movzx eax, byte [r14 + rbx + 0x10]
cmp al, 0x20
ja 0x140038480
bt rdi, rax
jb 0x140038480
add rbx, 1
jno 0x140038640
call fcn.140008a30
jmp 0x140038640
bt rdi, rax
jb 0x140038436
test rbp, rbp
jne 0x1400386a0
mov rsi, rbx
jmp 0x140038400
call fcn.140008a30
jmp 0x14003868f
sub rdx, 1
mov rcx, rbx
call fcn.14000e0e0
movzx eax, byte [r14 + rbx + 0x10]
movzx ebp, byte [r12 + rax]
mov rdi, rbp
cmp rbp, 0xff
jne 0x14003852d
mov rcx, qword [0x140063390]
mov edx, 0x30
call fcn.14000b540
mov rdi, rax
mov rax, qword [0x140063490]
mov qword [rdi], rax
lea rax, str.ValueError
mov qword [rsp + 0x30], rax
mov qword [rdi + 0x10], rax
test rbx, rbx
js 0x1400392ef
mov rax, qword [r14]
cmp rbx, rax
jl 0x140038736
lea rdx, [rax - 1]
mov rcx, rbx
call fcn.14000e0e0
mov rax, qword [r14]
cmp rbx, rax
jl 0x140038736
lea rdx, [rax - 1]
mov rcx, rbx
call fcn.14000e0e0
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 0x140038760
mov rcx, qword [r9]
test r13, r13
je 0x140038769
add rcx, qword [r13]
add rcx, 0x38
mov qword [rsp + 0x58], r9
call fcn.14000b780
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 0x14003882a
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 0x14003887d
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 0x1400388c5
mov rdx, qword [rax - 0x10]
lea rcx, [rax - 0x10]
sub rdx, 8
mov qword [rax - 0x10], rdx
cmp rdx, 7
ja 0x1400388c5
mov rax, qword [0x140063740]
mov rdx, rcx
lea rcx, [rax + 0x18]
call fcn.140006cd0
mov rax, qword [rdi + 8]
mov qword [rdi + 0x18], rbp
test rax, rax
je 0x1400388fb
mov rdx, qword [rax - 0x10]
lea rcx, [rax - 0x10]
sub rdx, 8
mov qword [rax - 0x10], rdx
cmp rdx, 7
ja 0x1400388fb
mov rax, qword [0x140063740]
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.14000ddf0
jmp 0x14003852d
sub rdx, 1
mov rcx, rbx
call fcn.14000e0e0
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 0x1400384f3
mov rcx, qword [0x140063390]
mov edx, 0x30
call fcn.14000b540
mov rdi, rax
mov rax, qword [0x140063490]
mov qword [rdi], rax
lea rax, str.ValueError
mov qword [rsp + 0x30], rax
mov qword [rdi + 0x10], rax
test rbx, rbx
js 0x1400392d8
mov rax, qword [r14]
cmp rbx, rax
jl 0x1400389cb
lea rdx, [rax - 1]
mov rcx, rbx
call fcn.14000e0e0
mov rax, qword [r14]
cmp rbx, rax
jl 0x1400389cb
lea rdx, [rax - 1]
mov rcx, rbx
call fcn.14000e0e0
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 0x1400389f5
mov rcx, qword [r9]
test r13, r13
je 0x1400389fe
add rcx, qword [r13]
add rcx, 0x38
mov qword [rsp + 0x38], r9
call fcn.14000b780
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 0x140038ac1
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 0x140038b14
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 0x140038b5a
mov rdx, qword [rax - 0x10]
lea rcx, [rax - 0x10]
sub rdx, 8
mov qword [rax - 0x10], rdx
cmp rdx, 7
ja 0x140038b5a
mov rax, qword [0x140063740]
mov rdx, rcx
lea rcx, [rax + 0x18]
call fcn.140006cd0
mov rax, qword [rdi + 8]
mov qword [rdi + 0x18], rbp
test rax, rax
je 0x140038b90
mov rdx, qword [rax - 0x10]
lea rcx, [rax - 0x10]
sub rdx, 8
mov qword [rax - 0x10], rdx
cmp rdx, 7
ja 0x140038b90
mov rax, qword [0x140063740]
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.14000ddf0
mov byte [rsp + 0x38], 0xff
mov qword [rsp + 0x40], 0xff
jmp 0x1400384f3
mov rdx, 0xffffffffffffffff
test r15, r15
je 0x140038596
mov rdx, qword [r15]
jmp 0x140038592
call fcn.140008a30
mov rdi, qword [rsp + 0x30]
cmp qword [rsp + 0x50], rdi
jge 0x140038634
mov qword [rsp + 0x38], rsi
mov rsi, qword [rsp + 0x78]
mov rax, rdi
sub rax, rsi
mov rdi, rax
jo 0x140039382
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 0x14003938c
cmp rax, 3
je 0x1400396f6
cmp qword [rsp + 0x38], 0
js 0x140039472
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.14000beb0
call fcn.140008a30
jmp 0x140038578
sub rdx, 1
mov rcx, rbx
call fcn.14000e0e0
movzx eax, byte [r14 + rbx + 0x10]
movzx eax, byte [r12 + rax]
mov byte [rsp + 0x4f], al
cmp al, 0xff
jne 0x1400384b4
mov rcx, qword [0x140063390]
mov edx, 0x30
call fcn.14000b540
mov rcx, rbx
mov rbp, rax
mov rax, qword [0x140063490]
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.14000e0e0
mov rax, qword [r14]
lea rdx, [rax - 1]
mov rcx, rbx
call fcn.14000e0e0
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 0x140038d24
mov rcx, qword [r13]
test r9, r9
je 0x140038d2c
add rcx, qword [r9]
add rcx, 0x38
mov qword [rsp + 0x38], r9
call fcn.14000b780
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 0x140038dea
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 0x140038e41
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 0x140038e88
mov rdx, qword [rax - 0x10]
lea rcx, [rax - 0x10]
sub rdx, 8
mov qword [rax - 0x10], rdx
cmp rdx, 7
ja 0x140038e88
mov rax, qword [0x140063740]
mov rdx, rcx
lea rcx, [rax + 0x18]
call fcn.140006cd0
mov rax, qword [rbp + 8]
mov qword [rbp + 0x18], rdi
test rax, rax
je 0x140038eb8
mov rdi, qword [rax - 0x10]
lea rcx, [rax - 0x10]
lea rdx, [rdi - 8]
mov qword [rax - 0x10], rdx
cmp rdx, 7
ja 0x140038eb8
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.14000ddf0
mov byte [rsp + 0x4f], 0xff
jmp 0x1400384b4
sub rdx, 1
mov rcx, rbx
call fcn.14000e0e0
movzx eax, byte [r14 + rbx + 0x10]
movzx r13d, byte [r12 + rax]
cmp r13b, 0xff
jne 0x140038569
mov rcx, qword [0x140063390]
mov edx, 0x30
call fcn.14000b540
mov rcx, rbx
mov r13, rax
mov rax, qword [0x140063490]
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.14000e0e0
mov rax, qword [r14]
lea rdx, [rax - 1]
mov rcx, rbx
call fcn.14000e0e0
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 0x140038f88
mov rcx, qword [r11]
test r10, r10
je 0x140038f90
add rcx, qword [r10]
add rcx, 0x38
mov qword [rsp + 0x60], r10
mov qword [rsp + 0x58], r11
call fcn.14000b780
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 0x14003906b
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 0x1400390cc
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 0x14003911d
mov rdx, qword [rax - 0x10]
lea rcx, [rax - 0x10]
sub rdx, 8
mov qword [rax - 0x10], rdx
cmp rdx, 7
ja 0x14003911d
mov rax, qword [0x140063740]
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 0x140039153
mov rdx, qword [rax - 0x10]
lea rcx, [rax - 0x10]
sub rdx, 8
mov qword [rax - 0x10], rdx
cmp rdx, 7
ja 0x140039153
mov rax, qword [0x140063740]
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.14000ddf0
jmp 0x140038569
mov rcx, qword [0x140063390]
mov edx, 0x30
call fcn.14000b540
mov r13, rax
mov rax, qword [0x140063490]
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 0x140038f5e
lea rdx, [rax - 1]
mov rcx, rbx
call fcn.14000e0e0
mov rax, qword [r14]
cmp rbx, rax
jge 0x140038f52
jmp 0x140038f5e
mov rcx, qword [0x140063390]
mov edx, 0x30
call fcn.14000b540
mov rbp, rax
mov rax, qword [0x140063490]
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 0x140038d00
lea rdx, [rax - 1]
mov rcx, rbx
call fcn.14000e0e0
mov rax, qword [r14]
cmp rbx, rax
jge 0x140038cf4
jmp 0x140038d00
mov rdx, 0xffffffffffffffff
jmp 0x140038596
mov rcx, qword [0x140063390]
mov edx, 0x30
call fcn.14000b540
mov rdi, rax
mov rax, qword [0x140063490]
mov qword [rdi], rax
lea rax, str.ValueError
mov qword [rsp + 0x30], rax
mov qword [rdi + 0x10], rax
jmp 0x14003870e
mov rcx, qword [0x140063390]
mov edx, 0x30
call fcn.14000b540
mov rdi, rax
mov rax, qword [0x140063490]
mov qword [rdi], rax
lea rax, str.ValueError
mov qword [rsp + 0x30], rax
mov qword [rdi + 0x10], rax
jmp 0x1400389a3
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.14000e0e0
mov rax, qword [r14]
jmp 0x1400389bf
mov rax, qword [r14]
mov rcx, rbx
lea rdx, [rax - 1]
call fcn.14000e0e0
mov rax, qword [r14]
jmp 0x14003872a
mov rcx, rax
xor edx, edx
mov qword [rsp + 0x30], rax
movabs r8, 0x7fffffffffffffff
call fcn.14000df40
mov rax, qword [rsp + 0x30]
jmp 0x1400383de
neg rsi
seto al
mov rdi, rsi
movzx eax, al
mov qword [rsp + 0x38], rax
jo 0x140039377
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 0x14003938c
cmp rax, 3
jne 0x140038c5d
mov rax, qword [r14]
xor ebx, ebx
jmp 0x1400396f9
mov qword [rsp + 0x38], 0
xor ebx, ebx
call fcn.140008a30
jmp 0x140038c1e
mov rax, qword [r14]
cmp rax, rbx
jg 0x1400393a0
lea rdx, [rax - 1]
mov rcx, rbx
call fcn.14000e0e0
lea rax, [0x14005d440]
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 0x140039de3
mov rdi, rbx
add rdi, 1
js 0x14003a2fc
cmp rdi, rbx
jb 0x14003a2fc
mov rax, qword [r14]
test rdi, rdi
js 0x14003948d
cmp rdi, rax
jge 0x14003948d
movzx eax, byte [r14 + rdi + 0x10]
mov rsi, qword [rsp + 0x30]
movzx esi, byte [rsi + rax]
cmp rsi, 0xff
je 0x14003a029
add rdi, 1
jo 0x14003a310
mov rax, qword [rsp + 0x38]
test rax, rax
js 0x140039dcb
test r15, r15
je 0x14003a2ac
mov rdx, qword [r15]
cmp rax, rdx
jl 0x140039443
sub rdx, 1
mov rcx, qword [rsp + 0x38]
call fcn.14000e0e0
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 0x140039cbc
mov qword [rsp + 0x38], rbx
jmp 0x140038c51
mov rcx, qword [rsp + 0x38]
xor edx, edx
movabs r8, 0x7fffffffffffffff
call fcn.14000df40
jmp 0x140038c5d
lea rdx, [rax - 1]
mov rcx, rdi
call fcn.14000e0e0
movzx eax, byte [r14 + rdi + 0x10]
mov rsi, qword [rsp + 0x30]
movzx esi, byte [rsi + rax]
cmp rsi, 0xff
jne 0x14003940c
mov rcx, qword [0x140063390]
mov edx, 0x30
lea rsi, str.ValueError
call fcn.14000b540
mov r12, rax
mov rax, qword [0x140063490]
mov qword [r12 + 0x10], rsi
mov qword [r12], rax
test rdi, rdi
js 0x14003a2b8
mov rax, qword [r14]
cmp rdi, rax
jl 0x140039511
lea rdx, [rax - 1]
mov rcx, rdi
call fcn.14000e0e0
mov rax, qword [r14]
cmp rdi, rax
jl 0x140039511
lea rdx, [rax - 1]
mov rcx, rdi
call fcn.14000e0e0
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 0x140039534
mov rax, qword [rbx]
test r13, r13
je 0x14003953d
add rax, qword [r13]
lea rcx, [rax + 0x38]
call fcn.14000b780
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 0x1400395ef
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 0x140039642
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 0x140039689
mov rax, qword [rdx - 0x10]
lea rcx, [rdx - 0x10]
sub rax, 8
mov qword [rdx - 0x10], rax
cmp rax, 7
ja 0x140039689
mov rax, qword [0x140063740]
mov rdx, rcx
lea rcx, [rax + 0x18]
call fcn.140006cd0
mov rdx, qword [r12 + 8]
mov qword [r12 + 0x18], rbp
test rdx, rdx
je 0x1400396c1
mov rax, qword [rdx - 0x10]
lea rcx, [rdx - 0x10]
sub rax, 8
mov qword [rdx - 0x10], rax
cmp rax, 7
ja 0x1400396c1
mov rax, qword [0x140063740]
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.14000ddf0
jmp 0x14003940c
mov rax, qword [r14]
cmp rbx, rax
jge 0x140039dba
lea rax, [0x14005d440]
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 0x14003a071
mov rdi, rbx
add rdi, 1
js 0x14003a2f2
cmp rdi, rbx
jb 0x14003a2f2
mov rax, qword [r14]
test rdi, rdi
js 0x140039cd0
cmp rdi, rax
jge 0x140039cd0
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 0x1400399b5
mov rcx, qword [0x140063390]
mov edx, 0x30
lea rsi, str.ValueError
call fcn.14000b540
mov rbx, rax
mov rax, qword [0x140063490]
mov qword [rbx + 0x10], rsi
mov qword [rbx], rax
mov rax, qword [r14]
cmp rdi, rax
jl 0x1400397c7
lea rdx, [rax - 1]
mov rcx, rdi
call fcn.14000e0e0
mov rax, qword [r14]
cmp rdi, rax
jl 0x1400397c7
lea rdx, [rax - 1]
mov rcx, rdi
call fcn.14000e0e0
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 0x1400397eb
mov rax, qword [rbp]
test r13, r13
je 0x1400397f4
add rax, qword [r13]
lea rcx, [rax + 0x38]
call fcn.14000b780
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 0x1400398ab
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 0x1400398fe
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 0x140039947
mov rax, qword [rdx - 0x10]
lea rcx, [rdx - 0x10]
sub rax, 8
mov qword [rdx - 0x10], rax
cmp rax, 7
ja 0x140039947
mov rax, qword [0x140063740]
mov rdx, rcx
lea rcx, [rax + 0x18]
call fcn.140006cd0
mov rdx, qword [rbx + 8]
mov qword [rbx + 0x18], r12
test rdx, rdx
je 0x14003997d
mov rax, qword [rdx - 0x10]
lea rcx, [rdx - 0x10]
sub rax, 8
mov qword [rdx - 0x10], rax
cmp rax, 7
ja 0x14003997d
mov rax, qword [0x140063740]
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.14000ddf0
mov byte [rsp + 0x4f], 0xff
mov qword [rsp + 0x50], 0xff
add rdi, 1
mov rbx, rdi
jo 0x14003a306
mov rax, qword [r14]
test rbx, rbx
js 0x140039d49
cmp rbx, rax
jge 0x140039d49
movzx eax, byte [r14 + rbx + 0x10]
mov rsi, qword [rsp + 0x30]
movzx esi, byte [rsi + rax]
cmp rsi, 0xff
jne 0x140039c24
mov rcx, qword [0x140063390]
mov edx, 0x30
lea rsi, str.ValueError
call fcn.14000b540
mov rdi, rax
mov rax, qword [0x140063490]
mov qword [rdi + 0x10], rsi
mov qword [rdi], rax
mov rax, qword [r14]
cmp rbx, rax
jl 0x140039a44
lea rdx, [rax - 1]
mov rcx, rbx
call fcn.14000e0e0
mov rax, qword [r14]
cmp rbx, rax
jl 0x140039a44
lea rdx, [rax - 1]
mov rcx, rbx
call fcn.14000e0e0
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 0x140039a68
mov rax, qword [r13]
test r12, r12
je 0x140039a71
add rax, qword [r12]
lea rcx, [rax + 0x38]
call fcn.14000b780
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 0x140039b25
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 0x140039b79
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 0x140039bbf
mov rax, qword [rdx - 0x10]
lea rcx, [rdx - 0x10]
sub rax, 8
mov qword [rdx - 0x10], rax
cmp rax, 7
ja 0x140039bbf
mov rax, qword [0x140063740]
mov rdx, rcx
lea rcx, [rax + 0x18]
call fcn.140006cd0
mov rdx, qword [rdi + 8]
mov qword [rdi + 0x18], rbp
test rdx, rdx
je 0x140039bf5
mov rax, qword [rdx - 0x10]
lea rcx, [rdx - 0x10]
sub rax, 8
mov qword [rdx - 0x10], rax
cmp rax, 7
ja 0x140039bf5
mov rax, qword [0x140063740]
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.14000ddf0
add rbx, 1
jo 0x14003a31a
mov rax, qword [rsp + 0x38]
test rax, rax
js 0x14003a059
test r15, r15
je 0x14003a01d
mov rdx, qword [r15]
cmp rdx, rax
jg 0x140039c5b
sub rdx, 1
mov rcx, qword [rsp + 0x38]
call fcn.14000e0e0
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 0x14003a2e8
mov rax, qword [r15]
test rbx, rbx
js 0x140039c93
cmp rbx, rax
jl 0x140039c9f
lea rdx, [rax - 1]
mov rcx, rbx
call fcn.14000e0e0
movzx eax, byte [rsp + 0x4f]
sar rsi, 2
shl eax, 4
or eax, esi
mov byte [r15 + rbx + 0x10], al
add rbx, 1
jno 0x140039468
call fcn.140008a30
jmp 0x140039468
lea rdx, [rax - 1]
mov rcx, rdi
call fcn.14000e0e0
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 0x1400399b5
mov rcx, qword [0x140063390]
mov edx, 0x30
lea rsi, str.ValueError
call fcn.14000b540
mov rbx, rax
mov rax, qword [0x140063490]
mov qword [rbx + 0x10], rsi
mov qword [rbx], rax
test rdi, rdi
jns 0x14003979f
mov rax, qword [r14]
mov rcx, rdi
lea rdx, [rax - 1]
call fcn.14000e0e0
mov rax, qword [r14]
jmp 0x1400397bb
lea rdx, [rax - 1]
mov rcx, rbx
call fcn.14000e0e0
movzx eax, byte [r14 + rbx + 0x10]
mov rsi, qword [rsp + 0x30]
movzx esi, byte [rsi + rax]
cmp rsi, 0xff
jne 0x140039c24
mov rcx, qword [0x140063390]
mov edx, 0x30
lea rsi, str.ValueError
call fcn.14000b540
mov rdi, rax
mov rax, qword [0x140063490]
mov qword [rdi + 0x10], rsi
mov qword [rdi], rax
test rbx, rbx
jns 0x140039a1c
mov rax, qword [r14]
mov rcx, rbx
lea rdx, [rax - 1]
call fcn.14000e0e0
mov rax, qword [r14]
jmp 0x140039a38
lea rdx, [rax - 1]
mov rcx, rbx
call fcn.14000e0e0
jmp 0x140039702
mov rdx, 0xffffffffffffffff
test r15, r15
je 0x140039439
mov rdx, qword [r15]
jmp 0x140039435
mov rcx, qword [0x140063390]
mov edx, 0x30
lea rsi, str.ValueError
call fcn.14000b540
mov rdi, rax
mov rax, qword [0x140063490]
mov qword [rdi + 0x10], rsi
mov qword [rdi], rax
mov rax, qword [r14]
cmp rax, rbx
jg 0x140039e34
lea rdx, [rax - 1]
mov rcx, rbx
call fcn.14000e0e0
mov rax, qword [r14]
cmp rax, rbx
jg 0x140039e34
lea rdx, [rax - 1]
mov rcx, rbx
call fcn.14000e0e0
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 0x140039e58
mov rax, qword [r12]
test rbp, rbp
je 0x140039e61
add rax, qword [rbp]
lea rcx, [rax + 0x38]
call fcn.14000b780
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 0x140039f19
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 0x140039f6c
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 0x140039fb3
mov rax, qword [rdx - 0x10]
lea rcx, [rdx - 0x10]
sub rax, 8
mov qword [rdx - 0x10], rax
cmp rax, 7
ja 0x140039fb3
mov rax, qword [0x140063740]
mov rdx, rcx
lea rcx, [rax + 0x18]
call fcn.140006cd0
mov rdx, qword [rdi + 8]
mov qword [rdi + 0x18], r13
test rdx, rdx
je 0x140039fe9
mov rax, qword [rdx - 0x10]
lea rcx, [rdx - 0x10]
sub rax, 8
mov qword [rdx - 0x10], rax
cmp rax, 7
ja 0x140039fe9
mov rax, qword [0x140063740]
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.14000ddf0
mov byte [rsp + 0x40], 0xff
jmp 0x1400393c5
mov rdx, 0xffffffffffffffff
jmp 0x140039c51
mov rcx, qword [0x140063390]
mov edx, 0x30
lea rsi, str.ValueError
call fcn.14000b540
mov r12, rax
mov rax, qword [0x140063490]
mov qword [r12 + 0x10], rsi
mov qword [r12], rax
jmp 0x1400394e9
mov rdx, 0xffffffffffffffff
test r15, r15
je 0x140039c51
mov rdx, qword [r15]
jmp 0x140039c4d
mov rcx, qword [0x140063390]
mov edx, 0x30
lea rsi, str.ValueError
call fcn.14000b540
mov rdi, rax
mov rax, qword [0x140063490]
mov qword [rdi + 0x10], rsi
mov qword [rdi], rax
mov rax, qword [r14]
cmp rbx, rax
jl 0x14003a0c2
lea rdx, [rax - 1]
mov rcx, rbx
call fcn.14000e0e0
mov rax, qword [r14]
cmp rbx, rax
jl 0x14003a0c2
lea rdx, [rax - 1]
mov rcx, rbx
call fcn.14000e0e0
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 0x14003a0e6
mov rax, qword [r12]
test rbp, rbp
je 0x14003a0ef
add rax, qword [rbp]
lea rcx, [rax + 0x38]
call fcn.14000b780
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 0x14003a1a7
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 0x14003a1fa
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 0x14003a242
mov rax, qword [rdx - 0x10]
lea rcx, [rdx - 0x10]
sub rax, 8
mov qword [rdx - 0x10], rax
cmp rax, 7
ja 0x14003a242
mov rax, qword [0x140063740]
mov rdx, rcx
lea rcx, [rax + 0x18]
call fcn.140006cd0
mov rdx, qword [rdi + 8]
mov qword [rdi + 0x18], r13
test rdx, rdx
je 0x14003a278
mov rax, qword [rdx - 0x10]
lea rcx, [rdx - 0x10]
sub rax, 8
mov qword [rdx - 0x10], rax
cmp rax, 7
ja 0x14003a278
mov rax, qword [0x140063740]
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.14000ddf0
mov byte [rsp + 0x40], 0xff
jmp 0x140039727
mov rdx, 0xffffffffffffffff
jmp 0x140039439
mov rax, qword [r14]
mov rcx, rdi
lea rdx, [rax - 1]
call fcn.14000e0e0
mov rax, qword [r14]
jmp 0x140039505
mov ebp, 1
call fcn.140008a30
jmp 0x14003840f
call fcn.140008a30
jmp 0x1400385f6
call fcn.140008a30
jmp 0x140039c86
call fcn.140008a30
jmp 0x14003973d
call fcn.140008a30
jmp 0x1400393db
call fcn.140008a30
jmp 0x1400399c2
call fcn.140008a30
jmp 0x140039416
call fcn.140008a30
jmp 0x140039c2e
mov qword [rsp + 0x30], r8
call fcn.140008a30
mov r8, qword [rsp + 0x30]
jmp 0x140038443
call fcn.140008a30
jmp 0x1400383c5
call fcn.140008a30
jmp 0x1400384be
call fcn.140008a30
jmp 0x1400384fd
call fcn.140008a30
jmp 0x140038537
call fcn.140008a30
jmp 0x1400385c0