Function at 0x140038690
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 0x1400395c2
mov rax, qword [rcx]
test rax, rax
je 0x1400395c2
imul rbx, rax, 3
jo 0x14003a638
test rbx, rbx
lea rax, [rbx + 3]
cmovns rax, rbx
sar rax, 2
add rax, 6
js 0x140039606
movabs rdi, 0xdffffffeffffdbff
mov rdx, rax
xor ecx, ecx
call fcn.14000b410
mov rsi, qword [r14]
mov r15, rax
nop dword [rax + rax]
mov rbx, rsi
xor ebp, ebp
sub rbx, 1
jo 0x14003a5cf
mov rdx, qword [r14]
test rbx, rbx
js 0x14003871c
cmp rbx, rdx
jl 0x140038728
sub rdx, 1
mov rcx, rbx
call fcn.14000d680
movzx eax, byte [r14 + rbx + 0x10]
cmp al, 0x3d
jbe 0x140038980
mov r8, rsi
sub r8, 4
jo 0x14003a624
test r8, r8
js 0x140039629
mov rax, qword [0x140068500]
xor edi, edi
mov qword [rsp + 0x78], rsi
xor ebx, ebx
mov qword [rsp + 0x50], r8
lea r12, [0x1400613c0]
mov rsi, rdi
add rax, 0x18
mov qword [rsp + 0x70], rax
jmp 0x140038934
mov rdx, qword [r14]
test rbx, rbx
js 0x140038f90
cmp rbx, rdx
jl 0x1400387a3
sub rdx, 1
mov rcx, rbx
call fcn.14000d680
movzx eax, byte [r14 + rbx + 0x10]
movzx eax, byte [r12 + rax]
mov byte [rsp + 0x4f], al
cmp al, 0xff
je 0x1400394f0
add rbx, 1
jo 0x14003a642
mov rdx, qword [r14]
test rbx, rbx
js 0x140038c40
cmp rbx, rdx
jge 0x140038c40
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 0x14003958f
add rbx, 1
jo 0x14003a64c
mov rdx, qword [r14]
test rbx, rbx
js 0x1400389b0
cmp rbx, rdx
jge 0x1400389b0
movzx eax, byte [r14 + rbx + 0x10]
movzx ebp, byte [r12 + rax]
mov rdi, rbp
cmp rbp, 0xff
je 0x14003955c
add rbx, 1
jo 0x14003a656
mov rdx, qword [r14]
test rbx, rbx
js 0x1400391f0
cmp rbx, rdx
jl 0x140038854
sub rdx, 1
mov rcx, rbx
call fcn.14000d680
movzx eax, byte [r14 + rbx + 0x10]
movzx r13d, byte [r12 + rax]
cmp r13b, 0xff
je 0x140039490
add rbx, 1
mov qword [rsp + 0x30], rbx
jo 0x140038f80
test rsi, rsi
js 0x140038ed0
test r15, r15
je 0x140039550
mov rdx, qword [r15]
cmp rdx, rsi
jg 0x14003889e
sub rdx, 1
mov rcx, rsi
call fcn.14000d680
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 0x14003a660
mov rdx, qword [r15]
test rsi, rsi
js 0x1400388cd
cmp rsi, rdx
jl 0x1400388d9
sub rdx, 1
mov rcx, rsi
call fcn.14000d680
movzx eax, byte [rsp + 0x38]
sar rbp, 2
shl eax, 4
or ebp, eax
mov byte [r15 + rsi + 0x10], bpl
add rsi, 1
jo 0x14003a5de
mov rdx, qword [r15]
test rsi, rsi
js 0x140038903
cmp rsi, rdx
jl 0x14003890f
sub rdx, 1
mov rcx, rsi
call fcn.14000d680
shl edi, 6
or edi, r13d
mov byte [r15 + rsi + 0x10], dil
add rsi, 1
jo 0x140038ef0
mov rdi, qword [rsp + 0x30]
cmp qword [rsp + 0x50], rdi
jl 0x140038f05
movabs rdi, 0xfffffffeffffdbff
nop
mov rdx, qword [r14]
test rbx, rbx
js 0x14003894d
cmp rbx, rdx
jl 0x140038959
sub rdx, 1
mov rcx, rbx
call fcn.14000d680
movzx eax, byte [r14 + rbx + 0x10]
cmp al, 0x20
ja 0x140038780
bt rdi, rax
jb 0x140038780
add rbx, 1
jno 0x140038940
call fcn.140007f90
jmp 0x140038940
bt rdi, rax
jb 0x140038736
test rbp, rbp
jne 0x1400389a0
mov rsi, rbx
jmp 0x140038700
call fcn.140007f90
jmp 0x14003898f
sub rdx, 1
mov rcx, rbx
call fcn.14000d680
movzx eax, byte [r14 + rbx + 0x10]
movzx ebp, byte [r12 + rax]
mov rdi, rbp
cmp rbp, 0xff
jne 0x14003882d
mov rcx, qword [0x140068100]
mov edx, 0x30
call fcn.14000aaa0
mov rdi, rax
mov rax, qword [0x140068230]
mov qword [rdi], rax
lea rax, str.ValueError
mov qword [rsp + 0x30], rax
mov qword [rdi + 0x10], rax
test rbx, rbx
js 0x1400395ef
mov rax, qword [r14]
cmp rbx, rax
jl 0x140038a36
lea rdx, [rax - 1]
mov rcx, rbx
call fcn.14000d680
mov rax, qword [r14]
cmp rbx, rax
jl 0x140038a36
lea rdx, [rax - 1]
mov rcx, rbx
call fcn.14000d680
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 0x140038a60
mov rcx, qword [r9]
test r13, r13
je 0x140038a69
add rcx, qword [r13]
add rcx, 0x38
mov qword [rsp + 0x58], r9
call fcn.14000ace0
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 0x140038b2a
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 0x140038b7d
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 0x140038bc5
mov rdx, qword [rax - 0x10]
lea rcx, [rax - 0x10]
sub rdx, 8
mov qword [rax - 0x10], rdx
cmp rdx, 7
ja 0x140038bc5
mov rax, qword [0x140068500]
mov rdx, rcx
lea rcx, [rax + 0x18]
call fcn.140006230
mov rax, qword [rdi + 8]
mov qword [rdi + 0x18], rbp
test rax, rax
je 0x140038bfb
mov rdx, qword [rax - 0x10]
lea rcx, [rax - 0x10]
sub rdx, 8
mov qword [rax - 0x10], rdx
cmp rdx, 7
ja 0x140038bfb
mov rax, qword [0x140068500]
mov rdx, rcx
lea rcx, [rax + 0x18]
call fcn.140006230
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.14000d390
jmp 0x14003882d
sub rdx, 1
mov rcx, rbx
call fcn.14000d680
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 0x1400387f3
mov rcx, qword [0x140068100]
mov edx, 0x30
call fcn.14000aaa0
mov rdi, rax
mov rax, qword [0x140068230]
mov qword [rdi], rax
lea rax, str.ValueError
mov qword [rsp + 0x30], rax
mov qword [rdi + 0x10], rax
test rbx, rbx
js 0x1400395d8
mov rax, qword [r14]
cmp rbx, rax
jl 0x140038ccb
lea rdx, [rax - 1]
mov rcx, rbx
call fcn.14000d680
mov rax, qword [r14]
cmp rbx, rax
jl 0x140038ccb
lea rdx, [rax - 1]
mov rcx, rbx
call fcn.14000d680
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 0x140038cf5
mov rcx, qword [r9]
test r13, r13
je 0x140038cfe
add rcx, qword [r13]
add rcx, 0x38
mov qword [rsp + 0x38], r9
call fcn.14000ace0
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 0x140038dc1
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 0x140038e14
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 0x140038e5a
mov rdx, qword [rax - 0x10]
lea rcx, [rax - 0x10]
sub rdx, 8
mov qword [rax - 0x10], rdx
cmp rdx, 7
ja 0x140038e5a
mov rax, qword [0x140068500]
mov rdx, rcx
lea rcx, [rax + 0x18]
call fcn.140006230
mov rax, qword [rdi + 8]
mov qword [rdi + 0x18], rbp
test rax, rax
je 0x140038e90
mov rdx, qword [rax - 0x10]
lea rcx, [rax - 0x10]
sub rdx, 8
mov qword [rax - 0x10], rdx
cmp rdx, 7
ja 0x140038e90
mov rax, qword [0x140068500]
mov rdx, rcx
lea rcx, [rax + 0x18]
call fcn.140006230
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.14000d390
mov byte [rsp + 0x38], 0xff
mov qword [rsp + 0x40], 0xff
jmp 0x1400387f3
mov rdx, 0xffffffffffffffff
test r15, r15
je 0x140038896
mov rdx, qword [r15]
jmp 0x140038892
call fcn.140007f90
mov rdi, qword [rsp + 0x30]
cmp qword [rsp + 0x50], rdi
jge 0x140038934
mov qword [rsp + 0x38], rsi
mov rsi, qword [rsp + 0x78]
mov rax, rdi
sub rax, rsi
mov rdi, rax
jo 0x140039682
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 0x14003968c
cmp rax, 3
je 0x1400399f6
cmp qword [rsp + 0x38], 0
js 0x140039772
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.14000b410
call fcn.140007f90
jmp 0x140038878
sub rdx, 1
mov rcx, rbx
call fcn.14000d680
movzx eax, byte [r14 + rbx + 0x10]
movzx eax, byte [r12 + rax]
mov byte [rsp + 0x4f], al
cmp al, 0xff
jne 0x1400387b4
mov rcx, qword [0x140068100]
mov edx, 0x30
call fcn.14000aaa0
mov rcx, rbx
mov rbp, rax
mov rax, qword [0x140068230]
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.14000d680
mov rax, qword [r14]
lea rdx, [rax - 1]
mov rcx, rbx
call fcn.14000d680
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 0x140039024
mov rcx, qword [r13]
test r9, r9
je 0x14003902c
add rcx, qword [r9]
add rcx, 0x38
mov qword [rsp + 0x38], r9
call fcn.14000ace0
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 0x1400390ea
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 0x140039141
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 0x140039188
mov rdx, qword [rax - 0x10]
lea rcx, [rax - 0x10]
sub rdx, 8
mov qword [rax - 0x10], rdx
cmp rdx, 7
ja 0x140039188
mov rax, qword [0x140068500]
mov rdx, rcx
lea rcx, [rax + 0x18]
call fcn.140006230
mov rax, qword [rbp + 8]
mov qword [rbp + 0x18], rdi
test rax, rax
je 0x1400391b8
mov rdi, qword [rax - 0x10]
lea rcx, [rax - 0x10]
lea rdx, [rdi - 8]
mov qword [rax - 0x10], rdx
cmp rdx, 7
ja 0x1400391b8
mov rdx, rcx
mov rcx, qword [rsp + 0x70]
call fcn.140006230
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.14000d390
mov byte [rsp + 0x4f], 0xff
jmp 0x1400387b4
sub rdx, 1
mov rcx, rbx
call fcn.14000d680
movzx eax, byte [r14 + rbx + 0x10]
movzx r13d, byte [r12 + rax]
cmp r13b, 0xff
jne 0x140038869
mov rcx, qword [0x140068100]
mov edx, 0x30
call fcn.14000aaa0
mov rcx, rbx
mov r13, rax
mov rax, qword [0x140068230]
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.14000d680
mov rax, qword [r14]
lea rdx, [rax - 1]
mov rcx, rbx
call fcn.14000d680
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 0x140039288
mov rcx, qword [r11]
test r10, r10
je 0x140039290
add rcx, qword [r10]
add rcx, 0x38
mov qword [rsp + 0x60], r10
mov qword [rsp + 0x58], r11
call fcn.14000ace0
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 0x14003936b
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 0x1400393cc
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 0x14003941d
mov rdx, qword [rax - 0x10]
lea rcx, [rax - 0x10]
sub rdx, 8
mov qword [rax - 0x10], rdx
cmp rdx, 7
ja 0x14003941d
mov rax, qword [0x140068500]
mov rdx, rcx
mov qword [rsp + 0x58], r9
lea rcx, [rax + 0x18]
call fcn.140006230
mov r9, qword [rsp + 0x58]
mov rax, qword [r13 + 8]
mov qword [r13 + 0x18], r9
test rax, rax
je 0x140039453
mov rdx, qword [rax - 0x10]
lea rcx, [rax - 0x10]
sub rdx, 8
mov qword [rax - 0x10], rdx
cmp rdx, 7
ja 0x140039453
mov rax, qword [0x140068500]
mov rdx, rcx
lea rcx, [rax + 0x18]
call fcn.140006230
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.14000d390
jmp 0x140038869
mov rcx, qword [0x140068100]
mov edx, 0x30
call fcn.14000aaa0
mov r13, rax
mov rax, qword [0x140068230]
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 0x14003925e
lea rdx, [rax - 1]
mov rcx, rbx
call fcn.14000d680
mov rax, qword [r14]
cmp rbx, rax
jge 0x140039252
jmp 0x14003925e
mov rcx, qword [0x140068100]
mov edx, 0x30
call fcn.14000aaa0
mov rbp, rax
mov rax, qword [0x140068230]
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 0x140039000
lea rdx, [rax - 1]
mov rcx, rbx
call fcn.14000d680
mov rax, qword [r14]
cmp rbx, rax
jge 0x140038ff4
jmp 0x140039000
mov rdx, 0xffffffffffffffff
jmp 0x140038896
mov rcx, qword [0x140068100]
mov edx, 0x30
call fcn.14000aaa0
mov rdi, rax
mov rax, qword [0x140068230]
mov qword [rdi], rax
lea rax, str.ValueError
mov qword [rsp + 0x30], rax
mov qword [rdi + 0x10], rax
jmp 0x140038a0e
mov rcx, qword [0x140068100]
mov edx, 0x30
call fcn.14000aaa0
mov rdi, rax
mov rax, qword [0x140068230]
mov qword [rdi], rax
lea rax, str.ValueError
mov qword [rsp + 0x30], rax
mov qword [rdi + 0x10], rax
jmp 0x140038ca3
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.14000d680
mov rax, qword [r14]
jmp 0x140038cbf
mov rax, qword [r14]
mov rcx, rbx
lea rdx, [rax - 1]
call fcn.14000d680
mov rax, qword [r14]
jmp 0x140038a2a
mov rcx, rax
xor edx, edx
mov qword [rsp + 0x30], rax
movabs r8, 0x7fffffffffffffff
call fcn.14000d4e0
mov rax, qword [rsp + 0x30]
jmp 0x1400386de
neg rsi
seto al
mov rdi, rsi
movzx eax, al
mov qword [rsp + 0x38], rax
jo 0x140039677
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 0x14003968c
cmp rax, 3
jne 0x140038f5d
mov rax, qword [r14]
xor ebx, ebx
jmp 0x1400399f9
mov qword [rsp + 0x38], 0
xor ebx, ebx
call fcn.140007f90
jmp 0x140038f1e
mov rax, qword [r14]
cmp rax, rbx
jg 0x1400396a0
lea rdx, [rax - 1]
mov rcx, rbx
call fcn.14000d680
lea rax, [0x1400613c0]
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 0x14003a0e3
mov rdi, rbx
add rdi, 1
js 0x14003a5fc
cmp rdi, rbx
jb 0x14003a5fc
mov rax, qword [r14]
test rdi, rdi
js 0x14003978d
cmp rdi, rax
jge 0x14003978d
movzx eax, byte [r14 + rdi + 0x10]
mov rsi, qword [rsp + 0x30]
movzx esi, byte [rsi + rax]
cmp rsi, 0xff
je 0x14003a329
add rdi, 1
jo 0x14003a610
mov rax, qword [rsp + 0x38]
test rax, rax
js 0x14003a0cb
test r15, r15
je 0x14003a5ac
mov rdx, qword [r15]
cmp rax, rdx
jl 0x140039743
sub rdx, 1
mov rcx, qword [rsp + 0x38]
call fcn.14000d680
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 0x140039fbc
mov qword [rsp + 0x38], rbx
jmp 0x140038f51
mov rcx, qword [rsp + 0x38]
xor edx, edx
movabs r8, 0x7fffffffffffffff
call fcn.14000d4e0
jmp 0x140038f5d
lea rdx, [rax - 1]
mov rcx, rdi
call fcn.14000d680
movzx eax, byte [r14 + rdi + 0x10]
mov rsi, qword [rsp + 0x30]
movzx esi, byte [rsi + rax]
cmp rsi, 0xff
jne 0x14003970c
mov rcx, qword [0x140068100]
mov edx, 0x30
lea rsi, str.ValueError
call fcn.14000aaa0
mov r12, rax
mov rax, qword [0x140068230]
mov qword [r12 + 0x10], rsi
mov qword [r12], rax
test rdi, rdi
js 0x14003a5b8
mov rax, qword [r14]
cmp rdi, rax
jl 0x140039811
lea rdx, [rax - 1]
mov rcx, rdi
call fcn.14000d680
mov rax, qword [r14]
cmp rdi, rax
jl 0x140039811
lea rdx, [rax - 1]
mov rcx, rdi
call fcn.14000d680
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 0x140039834
mov rax, qword [rbx]
test r13, r13
je 0x14003983d
add rax, qword [r13]
lea rcx, [rax + 0x38]
call fcn.14000ace0
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 0x1400398ef
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 0x140039942
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 0x140039989
mov rax, qword [rdx - 0x10]
lea rcx, [rdx - 0x10]
sub rax, 8
mov qword [rdx - 0x10], rax
cmp rax, 7
ja 0x140039989
mov rax, qword [0x140068500]
mov rdx, rcx
lea rcx, [rax + 0x18]
call fcn.140006230
mov rdx, qword [r12 + 8]
mov qword [r12 + 0x18], rbp
test rdx, rdx
je 0x1400399c1
mov rax, qword [rdx - 0x10]
lea rcx, [rdx - 0x10]
sub rax, 8
mov qword [rdx - 0x10], rax
cmp rax, 7
ja 0x1400399c1
mov rax, qword [0x140068500]
mov rdx, rcx
lea rcx, [rax + 0x18]
call fcn.140006230
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.14000d390
jmp 0x14003970c
mov rax, qword [r14]
cmp rbx, rax
jge 0x14003a0ba
lea rax, [0x1400613c0]
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 0x14003a371
mov rdi, rbx
add rdi, 1
js 0x14003a5f2
cmp rdi, rbx
jb 0x14003a5f2
mov rax, qword [r14]
test rdi, rdi
js 0x140039fd0
cmp rdi, rax
jge 0x140039fd0
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 0x140039cb5
mov rcx, qword [0x140068100]
mov edx, 0x30
lea rsi, str.ValueError
call fcn.14000aaa0
mov rbx, rax
mov rax, qword [0x140068230]
mov qword [rbx + 0x10], rsi
mov qword [rbx], rax
mov rax, qword [r14]
cmp rdi, rax
jl 0x140039ac7
lea rdx, [rax - 1]
mov rcx, rdi
call fcn.14000d680
mov rax, qword [r14]
cmp rdi, rax
jl 0x140039ac7
lea rdx, [rax - 1]
mov rcx, rdi
call fcn.14000d680
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 0x140039aeb
mov rax, qword [rbp]
test r13, r13
je 0x140039af4
add rax, qword [r13]
lea rcx, [rax + 0x38]
call fcn.14000ace0
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 0x140039bab
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 0x140039bfe
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 0x140039c47
mov rax, qword [rdx - 0x10]
lea rcx, [rdx - 0x10]
sub rax, 8
mov qword [rdx - 0x10], rax
cmp rax, 7
ja 0x140039c47
mov rax, qword [0x140068500]
mov rdx, rcx
lea rcx, [rax + 0x18]
call fcn.140006230
mov rdx, qword [rbx + 8]
mov qword [rbx + 0x18], r12
test rdx, rdx
je 0x140039c7d
mov rax, qword [rdx - 0x10]
lea rcx, [rdx - 0x10]
sub rax, 8
mov qword [rdx - 0x10], rax
cmp rax, 7
ja 0x140039c7d
mov rax, qword [0x140068500]
mov rdx, rcx
lea rcx, [rax + 0x18]
call fcn.140006230
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.14000d390
mov byte [rsp + 0x4f], 0xff
mov qword [rsp + 0x50], 0xff
add rdi, 1
mov rbx, rdi
jo 0x14003a606
mov rax, qword [r14]
test rbx, rbx
js 0x14003a049
cmp rbx, rax
jge 0x14003a049
movzx eax, byte [r14 + rbx + 0x10]
mov rsi, qword [rsp + 0x30]
movzx esi, byte [rsi + rax]
cmp rsi, 0xff
jne 0x140039f24
mov rcx, qword [0x140068100]
mov edx, 0x30
lea rsi, str.ValueError
call fcn.14000aaa0
mov rdi, rax
mov rax, qword [0x140068230]
mov qword [rdi + 0x10], rsi
mov qword [rdi], rax
mov rax, qword [r14]
cmp rbx, rax
jl 0x140039d44
lea rdx, [rax - 1]
mov rcx, rbx
call fcn.14000d680
mov rax, qword [r14]
cmp rbx, rax
jl 0x140039d44
lea rdx, [rax - 1]
mov rcx, rbx
call fcn.14000d680
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 0x140039d68
mov rax, qword [r13]
test r12, r12
je 0x140039d71
add rax, qword [r12]
lea rcx, [rax + 0x38]
call fcn.14000ace0
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 0x140039e25
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 0x140039e79
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 0x140039ebf
mov rax, qword [rdx - 0x10]
lea rcx, [rdx - 0x10]
sub rax, 8
mov qword [rdx - 0x10], rax
cmp rax, 7
ja 0x140039ebf
mov rax, qword [0x140068500]
mov rdx, rcx
lea rcx, [rax + 0x18]
call fcn.140006230
mov rdx, qword [rdi + 8]
mov qword [rdi + 0x18], rbp
test rdx, rdx
je 0x140039ef5
mov rax, qword [rdx - 0x10]
lea rcx, [rdx - 0x10]
sub rax, 8
mov qword [rdx - 0x10], rax
cmp rax, 7
ja 0x140039ef5
mov rax, qword [0x140068500]
mov rdx, rcx
lea rcx, [rax + 0x18]
call fcn.140006230
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.14000d390
add rbx, 1
jo 0x14003a61a
mov rax, qword [rsp + 0x38]
test rax, rax
js 0x14003a359
test r15, r15
je 0x14003a31d
mov rdx, qword [r15]
cmp rdx, rax
jg 0x140039f5b
sub rdx, 1
mov rcx, qword [rsp + 0x38]
call fcn.14000d680
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 0x14003a5e8
mov rax, qword [r15]
test rbx, rbx
js 0x140039f93
cmp rbx, rax
jl 0x140039f9f
lea rdx, [rax - 1]
mov rcx, rbx
call fcn.14000d680
movzx eax, byte [rsp + 0x4f]
sar rsi, 2
shl eax, 4
or eax, esi
mov byte [r15 + rbx + 0x10], al
add rbx, 1
jno 0x140039768
call fcn.140007f90
jmp 0x140039768
lea rdx, [rax - 1]
mov rcx, rdi
call fcn.14000d680
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 0x140039cb5
mov rcx, qword [0x140068100]
mov edx, 0x30
lea rsi, str.ValueError
call fcn.14000aaa0
mov rbx, rax
mov rax, qword [0x140068230]
mov qword [rbx + 0x10], rsi
mov qword [rbx], rax
test rdi, rdi
jns 0x140039a9f
mov rax, qword [r14]
mov rcx, rdi
lea rdx, [rax - 1]
call fcn.14000d680
mov rax, qword [r14]
jmp 0x140039abb
lea rdx, [rax - 1]
mov rcx, rbx
call fcn.14000d680
movzx eax, byte [r14 + rbx + 0x10]
mov rsi, qword [rsp + 0x30]
movzx esi, byte [rsi + rax]
cmp rsi, 0xff
jne 0x140039f24
mov rcx, qword [0x140068100]
mov edx, 0x30
lea rsi, str.ValueError
call fcn.14000aaa0
mov rdi, rax
mov rax, qword [0x140068230]
mov qword [rdi + 0x10], rsi
mov qword [rdi], rax
test rbx, rbx
jns 0x140039d1c
mov rax, qword [r14]
mov rcx, rbx
lea rdx, [rax - 1]
call fcn.14000d680
mov rax, qword [r14]
jmp 0x140039d38
lea rdx, [rax - 1]
mov rcx, rbx
call fcn.14000d680
jmp 0x140039a02
mov rdx, 0xffffffffffffffff
test r15, r15
je 0x140039739
mov rdx, qword [r15]
jmp 0x140039735
mov rcx, qword [0x140068100]
mov edx, 0x30
lea rsi, str.ValueError
call fcn.14000aaa0
mov rdi, rax
mov rax, qword [0x140068230]
mov qword [rdi + 0x10], rsi
mov qword [rdi], rax
mov rax, qword [r14]
cmp rax, rbx
jg 0x14003a134
lea rdx, [rax - 1]
mov rcx, rbx
call fcn.14000d680
mov rax, qword [r14]
cmp rax, rbx
jg 0x14003a134
lea rdx, [rax - 1]
mov rcx, rbx
call fcn.14000d680
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 0x14003a158
mov rax, qword [r12]
test rbp, rbp
je 0x14003a161
add rax, qword [rbp]
lea rcx, [rax + 0x38]
call fcn.14000ace0
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 0x14003a219
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 0x14003a26c
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 0x14003a2b3
mov rax, qword [rdx - 0x10]
lea rcx, [rdx - 0x10]
sub rax, 8
mov qword [rdx - 0x10], rax
cmp rax, 7
ja 0x14003a2b3
mov rax, qword [0x140068500]
mov rdx, rcx
lea rcx, [rax + 0x18]
call fcn.140006230
mov rdx, qword [rdi + 8]
mov qword [rdi + 0x18], r13
test rdx, rdx
je 0x14003a2e9
mov rax, qword [rdx - 0x10]
lea rcx, [rdx - 0x10]
sub rax, 8
mov qword [rdx - 0x10], rax
cmp rax, 7
ja 0x14003a2e9
mov rax, qword [0x140068500]
mov rdx, rcx
lea rcx, [rax + 0x18]
call fcn.140006230
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.14000d390
mov byte [rsp + 0x40], 0xff
jmp 0x1400396c5
mov rdx, 0xffffffffffffffff
jmp 0x140039f51
mov rcx, qword [0x140068100]
mov edx, 0x30
lea rsi, str.ValueError
call fcn.14000aaa0
mov r12, rax
mov rax, qword [0x140068230]
mov qword [r12 + 0x10], rsi
mov qword [r12], rax
jmp 0x1400397e9
mov rdx, 0xffffffffffffffff
test r15, r15
je 0x140039f51
mov rdx, qword [r15]
jmp 0x140039f4d
mov rcx, qword [0x140068100]
mov edx, 0x30
lea rsi, str.ValueError
call fcn.14000aaa0
mov rdi, rax
mov rax, qword [0x140068230]
mov qword [rdi + 0x10], rsi
mov qword [rdi], rax
mov rax, qword [r14]
cmp rbx, rax
jl 0x14003a3c2
lea rdx, [rax - 1]
mov rcx, rbx
call fcn.14000d680
mov rax, qword [r14]
cmp rbx, rax
jl 0x14003a3c2
lea rdx, [rax - 1]
mov rcx, rbx
call fcn.14000d680
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 0x14003a3e6
mov rax, qword [r12]
test rbp, rbp
je 0x14003a3ef
add rax, qword [rbp]
lea rcx, [rax + 0x38]
call fcn.14000ace0
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 0x14003a4a7
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 0x14003a4fa
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 0x14003a542
mov rax, qword [rdx - 0x10]
lea rcx, [rdx - 0x10]
sub rax, 8
mov qword [rdx - 0x10], rax
cmp rax, 7
ja 0x14003a542
mov rax, qword [0x140068500]
mov rdx, rcx
lea rcx, [rax + 0x18]
call fcn.140006230
mov rdx, qword [rdi + 8]
mov qword [rdi + 0x18], r13
test rdx, rdx
je 0x14003a578
mov rax, qword [rdx - 0x10]
lea rcx, [rdx - 0x10]
sub rax, 8
mov qword [rdx - 0x10], rax
cmp rax, 7
ja 0x14003a578
mov rax, qword [0x140068500]
mov rdx, rcx
lea rcx, [rax + 0x18]
call fcn.140006230
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.14000d390
mov byte [rsp + 0x40], 0xff
jmp 0x140039a27
mov rdx, 0xffffffffffffffff
jmp 0x140039739
mov rax, qword [r14]
mov rcx, rdi
lea rdx, [rax - 1]
call fcn.14000d680
mov rax, qword [r14]
jmp 0x140039805
mov ebp, 1
call fcn.140007f90
jmp 0x14003870f
call fcn.140007f90
jmp 0x1400388f6
call fcn.140007f90
jmp 0x140039f86
call fcn.140007f90
jmp 0x140039a3d
call fcn.140007f90
jmp 0x1400396db
call fcn.140007f90
jmp 0x140039cc2
call fcn.140007f90
jmp 0x140039716
call fcn.140007f90
jmp 0x140039f2e
mov qword [rsp + 0x30], r8
call fcn.140007f90
mov r8, qword [rsp + 0x30]
jmp 0x140038743
call fcn.140007f90
jmp 0x1400386c5
call fcn.140007f90
jmp 0x1400387be
call fcn.140007f90
jmp 0x1400387fd
call fcn.140007f90
jmp 0x140038837
call fcn.140007f90
jmp 0x1400388c0