Function at 0x14003e210
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 rsi, rcx
test rcx, rcx
je 0x14003f139
mov rax, qword [rcx]
test rax, rax
je 0x14003f139
imul rbx, rax, 3
jo 0x140040136
test rbx, rbx
lea rax, [rbx + 3]
cmovns rax, rbx
sar rax, 2
add rax, 6
mov r12, rax
js 0x14003f258
movabs rdi, 0xdffffffeffffdbff
mov rdx, r12
xor ecx, ecx
call fcn.14000bac0
mov qword [rsp + 0x38], rax
mov rax, qword [rsi]
mov rbp, rax
mov rbx, rbp
xor r12d, r12d
sub rbx, 1
jo 0x1400400bd
mov rdx, qword [rsi]
test rbx, rbx
js 0x14003e29d
cmp rbx, rdx
jl 0x14003e2a9
sub rdx, 1
mov rcx, rbx
call fcn.14000d860
movzx eax, byte [rsi + rbx + 0x10]
cmp al, 0x3d
jbe 0x14003e5a0
mov qword [rsp + 0x78], rbp
sub rbp, 4
mov qword [rsp + 0x50], rbp
jo 0x1400400ff
cmp qword [rsp + 0x50], 0
js 0x14003f68f
lea rax, [0x1400837c0]
cmp qword [rsp + 0x38], 0
mov qword [rsp + 0x48], 0
movabs r13, 0xfffffffeffffdbff
mov qword [rsp + 0x40], rax
setne byte [rsp + 0x5f]
xor ebx, ebx
nop word [rax + rax]
mov rdx, qword [rsi]
test rbx, rbx
js 0x14003e315
cmp rbx, rdx
jl 0x14003e321
sub rdx, 1
mov rcx, rbx
call fcn.14000d860
movzx eax, byte [rsi + rbx + 0x10]
cmp al, 0x20
jbe 0x14003e580
mov rdx, qword [rsi]
test rbx, rbx
js 0x14003ed60
cmp rbx, rdx
jl 0x14003eb00
sub rdx, 1
mov rcx, rbx
call fcn.14000d860
movzx eax, byte [rsi + rbx + 0x10]
mov rdi, qword [rsp + 0x40]
movzx eax, byte [rdi + rax]
cmp al, 0xff
je 0x14003eb11
shl eax, 2
mov byte [rsp + 0x5e], al
add rbx, 1
jo 0x14004012c
mov rdx, qword [rsi]
test rbx, rbx
js 0x14003e868
cmp rbx, rdx
jge 0x14003e868
movzx eax, byte [rsi + rbx + 0x10]
mov rdi, qword [rsp + 0x40]
movzx edi, byte [rdi + rax]
cmp rdi, 0xff
je 0x14003f0dd
mov rbp, rdi
shl edi, 4
sar rbp, 4
add rbx, 1
jo 0x140040118
mov rdx, qword [rsi]
test rbx, rbx
js 0x14003e5d0
cmp rbx, rdx
jge 0x14003e5d0
movzx eax, byte [rsi + rbx + 0x10]
mov rcx, qword [rsp + 0x40]
movzx eax, byte [rcx + rax]
cmp rax, 0xff
je 0x14003f0af
mov r14, rax
mov r15d, eax
sar r14, 2
shl r15d, 6
add rbx, 1
jo 0x140040122
mov rdx, qword [rsi]
test rbx, rbx
js 0x14003edc8
cmp rbx, rdx
jl 0x14003e41e
sub rdx, 1
mov rcx, rbx
call fcn.14000d860
movzx eax, byte [rsi + rbx + 0x10]
mov rcx, qword [rsp + 0x40]
movzx r12d, byte [rcx + rax]
cmp r12b, 0xff
je 0x14003ee30
or r12d, r15d
add rbx, 1
mov r15, rbx
jo 0x14003ed40
mov rax, qword [rsp + 0x48]
test rax, rax
js 0x14003ead0
cmp byte [rsp + 0x5f], 0
je 0x14003ead0
mov rcx, qword [rsp + 0x38]
mov rdx, qword [rcx]
cmp rdx, rax
jle 0x14003eae4
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x38]
or bpl, byte [rsp + 0x5e]
mov byte [rcx + rax + 0x10], bpl
mov rbp, rax
add rbp, 1
jo 0x140040154
mov rax, qword [rsp + 0x38]
mov rdx, qword [rax]
test rbp, rbp
js 0x14003e4a4
cmp rbp, rdx
jl 0x14003e4b0
sub rdx, 1
mov rcx, rbp
call fcn.14000d860
mov rax, qword [rsp + 0x38]
or edi, r14d
mov byte [rax + rbp + 0x10], dil
mov rdi, rbp
add rdi, 1
jo 0x14004014a
mov rax, qword [rsp + 0x38]
mov rdx, qword [rax]
test rdi, rdi
js 0x14003e4dc
cmp rdi, rdx
jl 0x14003e4e8
sub rdx, 1
mov rcx, rdi
call fcn.14000d860
mov rax, qword [rsp + 0x38]
mov byte [rax + rdi + 0x10], r12b
add rdi, 1
mov qword [rsp + 0x48], rdi
jo 0x14003ed50
cmp qword [rsp + 0x50], r15
jge 0x14003e308
mov rdi, rbx
sub rdi, qword [rsp + 0x78]
jo 0x140040140
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 0x14003f14f
cmp rax, 3
je 0x14003f271
cmp qword [rsp + 0x48], 0
js 0x14003f23d
mov rdx, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x38]
add rsp, 0x88
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp fcn.14000bac0
bt r13, rax
jb 0x14003e32e
add rbx, 1
jno 0x14003e308
call fcn.1400091f0
jmp 0x14003e308
bt rdi, rax
jb 0x14003e2b6
test r12, r12
jne 0x14003e5c0
mov rbp, rbx
jmp 0x14003e280
call fcn.1400091f0
jmp 0x14003e5af
mov rcx, rbx
sub rdx, 1
call fcn.14000d860
movzx eax, byte [rsi + rbx + 0x10]
mov rcx, qword [rsp + 0x40]
movzx eax, byte [rcx + rax]
cmp rax, 0xff
jne 0x14003e3e9
mov rcx, qword [0x1400a2440]
mov edx, 0x30
lea r12, str.ValueError
call fcn.14000b890
mov r14, rax
mov rax, qword [0x1400a25d0]
mov qword [r14 + 0x10], r12
mov qword [r14], rax
test rbx, rbx
js 0x14003f122
mov rax, qword [rsi]
cmp rbx, rax
jl 0x14003e650
lea rdx, [rax - 1]
mov rcx, rbx
call fcn.14000d860
mov rax, qword [rsi]
cmp rbx, rax
jl 0x14003e650
lea rdx, [rax - 1]
mov rcx, rbx
call fcn.14000d860
movzx ecx, byte [rsi + rbx + 0x10]
call fcn.140002120
mov rcx, rbx
mov qword [rsp + 0x60], rax
call fcn.140002120
mov r10, qword [rsp + 0x60]
xor ecx, ecx
mov r9, rax
test r10, r10
je 0x14003e679
mov rcx, qword [r10]
test r9, r9
je 0x14003e681
add rcx, qword [r9]
add rcx, 0x38
mov qword [rsp + 0x68], r9
mov qword [rsp + 0x60], r10
call fcn.14000ba40
mov r8d, 0x60
mov r10, qword [rsp + 0x60]
movabs rdx, 0x2064696c61766e49
mov r15, rax
mov rax, qword [rax]
mov r9, qword [rsp + 0x68]
movabs rcx, 0x6620343665736162
test r10, r10
lea rax, [r15 + 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 [r15]
lea rdx, [rax + 0x21]
mov qword [r15], rdx
movzx ecx, byte [rsi + rbx + 0x10]
lea rdx, [rax + 0x22]
mov byte [r15 + rax + 0x31], cl
movabs rcx, 0x2064726f282060
mov qword [r15], rdx
mov qword [r15 + rax + 0x32], rcx
mov rdx, qword [r15]
lea rax, [rdx + 7]
mov qword [r15], rax
je 0x14003e74c
mov rax, qword [r10]
lea rcx, [r15 + rdx + 0x17]
lea rdx, [r10 + 0x10]
lea r8, [rax + 1]
call sub.msvcrt.dll_memcpy
mov r10, qword [rsp + 0x60]
mov r9, qword [rsp + 0x68]
mov rax, qword [r10]
add rax, qword [r15]
mov qword [r15], rax
movabs rcx, 0x636f6c2074612029
lea rax, [r15 + rax + 0x10]
mov qword [rax], rcx
mov ecx, 0x206e
mov dword [rax + 8], 0x6f697461
mov word [rax + 0xc], cx
mov byte [rax + 0xe], 0
mov rdx, qword [r15]
lea rax, [rdx + 0xe]
mov qword [r15], rax
test r9, r9
je 0x14003e7a9
mov rax, qword [r9]
lea rcx, [r15 + rdx + 0x1e]
lea rdx, [r9 + 0x10]
mov qword [rsp + 0x60], r9
lea r8, [rax + 1]
call sub.msvcrt.dll_memcpy
mov r9, qword [rsp + 0x60]
mov rax, qword [r9]
add rax, qword [r15]
mov qword [r15], rax
mov r8d, 0x2e
mov word [r15 + rax + 0x10], r8w
add qword [r15], 1
add qword [r15 - 0x10], 8
mov rax, qword [r14 + 0x18]
test rax, rax
je 0x14003e7f0
mov rcx, qword [rax - 0x10]
lea r8, [rax - 0x10]
lea rdx, [rcx - 8]
mov qword [rax - 0x10], rdx
cmp rdx, 7
ja 0x14003e7f0
mov rax, qword [0x1400a28c0]
mov rdx, r8
lea rcx, [rax + 0x18]
call fcn.140007510
mov rax, qword [r14 + 8]
mov qword [r14 + 0x18], r15
test rax, rax
je 0x14003e826
mov rcx, qword [rax - 0x10]
lea r8, [rax - 0x10]
lea rdx, [rcx - 8]
mov qword [rax - 0x10], rdx
cmp rdx, 7
ja 0x14003e826
mov rax, qword [0x1400a28c0]
mov rdx, r8
lea rcx, [rax + 0x18]
call fcn.140007510
mov qword [r14 + 8], 0
mov rcx, r14
mov rdx, r12
lea r9, str.base64.nim
mov qword [rsp + 0x20], 0xe9
lea r8, str.decode
mov r15d, 0xffffffc0
mov r14d, 0x3f
call fcn.14000d580
jmp 0x14003e3f7
sub rdx, 1
mov rcx, rbx
call fcn.14000d860
movzx eax, byte [rsi + rbx + 0x10]
mov rdi, qword [rsp + 0x40]
movzx edi, byte [rdi + rax]
cmp rdi, 0xff
jne 0x14003e3a6
mov rcx, qword [0x1400a2440]
mov edx, 0x30
lea r12, str.ValueError
call fcn.14000b890
mov r14, rax
mov rax, qword [0x1400a25d0]
mov qword [r14 + 0x10], r12
mov qword [r14], rax
test rbx, rbx
js 0x14003f10b
mov rax, qword [rsi]
cmp rbx, rax
jl 0x14003e8e9
lea rdx, [rax - 1]
mov rcx, rbx
call fcn.14000d860
mov rax, qword [rsi]
cmp rbx, rax
jl 0x14003e8e9
lea rdx, [rax - 1]
mov rcx, rbx
call fcn.14000d860
movzx ecx, byte [rsi + rbx + 0x10]
call fcn.140002120
mov rcx, rbx
mov r15, rax
call fcn.140002120
xor ecx, ecx
mov rbp, rax
test r15, r15
je 0x14003e90b
mov rcx, qword [r15]
test rbp, rbp
je 0x14003e914
add rcx, qword [rbp]
add rcx, 0x38
call fcn.14000ba40
mov r10d, 0x60
movabs rdx, 0x2064696c61766e49
movabs rcx, 0x6620343665736162
mov rdi, rax
mov rax, qword [rax]
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 [rsi + 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
test r15, r15
je 0x14003e9c0
mov rax, qword [r15]
lea rcx, [rdi + rdx + 0x17]
lea rdx, [r15 + 0x10]
lea r8, [rax + 1]
call sub.msvcrt.dll_memcpy
mov rax, qword [r15]
add rax, qword [rdi]
mov qword [rdi], rax
lea rax, [rdi + rax + 0x10]
mov r9d, 0x206e
movabs rcx, 0x636f6c2074612029
mov qword [rax], rcx
mov dword [rax + 8], 0x6f697461
mov word [rax + 0xc], r9w
mov byte [rax + 0xe], 0
mov rdx, qword [rdi]
lea rax, [rdx + 0xe]
mov qword [rdi], rax
test rbp, rbp
je 0x14003ea17
mov rax, qword [rbp]
lea rcx, [rdi + rdx + 0x1e]
lea rdx, [rbp + 0x10]
lea r8, [rax + 1]
call sub.msvcrt.dll_memcpy
mov rax, qword [rbp]
add rax, qword [rdi]
mov qword [rdi], rax
mov ecx, 0x2e
mov word [rdi + rax + 0x10], cx
add qword [rdi], 1
add qword [rdi - 0x10], 8
mov rax, qword [r14 + 0x18]
test rax, rax
je 0x14003ea5c
mov rcx, qword [rax - 0x10]
lea r8, [rax - 0x10]
lea rdx, [rcx - 8]
mov qword [rax - 0x10], rdx
cmp rdx, 7
ja 0x14003ea5c
mov rax, qword [0x1400a28c0]
mov rdx, r8
lea rcx, [rax + 0x18]
call fcn.140007510
mov rax, qword [r14 + 8]
mov qword [r14 + 0x18], rdi
test rax, rax
je 0x14003ea92
mov rdi, qword [rax - 0x10]
lea r8, [rax - 0x10]
lea rdx, [rdi - 8]
mov qword [rax - 0x10], rdx
cmp rdx, 7
ja 0x14003ea92
mov rax, qword [0x1400a28c0]
mov rdx, r8
lea rcx, [rax + 0x18]
call fcn.140007510
mov rdx, r12
mov rcx, r14
mov edi, 0xfffffff0
mov ebp, 0xf
mov qword [r14 + 8], 0
lea r9, str.base64.nim
lea r8, str.decode
mov qword [rsp + 0x20], 0xe9
call fcn.14000d580
jmp 0x14003e3b0
mov rax, qword [rsp + 0x38]
mov rdx, 0xffffffffffffffff
test rax, rax
je 0x14003eae8
mov rdx, qword [rax]
sub rdx, 1
mov rcx, qword [rsp + 0x48]
call fcn.14000d860
jmp 0x14003e471
mov rdi, qword [rsp + 0x40]
movzx eax, byte [rdi + rax]
cmp al, 0xff
jne 0x14003e365
mov rcx, qword [0x1400a2440]
mov edx, 0x30
lea r12, str.ValueError
call fcn.14000b890
mov r14, rax
mov rax, qword [0x1400a25d0]
mov qword [r14 + 0x10], r12
mov qword [r14], rax
mov rax, qword [rsi]
cmp rbx, rax
jl 0x14003eb62
lea rdx, [rax - 1]
mov rcx, rbx
call fcn.14000d860
mov rax, qword [rsi]
cmp rbx, rax
jl 0x14003eb62
lea rdx, [rax - 1]
mov rcx, rbx
call fcn.14000d860
movzx ecx, byte [rsi + rbx + 0x10]
call fcn.140002120
mov rcx, rbx
mov r15, rax
call fcn.140002120
xor ecx, ecx
mov rbp, rax
test r15, r15
je 0x14003eb84
mov rcx, qword [r15]
test rbp, rbp
je 0x14003eb8d
add rcx, qword [rbp]
add rcx, 0x38
call fcn.14000ba40
movabs rdx, 0x2064696c61766e49
movabs rcx, 0x6620343665736162
mov rdi, rax
mov rax, qword [rax]
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 edx, 0x60
mov word [rax + 0x20], dx
mov qword [rax + 0x18], rcx
mov rax, qword [rdi]
lea rdx, [rax + 0x21]
mov qword [rdi], rdx
movzx ecx, byte [rsi + 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
test r15, r15
je 0x14003ec37
mov rax, qword [r15]
lea rcx, [rdi + rdx + 0x17]
lea rdx, [r15 + 0x10]
lea r8, [rax + 1]
call sub.msvcrt.dll_memcpy
mov rax, qword [r15]
add rax, qword [rdi]
mov qword [rdi], rax
lea rax, [rdi + rax + 0x10]
mov r11d, 0x206e
movabs rcx, 0x636f6c2074612029
mov qword [rax], rcx
mov dword [rax + 8], 0x6f697461
mov word [rax + 0xc], r11w
mov byte [rax + 0xe], 0
mov rdx, qword [rdi]
lea rax, [rdx + 0xe]
mov qword [rdi], rax
test rbp, rbp
je 0x14003ec8e
mov rax, qword [rbp]
lea rcx, [rdi + rdx + 0x1e]
lea rdx, [rbp + 0x10]
lea r8, [rax + 1]
call sub.msvcrt.dll_memcpy
mov rax, qword [rbp]
add rax, qword [rdi]
mov qword [rdi], rax
mov edx, 0x2e
mov word [rdi + rax + 0x10], dx
add qword [rdi], 1
add qword [rdi - 0x10], 8
mov rax, qword [r14 + 0x18]
test rax, rax
je 0x14003ecd3
mov rcx, qword [rax - 0x10]
lea r8, [rax - 0x10]
lea rdx, [rcx - 8]
mov qword [rax - 0x10], rdx
cmp rdx, 7
ja 0x14003ecd3
mov rax, qword [0x1400a28c0]
mov rdx, r8
lea rcx, [rax + 0x18]
call fcn.140007510
mov rax, qword [r14 + 8]
mov qword [r14 + 0x18], rdi
test rax, rax
je 0x14003ed09
mov rdi, qword [rax - 0x10]
lea r8, [rax - 0x10]
lea rdx, [rdi - 8]
mov qword [rax - 0x10], rdx
cmp rdx, 7
ja 0x14003ed09
mov rax, qword [0x1400a28c0]
mov rdx, r8
lea rcx, [rax + 0x18]
call fcn.140007510
mov qword [r14 + 8], 0
lea r9, str.base64.nim
mov rdx, r12
mov rcx, r14
mov qword [rsp + 0x20], 0xe9
lea r8, str.decode
call fcn.14000d580
mov byte [rsp + 0x5e], 0xfc
jmp 0x14003e36c
call fcn.1400091f0
jmp 0x14003e447
call fcn.1400091f0
jmp 0x14003e501
sub rdx, 1
mov rcx, rbx
call fcn.14000d860
movzx eax, byte [rsi + rbx + 0x10]
mov rdi, qword [rsp + 0x40]
movzx eax, byte [rdi + rax]
cmp al, 0xff
jne 0x14003e365
mov rcx, qword [0x1400a2440]
mov edx, 0x30
lea r12, str.ValueError
call fcn.14000b890
mov rcx, rbx
mov r14, rax
mov rax, qword [0x1400a25d0]
mov qword [r14 + 0x10], r12
mov qword [r14], rax
mov rax, qword [rsi]
lea rdx, [rax - 1]
call fcn.14000d860
mov rax, qword [rsi]
jmp 0x14003eb56
mov rcx, rbx
sub rdx, 1
call fcn.14000d860
movzx eax, byte [rsi + rbx + 0x10]
mov rcx, qword [rsp + 0x40]
movzx r12d, byte [rcx + rax]
cmp r12b, 0xff
jne 0x14003e437
mov rcx, qword [0x1400a2440]
mov edx, 0x30
lea r12, str.ValueError
call fcn.14000b890
mov rcx, rbx
mov r15, rax
mov rax, qword [0x1400a25d0]
mov qword [r15 + 0x10], r12
mov qword [r15], rax
mov rax, qword [rsi]
lea rdx, [rax - 1]
call fcn.14000d860
mov rax, qword [rsi]
jmp 0x14003ee75
mov rcx, qword [0x1400a2440]
mov edx, 0x30
lea r12, str.ValueError
call fcn.14000b890
mov r15, rax
mov rax, qword [0x1400a25d0]
mov qword [r15 + 0x10], r12
mov qword [r15], rax
mov rax, qword [rsi]
cmp rbx, rax
jl 0x14003ee81
lea rdx, [rax - 1]
mov rcx, rbx
call fcn.14000d860
mov rax, qword [rsi]
cmp rbx, rax
jl 0x14003ee81
lea rdx, [rax - 1]
mov rcx, rbx
call fcn.14000d860
movzx ecx, byte [rsi + rbx + 0x10]
call fcn.140002120
mov rcx, rbx
mov qword [rsp + 0x60], rax
call fcn.140002120
mov r11, qword [rsp + 0x60]
xor ecx, ecx
mov r10, rax
test r11, r11
je 0x14003eeaa
mov rcx, qword [r11]
test r10, r10
je 0x14003eeb2
add rcx, qword [r10]
add rcx, 0x38
mov qword [rsp + 0x68], r10
mov qword [rsp + 0x60], r11
call fcn.14000ba40
mov r11, qword [rsp + 0x60]
mov r10, qword [rsp + 0x68]
movabs rdx, 0x2064696c61766e49
movabs rcx, 0x6620343665736162
mov r9, rax
mov rax, qword [rax]
test r11, r11
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 edx, 0x60
mov word [rax + 0x20], dx
mov qword [rax + 0x18], rcx
mov rax, qword [r9]
lea rdx, [rax + 0x21]
mov qword [r9], rdx
movzx ecx, byte [rsi + 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 0x14003ef8a
mov rax, qword [r11]
lea rcx, [r9 + rdx + 0x17]
lea rdx, [r11 + 0x10]
mov qword [rsp + 0x70], r10
mov qword [rsp + 0x68], r9
lea r8, [rax + 1]
call sub.msvcrt.dll_memcpy
mov r9, qword [rsp + 0x68]
mov r11, qword [rsp + 0x60]
mov r10, qword [rsp + 0x70]
mov rax, qword [r11]
add rax, qword [r9]
mov qword [r9], rax
lea rax, [r9 + rax + 0x10]
mov r11d, 0x206e
movabs rcx, 0x636f6c2074612029
mov qword [rax], rcx
mov dword [rax + 8], 0x6f697461
mov word [rax + 0xc], r11w
mov byte [rax + 0xe], 0
mov rdx, qword [r9]
lea rax, [rdx + 0xe]
mov qword [r9], rax
test r10, r10
je 0x14003eff3
mov rax, qword [r10]
lea rcx, [r9 + rdx + 0x1e]
lea rdx, [r10 + 0x10]
mov qword [rsp + 0x68], r9
mov qword [rsp + 0x60], r10
lea r8, [rax + 1]
call sub.msvcrt.dll_memcpy
mov r9, qword [rsp + 0x68]
mov r10, qword [rsp + 0x60]
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 [r15 + 0x18]
test rax, rax
je 0x14003f044
mov rcx, qword [rax - 0x10]
lea r8, [rax - 0x10]
lea rdx, [rcx - 8]
mov qword [rax - 0x10], rdx
cmp rdx, 7
ja 0x14003f044
mov rax, qword [0x1400a28c0]
mov rdx, r8
mov qword [rsp + 0x60], r9
lea rcx, [rax + 0x18]
call fcn.140007510
mov r9, qword [rsp + 0x60]
mov rax, qword [r15 + 8]
mov qword [r15 + 0x18], r9
test rax, rax
je 0x14003f07a
mov rcx, qword [rax - 0x10]
lea r8, [rax - 0x10]
lea rdx, [rcx - 8]
mov qword [rax - 0x10], rdx
cmp rdx, 7
ja 0x14003f07a
mov rax, qword [0x1400a28c0]
mov rdx, r8
lea rcx, [rax + 0x18]
call fcn.140007510
mov qword [r15 + 8], 0
mov rdx, r12
mov rcx, r15
lea r9, str.base64.nim
mov qword [rsp + 0x20], 0xe9
lea r8, str.decode
mov r12d, 0xffffffff
call fcn.14000d580
jmp 0x14003e43a
mov rcx, qword [0x1400a2440]
mov edx, 0x30
lea r12, str.ValueError
call fcn.14000b890
mov r14, rax
mov rax, qword [0x1400a25d0]
mov qword [r14 + 0x10], r12
mov qword [r14], rax
jmp 0x14003e628
mov rcx, qword [0x1400a2440]
mov edx, 0x30
lea r12, str.ValueError
call fcn.14000b890
mov r14, rax
mov rax, qword [0x1400a25d0]
mov qword [r14 + 0x10], r12
mov qword [r14], rax
jmp 0x14003e8c1
mov rax, qword [rsi]
mov rcx, rbx
lea rdx, [rax - 1]
call fcn.14000d860
mov rax, qword [rsi]
jmp 0x14003e8dd
mov rax, qword [rsi]
mov rcx, rbx
lea rdx, [rax - 1]
call fcn.14000d860
mov rax, qword [rsi]
jmp 0x14003e644
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 [rsi]
cmp rbx, rax
jl 0x14003f163
lea rdx, [rax - 1]
mov rcx, rbx
call fcn.14000d860
lea rax, [0x1400837c0]
mov rdi, rax
mov qword [rsp + 0x40], rax
movzx eax, byte [rsi + rbx + 0x10]
movzx ebp, byte [rdi + rax]
cmp bpl, 0xff
je 0x14003f904
shl ebp, 2
mov rdi, rbx
add rdi, 1
js 0x1400400f5
cmp rdi, rbx
jb 0x1400400f5
mov rax, qword [rsi]
test rdi, rdi
js 0x14003f88d
cmp rdi, rax
jl 0x14003f1bb
lea rdx, [rax - 1]
mov rcx, rdi
call fcn.14000d860
movzx eax, byte [rsi + rdi + 0x10]
mov rcx, qword [rsp + 0x40]
movzx eax, byte [rcx + rax]
cmp rax, 0xff
je 0x14003f69f
sar rax, 4
mov ebx, eax
add rdi, 1
jo 0x1400400eb
mov rax, qword [rsp + 0x38]
test rax, rax
je 0x14003f402
mov rdi, qword [rsp + 0x48]
test rdi, rdi
js 0x14003f402
mov rax, qword [rax]
cmp rax, rdi
jle 0x14003f416
mov rax, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x38]
or ebx, ebp
mov byte [rdi + rax + 0x10], bl
add rax, 1
mov qword [rsp + 0x48], rax
jno 0x14003e54d
call fcn.1400091f0
cmp qword [rsp + 0x48], 0
jns 0x14003e559
mov rcx, qword [rsp + 0x48]
xor edx, edx
movabs r8, 0x7fffffffffffffff
call fcn.14000d6c0
jmp 0x14003e559
movabs r8, 0x7fffffffffffffff
xor edx, edx
mov rcx, rax
call fcn.14000d6c0
jmp 0x14003e261
mov rax, qword [rsi]
cmp rbx, rax
jl 0x14003f285
lea rdx, [rax - 1]
mov rcx, rbx
call fcn.14000d860
lea rax, [0x1400837c0]
mov rdi, rax
mov qword [rsp + 0x40], rax
movzx eax, byte [rsi + rbx + 0x10]
movzx ebp, byte [rdi + rax]
cmp bpl, 0xff
je 0x14003fe70
lea eax, [rbp*4]
mov byte [rsp + 0x50], al
mov r13, rbx
add r13, 1
js 0x1400400cd
cmp r13, rbx
jb 0x1400400cd
mov rax, qword [rsi]
test r13, r13
js 0x14003f429
cmp r13, rax
jge 0x14003f429
movzx eax, byte [rsi + r13 + 0x10]
mov rdi, qword [rsp + 0x40]
movzx edi, byte [rdi + rax]
cmp rdi, 0xff
je 0x14003fba2
mov eax, edi
mov r14, rdi
shl eax, 4
sar r14, 4
mov byte [rsp + 0x5e], al
mov rbx, r13
add rbx, 1
jo 0x1400400d7
mov rax, qword [rsi]
test rbx, rbx
js 0x14003fbd0
cmp rbx, rax
jl 0x14003f333
lea rdx, [rax - 1]
mov rcx, rbx
call fcn.14000d860
movzx eax, byte [rsi + rbx + 0x10]
mov rdi, qword [rsp + 0x40]
movzx eax, byte [rdi + rax]
cmp rax, 0xff
je 0x14003fe1b
sar rax, 2
mov esi, eax
add rbx, 1
jo 0x1400400e1
mov rdi, qword [rsp + 0x48]
test rdi, rdi
js 0x14003f3db
mov rax, qword [rsp + 0x38]
test rax, rax
je 0x14003f3db
mov rax, qword [rax]
cmp rax, rdi
jle 0x14003f3ef
mov rax, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x38]
or r14b, byte [rsp + 0x50]
mov byte [rdi + rax + 0x10], r14b
add rax, 1
mov rbx, rax
jo 0x140040109
mov rax, qword [rsp + 0x38]
mov rax, qword [rax]
test rbx, rbx
js 0x14003f3ac
cmp rbx, rax
jl 0x14003f3b8
lea rdx, [rax - 1]
mov rcx, rbx
call fcn.14000d860
mov rax, qword [rsp + 0x38]
or sil, byte [rsp + 0x5e]
mov byte [rax + rbx + 0x10], sil
add rbx, 1
mov qword [rsp + 0x48], rbx
jno 0x14003e54d
jmp 0x14003f22c
mov rax, qword [rsp + 0x38]
mov rdx, 0xffffffffffffffff
test rax, rax
je 0x14003f3f3
mov rax, qword [rax]
lea rdx, [rax - 1]
mov rcx, qword [rsp + 0x48]
call fcn.14000d860
jmp 0x14003f379
mov rax, qword [rsp + 0x38]
mov rdx, 0xffffffffffffffff
test rax, rax
je 0x14003f41a
mov rax, qword [rax]
lea rdx, [rax - 1]
mov rcx, qword [rsp + 0x48]
call fcn.14000d860
jmp 0x14003f20d
lea rdx, [rax - 1]
mov rcx, r13
call fcn.14000d860
movzx eax, byte [rsi + r13 + 0x10]
mov rdi, qword [rsp + 0x40]
movzx edi, byte [rdi + rax]
cmp rdi, 0xff
jne 0x14003f2f9
mov rcx, qword [0x1400a2440]
mov edx, 0x30
lea r12, str.ValueError
call fcn.14000b890
mov r14, rax
mov rax, qword [0x1400a25d0]
mov qword [r14 + 0x10], r12
mov qword [r14], rax
test r13, r13
js 0x14004009f
mov rax, qword [rsi]
cmp r13, rax
jl 0x14003f4ab
lea rdx, [rax - 1]
mov rcx, r13
call fcn.14000d860
mov rax, qword [rsi]
cmp r13, rax
jl 0x14003f4ab
lea rdx, [rax - 1]
mov rcx, r13
call fcn.14000d860
movzx ecx, byte [rsi + r13 + 0x10]
call fcn.140002120
mov rcx, r13
mov rdi, rax
call fcn.140002120
mov r15, rax
xor eax, eax
test rdi, rdi
je 0x14003f4ce
mov rax, qword [rdi]
test r15, r15
je 0x14003f4d6
add rax, qword [r15]
lea rcx, [rax + 0x38]
call fcn.14000ba40
mov r10d, 0x60
movabs rdx, 0x2064696c61766e49
movabs rcx, 0x6620343665736162
mov rbx, rax
mov rax, qword [rax]
lea rax, [rbx + 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 [rbx]
lea rdx, [rax + 0x21]
mov qword [rbx], rdx
movzx ecx, byte [rsi + r13 + 0x10]
lea rdx, [rax + 0x22]
mov byte [rbx + rax + 0x31], cl
movabs rcx, 0x2064726f282060
mov qword [rbx], rdx
mov qword [rbx + rax + 0x32], rcx
mov rdx, qword [rbx]
lea rax, [rdx + 7]
mov qword [rbx], rax
test rdi, rdi
je 0x14003f583
mov rax, qword [rdi]
lea rcx, [rbx + rdx + 0x17]
lea rdx, [rdi + 0x10]
lea r8, [rax + 1]
call sub.msvcrt.dll_memcpy
mov rax, qword [rdi]
add rax, qword [rbx]
mov qword [rbx], rax
lea rax, [rbx + rax + 0x10]
mov r9d, 0x206e
movabs rdi, 0x636f6c2074612029
mov qword [rax], rdi
mov dword [rax + 8], 0x6f697461
mov word [rax + 0xc], r9w
mov byte [rax + 0xe], 0
mov rdx, qword [rbx]
lea rax, [rdx + 0xe]
mov qword [rbx], rax
test r15, r15
je 0x14003f5d8
mov rax, qword [r15]
lea rcx, [rbx + rdx + 0x1e]
lea rdx, [r15 + 0x10]
lea r8, [rax + 1]
call sub.msvcrt.dll_memcpy
mov rax, qword [r15]
add rax, qword [rbx]
mov qword [rbx], rax
mov r15d, 0x2e
mov word [rbx + rax + 0x10], r15w
add qword [rbx], 1
add qword [rbx - 0x10], 8
mov rax, qword [r14 + 0x18]
test rax, rax
je 0x14003f61f
mov rdi, qword [rax - 0x10]
lea r8, [rax - 0x10]
lea rdx, [rdi - 8]
mov qword [rax - 0x10], rdx
cmp rdx, 7
ja 0x14003f61f
mov rax, qword [0x1400a28c0]
mov rdx, r8
lea rcx, [rax + 0x18]
call fcn.140007510
mov rdx, qword [r14 + 8]
mov qword [r14 + 0x18], rbx
test rdx, rdx
je 0x14003f655
mov rax, qword [rdx - 0x10]
lea r8, [rdx - 0x10]
sub rax, 8
mov qword [rdx - 0x10], rax
cmp rax, 7
ja 0x14003f655
mov rax, qword [0x1400a28c0]
mov rdx, r8
lea rcx, [rax + 0x18]
call fcn.140007510
mov qword [r14 + 8], 0
mov rcx, r14
mov rdx, r12
lea r9, str.base64.nim
mov qword [rsp + 0x20], 0xe9
lea r8, str.decode
mov r14d, 0xf
call fcn.14000d580
mov byte [rsp + 0x5e], 0xf0
jmp 0x14003f309
mov qword [rsp + 0x48], 0
xor ebx, ebx
jmp 0x14003e50c
mov rcx, qword [0x1400a2440]
mov edx, 0x30
lea r12, str.ValueError
call fcn.14000b890
mov r13, rax
mov rax, qword [0x1400a25d0]
mov qword [r13 + 0x10], r12
mov qword [r13], rax
mov rax, qword [rsi]
cmp rdi, rax
jge 0x14003fb79
movzx ecx, byte [rsi + rdi + 0x10]
call fcn.140002120
mov rcx, rdi
mov r15, rax
call fcn.140002120
mov r14, rax
xor eax, eax
test r15, r15
je 0x14003f6f7
mov rax, qword [r15]
test r14, r14
je 0x14003f6ff
add rax, qword [r14]
lea rcx, [rax + 0x38]
call fcn.14000ba40
movabs rcx, 0x6620343665736162
movabs rdx, 0x2064696c61766e49
mov rbx, rax
mov rax, qword [rax]
lea rax, [rbx + 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 [rbx]
lea rdx, [rax + 0x21]
mov qword [rbx], rdx
movzx ecx, byte [rsi + rdi + 0x10]
lea rdx, [rax + 0x22]
movabs rsi, 0x2064726f282060
mov byte [rbx + rax + 0x31], cl
mov qword [rbx], rdx
mov qword [rbx + rax + 0x32], rsi
mov rdx, qword [rbx]
lea rax, [rdx + 7]
mov qword [rbx], rax
test r15, r15
je 0x14003f7a9
mov rax, qword [r15]
lea rcx, [rbx + rdx + 0x17]
lea rdx, [r15 + 0x10]
lea r8, [rax + 1]
call sub.msvcrt.dll_memcpy
mov rax, qword [r15]
add rax, qword [rbx]
mov qword [rbx], rax
lea rax, [rbx + rax + 0x10]
mov edx, 0x206e
movabs rsi, 0x636f6c2074612029
mov qword [rax], rsi
mov dword [rax + 8], 0x6f697461
mov word [rax + 0xc], dx
mov byte [rax + 0xe], 0
mov rdx, qword [rbx]
lea rax, [rdx + 0xe]
mov qword [rbx], rax
test r14, r14
je 0x14003f7fc
mov rax, qword [r14]
lea rcx, [rbx + rdx + 0x1e]
lea rdx, [r14 + 0x10]
lea r8, [rax + 1]
call sub.msvcrt.dll_memcpy
mov rax, qword [r14]
add rax, qword [rbx]
mov qword [rbx], rax
mov esi, 0x2e
mov word [rbx + rax + 0x10], si
add qword [rbx], 1
add qword [rbx - 0x10], 8
mov rax, qword [r13 + 0x18]
test rax, rax
je 0x14003f832
mov rsi, qword [rax - 0x10]
lea r8, [rax - 0x10]
lea rdx, [rsi - 8]
mov qword [rax - 0x10], rdx
cmp rdx, 7
jbe 0x14003fb61
mov rdx, qword [r13 + 8]
mov qword [r13 + 0x18], rbx
test rdx, rdx
je 0x14003f859
mov rax, qword [rdx - 0x10]
lea r8, [rdx - 0x10]
sub rax, 8
mov qword [rdx - 0x10], rax
cmp rax, 7
jbe 0x14003fb49
mov qword [r13 + 8], 0
lea r9, str.base64.nim
mov rdx, r12
mov rcx, r13
mov qword [rsp + 0x20], 0xe9
lea r8, str.decode
mov ebx, 0xf
call fcn.14000d580
jmp 0x14003f1db
movabs rcx, 0x8000000000000000
lea rdx, [rax - 1]
call fcn.14000d860
mov rcx, qword [rsp + 0x40]
movabs rax, 0x8000000000000010
movzx eax, byte [rsi + rax]
movzx eax, byte [rcx + rax]
cmp rax, 0xff
jne 0x14003f1d5
mov rcx, qword [0x1400a2440]
mov edx, 0x30
lea r12, str.ValueError
call fcn.14000b890
mov rcx, rdi
mov r13, rax
mov rax, qword [0x1400a25d0]
mov qword [r13 + 0x10], r12
mov qword [r13], rax
mov rax, qword [rsi]
lea rdx, [rax - 1]
call fcn.14000d860
mov rax, qword [rsi]
jmp 0x14003fb91
mov rcx, qword [0x1400a2440]
mov edx, 0x30
lea r12, str.ValueError
call fcn.14000b890
mov r13, rax
mov rax, qword [0x1400a25d0]
mov qword [r13 + 0x10], r12
mov qword [r13], rax
mov rax, qword [rsi]
cmp rax, rbx
jle 0x14003fb20
movzx ecx, byte [rsi + rbx + 0x10]
call fcn.140002120
mov rcx, rbx
mov r14, rax
call fcn.140002120
mov rbp, rax
xor eax, eax
test r14, r14
je 0x14003f95c
mov rax, qword [r14]
test rbp, rbp
je 0x14003f965
add rax, qword [rbp]
lea rcx, [rax + 0x38]
call fcn.14000ba40
mov r9d, 0x60
movabs rdx, 0x2064696c61766e49
movabs rcx, 0x6620343665736162
mov rdi, rax
mov rax, qword [rax]
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], r9w
mov rax, qword [rdi]
lea rdx, [rax + 0x21]
mov qword [rdi], rdx
movzx ecx, byte [rsi + 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
test r14, r14
je 0x14003fa11
mov rax, qword [r14]
lea rcx, [rdi + rdx + 0x17]
lea rdx, [r14 + 0x10]
lea r8, [rax + 1]
call sub.msvcrt.dll_memcpy
mov rax, qword [r14]
add rax, qword [rdi]
mov qword [rdi], rax
lea rax, [rdi + rax + 0x10]
mov r8d, 0x206e
movabs rcx, 0x636f6c2074612029
mov qword [rax], rcx
mov dword [rax + 8], 0x6f697461
mov word [rax + 0xc], r8w
mov byte [rax + 0xe], 0
mov rdx, qword [rdi]
lea rax, [rdx + 0xe]
mov qword [rdi], rax
test rbp, rbp
je 0x14003fa68
mov rax, qword [rbp]
lea rcx, [rdi + rdx + 0x1e]
lea rdx, [rbp + 0x10]
lea r8, [rax + 1]
call sub.msvcrt.dll_memcpy
mov rax, qword [rbp]
add rax, qword [rdi]
mov qword [rdi], rax
mov r11d, 0x2e
mov word [rdi + rax + 0x10], r11w
add qword [rdi], 1
add qword [rdi - 0x10], 8
mov rax, qword [r13 + 0x18]
test rax, rax
je 0x14003fa9c
mov rcx, qword [rax - 0x10]
lea r8, [rax - 0x10]
lea rdx, [rcx - 8]
mov qword [rax - 0x10], rdx
cmp rdx, 7
jbe 0x14003fb08
mov rdx, qword [r13 + 8]
mov qword [r13 + 0x18], rdi
test rdx, rdx
je 0x14003fabf
mov rax, qword [rdx - 0x10]
lea r8, [rdx - 0x10]
sub rax, 8
mov qword [rdx - 0x10], rax
cmp rax, 7
jbe 0x14003faf3
mov qword [r13 + 8], 0
lea r9, str.base64.nim
mov rdx, r12
mov rcx, r13
mov qword [rsp + 0x20], 0xe9
lea r8, str.decode
mov ebp, 0xfffffffc
call fcn.14000d580
jmp 0x14003f188
mov rax, qword [0x1400a28c0]
mov rdx, r8
lea rcx, [rax + 0x18]
call fcn.140007510
jmp 0x14003fabf
mov rax, qword [0x1400a28c0]
mov rdx, r8
lea rcx, [rax + 0x18]
call fcn.140007510
jmp 0x14003fa9c
lea rdx, [rax - 1]
mov rcx, rbx
call fcn.14000d860
mov rax, qword [rsi]
cmp rax, rbx
jg 0x14003f93a
lea rdx, [rax - 1]
mov rcx, rbx
call fcn.14000d860
jmp 0x14003f93a
mov rax, qword [0x1400a28c0]
mov rdx, r8
lea rcx, [rax + 0x18]
call fcn.140007510
jmp 0x14003f859
mov rax, qword [0x1400a28c0]
mov rdx, r8
lea rcx, [rax + 0x18]
call fcn.140007510
jmp 0x14003f832
lea rdx, [rax - 1]
mov rcx, rdi
call fcn.14000d860
mov rax, qword [rsi]
cmp rdi, rax
jl 0x14003f6d5
lea rdx, [rax - 1]
mov rcx, rdi
call fcn.14000d860
jmp 0x14003f6d5
mov rcx, qword [0x1400a2440]
mov edx, 0x30
lea r12, str.ValueError
call fcn.14000b890
mov r14, rax
mov rax, qword [0x1400a25d0]
mov qword [r14 + 0x10], r12
mov qword [r14], rax
jmp 0x14003f483
lea rdx, [rax - 1]
mov rcx, rbx
call fcn.14000d860
movzx eax, byte [rsi + rbx + 0x10]
mov rdi, qword [rsp + 0x40]
movzx eax, byte [rdi + rax]
cmp rax, 0xff
jne 0x14003f34d
mov rcx, qword [0x1400a2440]
mov edx, 0x30
lea r12, str.ValueError
call fcn.14000b890
mov rcx, rbx
mov r13, rax
mov rax, qword [0x1400a25d0]
mov qword [r13 + 0x10], r12
mov qword [r13], rax
mov rax, qword [rsi]
lea rdx, [rax - 1]
call fcn.14000d860
mov rax, qword [rsi]
lea rdx, [rax - 1]
mov rcx, rbx
call fcn.14000d860
movzx ecx, byte [rsi + rbx + 0x10]
call fcn.140002120
mov rcx, rbx
mov rbp, rax
call fcn.140002120
mov rdi, rax
xor eax, eax
test rbp, rbp
je 0x14003fc61
mov rax, qword [rbp]
test rdi, rdi
je 0x14003fc69
add rax, qword [rdi]
lea rcx, [rax + 0x38]
call fcn.14000ba40
mov r8d, 0x60
movabs rdx, 0x2064696c61766e49
movabs rcx, 0x6620343665736162
mov r15, rax
mov rax, qword [rax]
lea rax, [r15 + 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 [r15]
lea rdx, [rax + 0x21]
mov qword [r15], rdx
movzx ecx, byte [rsi + rbx + 0x10]
lea rdx, [rax + 0x22]
movabs rsi, 0x2064726f282060
mov byte [r15 + rax + 0x31], cl
mov qword [r15], rdx
mov qword [r15 + rax + 0x32], rsi
mov rdx, qword [r15]
lea rax, [rdx + 7]
mov qword [r15], rax
test rbp, rbp
je 0x14003fd18
mov rax, qword [rbp]
lea rcx, [r15 + rdx + 0x17]
lea rdx, [rbp + 0x10]
lea r8, [rax + 1]
call sub.msvcrt.dll_memcpy
mov rax, qword [rbp]
add rax, qword [r15]
mov qword [r15], rax
lea rax, [r15 + rax + 0x10]
mov ecx, 0x206e
movabs rsi, 0x636f6c2074612029
mov qword [rax], rsi
mov dword [rax + 8], 0x6f697461
mov word [rax + 0xc], cx
mov byte [rax + 0xe], 0
mov rdx, qword [r15]
lea rax, [rdx + 0xe]
mov qword [r15], rax
test rdi, rdi
je 0x14003fd6b
mov rax, qword [rdi]
lea rcx, [r15 + rdx + 0x1e]
lea rdx, [rdi + 0x10]
lea r8, [rax + 1]
call sub.msvcrt.dll_memcpy
mov rax, qword [rdi]
add rax, qword [r15]
mov qword [r15], rax
mov edx, 0x2e
mov word [r15 + rax + 0x10], dx
add qword [r15], 1
add qword [r15 - 0x10], 8
mov rax, qword [r13 + 0x18]
test rax, rax
je 0x14003fdb1
mov rdi, qword [rax - 0x10]
lea r8, [rax - 0x10]
lea rdx, [rdi - 8]
mov qword [rax - 0x10], rdx
cmp rdx, 7
ja 0x14003fdb1
mov rax, qword [0x1400a28c0]
mov rdx, r8
lea rcx, [rax + 0x18]
call fcn.140007510
mov rdx, qword [r13 + 8]
mov qword [r13 + 0x18], r15
test rdx, rdx
je 0x14003fde7
mov rax, qword [rdx - 0x10]
lea r8, [rdx - 0x10]
sub rax, 8
mov qword [rdx - 0x10], rax
cmp rax, 7
ja 0x14003fde7
mov rax, qword [0x1400a28c0]
mov rdx, r8
lea rcx, [rax + 0x18]
call fcn.140007510
mov qword [r13 + 8], 0
lea r9, str.base64.nim
mov rdx, r12
mov rcx, r13
mov qword [rsp + 0x20], 0xe9
lea r8, str.decode
mov esi, 0x3f
call fcn.14000d580
jmp 0x14003f353
mov rcx, qword [0x1400a2440]
mov edx, 0x30
lea r12, str.ValueError
call fcn.14000b890
mov r13, rax
mov rax, qword [0x1400a25d0]
mov qword [r13 + 0x10], r12
mov qword [r13], rax
mov rax, qword [rsi]
cmp rbx, rax
jl 0x14003fc3e
lea rdx, [rax - 1]
mov rcx, rbx
call fcn.14000d860
mov rax, qword [rsi]
cmp rbx, rax
jge 0x14003fc32
jmp 0x14003fc3e
mov rcx, qword [0x1400a2440]
mov edx, 0x30
lea r12, str.ValueError
call fcn.14000b890
mov r13, rax
mov rax, qword [0x1400a25d0]
mov qword [r13 + 0x10], r12
mov qword [r13], rax
mov rax, qword [rsi]
cmp rax, rbx
jg 0x14003fec2
lea rdx, [rax - 1]
mov rcx, rbx
call fcn.14000d860
mov rax, qword [rsi]
cmp rax, rbx
jg 0x14003fec2
lea rdx, [rax - 1]
mov rcx, rbx
call fcn.14000d860
movzx ecx, byte [rsi + rbx + 0x10]
call fcn.140002120
mov rcx, rbx
mov r14, rax
call fcn.140002120
mov rbp, rax
xor eax, eax
test r14, r14
je 0x14003fee4
mov rax, qword [r14]
test rbp, rbp
je 0x14003feed
add rax, qword [rbp]
lea rcx, [rax + 0x38]
mov r15d, 0x60
call fcn.14000ba40
movabs rdx, 0x2064696c61766e49
movabs rcx, 0x6620343665736162
mov rdi, rax
mov rax, qword [rax]
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], r15w
mov rax, qword [rdi]
lea rdx, [rax + 0x21]
mov qword [rdi], rdx
movzx ecx, byte [rsi + 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
test r14, r14
je 0x14003ff99
mov rax, qword [r14]
lea rcx, [rdi + rdx + 0x17]
lea rdx, [r14 + 0x10]
lea r8, [rax + 1]
call sub.msvcrt.dll_memcpy
mov rax, qword [r14]
add rax, qword [rdi]
mov qword [rdi], rax
lea rax, [rdi + rax + 0x10]
mov r11d, 0x206e
movabs rcx, 0x636f6c2074612029
mov qword [rax], rcx
mov dword [rax + 8], 0x6f697461
mov word [rax + 0xc], r11w
mov byte [rax + 0xe], 0
mov rdx, qword [rdi]
lea rax, [rdx + 0xe]
mov qword [rdi], rax
test rbp, rbp
je 0x14003fff0
mov rax, qword [rbp]
lea rcx, [rdi + rdx + 0x1e]
lea rdx, [rbp + 0x10]
lea r8, [rax + 1]
call sub.msvcrt.dll_memcpy
mov rax, qword [rbp]
add rax, qword [rdi]
mov qword [rdi], rax
mov ebp, 0x2e
mov word [rdi + rax + 0x10], bp
add qword [rdi], 1
add qword [rdi - 0x10], 8
mov rax, qword [r13 + 0x18]
test rax, rax
je 0x140040035
mov rcx, qword [rax - 0x10]
lea r8, [rax - 0x10]
lea rdx, [rcx - 8]
mov qword [rax - 0x10], rdx
cmp rdx, 7
ja 0x140040035
mov rax, qword [0x1400a28c0]
mov rdx, r8
lea rcx, [rax + 0x18]
call fcn.140007510
mov rdx, qword [r13 + 8]
mov qword [r13 + 0x18], rdi
test rdx, rdx
je 0x14004006b
mov rax, qword [rdx - 0x10]
lea r8, [rdx - 0x10]
sub rax, 8
mov qword [rdx - 0x10], rax
cmp rax, 7
ja 0x14004006b
mov rax, qword [0x1400a28c0]
mov rdx, r8
lea rcx, [rax + 0x18]
call fcn.140007510
mov qword [r13 + 8], 0
lea r9, str.base64.nim
mov rdx, r12
mov rcx, r13
mov qword [rsp + 0x20], 0xe9
lea r8, str.decode
call fcn.14000d580
mov byte [rsp + 0x50], 0xfc
jmp 0x14003f2b2
movabs rcx, 0x8000000000000000
mov rax, qword [rsi]
lea rdx, [rax - 1]
call fcn.14000d860
mov rax, qword [rsi]
jmp 0x14003f49f
mov r12d, 1
call fcn.1400091f0
jmp 0x14003e290
call fcn.1400091f0
jmp 0x14003f2c8
call fcn.1400091f0
jmp 0x14003f316
call fcn.1400091f0
jmp 0x14003f35d
call fcn.1400091f0
jmp 0x14003f1e5
call fcn.1400091f0
jmp 0x14003f19e
call fcn.1400091f0
jmp 0x14003e2ca
call fcn.1400091f0
jmp 0x14003f39a
call fcn.1400091f0
jmp 0x14003e3ba
call fcn.1400091f0
jmp 0x14003e401
call fcn.1400091f0
jmp 0x14003e376
call fcn.1400091f0
jmp 0x14003e245
call fcn.1400091f0
jmp 0x14003e51a
call fcn.1400091f0
jmp 0x14003e4ca
call fcn.1400091f0
jmp 0x14003e492