Function at 0x413f10
Capabilities:
Encode data using base64

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x78
mov rbx, rcx
test rcx, rcx
je 0x414ce4
mov rcx, qword [rcx]
test rcx, rcx
je 0x414ce4
call fcn.00413e50
mov r12, rax
test rax, rax
js 0x414daf
movabs rbp, 0x2000000100002400
mov rdx, r12
xor ecx, ecx
call fcn.00408dc0
mov qword [rsp + 0x38], rax
mov rax, qword [rbx]
mov qword [rsp + 0x40], rax
lea rsi, [rax - 1]
nop
mov rcx, qword [rsp + 0x40]
mov rax, rsi
xor rcx, rsi
jns 0x414238
test rsi, rsi
js 0x414238
call fcn.004069c0
mov rdx, qword [rbx]
mov rax, rdi
xor r12d, r12d
cmp rdx, rax
jbe 0x41424d
movzx eax, byte [rbx + rdi + 0x10]
cmp al, 0x3d
jbe 0x414266
mov rax, qword [rsp + 0x40]
lea rsi, [rax - 4]
xor rax, rsi
jns 0x413fca
test rsi, rsi
js 0x414d9b
call fcn.004069c0
test rsi, rsi
js 0x414d9b
mov qword [rsp + 0x48], 0
xor r14d, r14d
lea r13, [0x0041fc60]
lea rdi, [r14 + 1]
nop word [rax + rax]
mov rdx, qword [rbx]
cmp rdx, r14
jbe 0x4142cf
movzx eax, byte [rbx + r14 + 0x10]
mov rbp, r14
xor rbp, rdi
cmp al, 0x20
jbe 0x4142a0
mov rdx, qword [rbx]
cmp rdx, r14
jbe 0x414308
movzx eax, byte [r13 + rax]
mov byte [rsp + 0x57], al
cmp al, 0xff
je 0x41432c
test rbp, rbp
jns 0x41403d
test rdi, rdi
jns 0x41403d
call fcn.004069c0
mov rdx, qword [rbx]
cmp rdx, rdi
jbe 0x414580
movzx eax, byte [rbx + rdi + 0x10]
movzx ebp, byte [r13 + rax]
cmp rbp, 0xff
je 0x414a98
lea r14, [rdi + 1]
xor rdi, r14
jns 0x414074
test r14, r14
jns 0x414074
call fcn.004069c0
mov rdx, qword [rbx]
cmp rdx, r14
jbe 0x414a80
movzx eax, byte [rbx + r14 + 0x10]
movzx r12d, byte [r13 + rax]
cmp r12, 0xff
je 0x414838
lea rdi, [r14 + 1]
xor r14, rdi
jns 0x4140ac
test rdi, rdi
jns 0x4140ac
call fcn.004069c0
mov rdx, qword [rbx]
cmp rdx, rdi
jbe 0x414820
movzx eax, byte [rbx + rdi + 0x10]
movzx eax, byte [r13 + rax]
mov byte [rsp + 0x58], al
cmp al, 0xff
je 0x4145d0
lea r15, [rdi + 1]
xor rdi, r15
mov r14, r15
jns 0x4140e5
test r15, r15
jns 0x4140e5
call fcn.004069c0
mov rax, qword [rsp + 0x38]
test rax, rax
je 0x414cd8
mov rdx, qword [rax]
cmp rdx, qword [rsp + 0x48]
jbe 0x4142f0
movzx eax, byte [rsp + 0x57]
mov rdx, rbp
mov rcx, qword [rsp + 0x48]
sar rdx, 4
mov rdi, qword [rsp + 0x38]
shl eax, 2
or eax, edx
mov byte [rdi + rcx + 0x10], al
lea rax, [rcx + 1]
xor rcx, rax
jns 0x41413d
test rax, rax
jns 0x41413d
mov qword [rsp + 0x48], rax
call fcn.004069c0
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x38]
mov rdx, qword [rcx]
cmp rdx, rax
jbe 0x4145b0
mov rdx, r12
shl rbp, 4
mov rcx, qword [rsp + 0x38]
lea rdi, [rax + 1]
sar rdx, 2
or ebp, edx
mov byte [rcx + rax + 0x10], bpl
xor rax, rdi
jns 0x414178
test rdi, rdi
jns 0x414178
call fcn.004069c0
mov rax, qword [rsp + 0x38]
mov rdx, qword [rax]
cmp rdx, rdi
jbe 0x414598
mov rax, qword [rsp + 0x38]
shl r12, 6
or r12b, byte [rsp + 0x58]
mov byte [rax + rdi + 0x10], r12b
lea rax, [rdi + 1]
xor rdi, rax
mov qword [rsp + 0x48], rax
jns 0x4141b4
test rax, rax
jns 0x4141b4
call fcn.004069c0
cmp rsi, r15
jge 0x413fe6
mov rax, qword [rsp + 0x40]
mov rsi, r15
mov rcx, r14
sub rsi, rax
xor rcx, rsi
jns 0x4141d9
xor rax, rsi
jns 0x41428e
mov rdx, rsi
sar rdx, 0x3f
shr rdx, 0x3e
lea rax, [rsi + rdx]
and eax, 3
sub rax, rdx
cqo
xor rax, rdx
sub rax, rdx
cmp rax, 2
je 0x414dc8
cmp rax, 3
je 0x414ecf
cmp qword [rsp + 0x48], 0
js 0x414e96
mov rdx, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x38]
add rsp, 0x78
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp fcn.00408dc0
mov rdx, qword [rbx]
mov rdi, rsi
mov r12d, 1
cmp rdx, rax
ja 0x413fa1
sub rdx, 1
mov rcx, rdi
call fcn.0040e440
movzx eax, byte [rbx + rdi + 0x10]
cmp al, 0x3d
ja 0x413fae
bt rbp, rax
jae 0x413fae
test r12b, r12b
jne 0x414280
call fcn.004069c0
jmp 0x413f70
mov qword [rsp + 0x40], rsi
sub rsi, 1
jmp 0x413f70
call fcn.004069c0
jmp 0x4141d9
movabs rcx, 0x100002400
bt rcx, rax
jae 0x414010
test rbp, rbp
jns 0x4142e0
test rdi, rdi
jns 0x4142e0
call fcn.004069c0
mov rdx, qword [rbx]
cmp rdx, r14
ja 0x413ffc
sub rdx, 1
mov rcx, r14
call fcn.0040e440
jmp 0x413ffc
mov r14, rdi
add rdi, 1
jmp 0x413ff0
sub rdx, 1
mov rcx, qword [rsp + 0x48]
call fcn.0040e440
jmp 0x414101
sub rdx, 1
mov rcx, r14
call fcn.0040e440
movzx eax, byte [rbx + r14 + 0x10]
movzx eax, byte [r13 + rax]
mov byte [rsp + 0x57], al
cmp al, 0xff
jne 0x41402e
mov rcx, qword [0x004234d0]
mov edx, 0x30
call fcn.00408b00
mov r12, rax
mov rax, qword [0x00423510]
mov qword [r12], rax
lea rax, str.ValueError
mov qword [r12 + 0x10], rax
mov rax, qword [rbx]
cmp rax, r14
jbe 0x414d20
movzx ecx, byte [rbx + r14 + 0x10]
call fcn.00409110
mov rcx, r14
mov qword [rsp + 0x58], rax
call fcn.00409110
mov r10, qword [rsp + 0x58]
xor ecx, ecx
mov r9, rax
test r10, r10
je 0x41438d
mov rcx, qword [r10]
test r9, r9
je 0x414395
add rcx, qword [r9]
add rcx, 0x38
mov qword [rsp + 0x60], r9
mov qword [rsp + 0x58], r10
call fcn.00408d40
mov r11d, 0x60
mov r10, qword [rsp + 0x58]
movabs rdx, 0x2064696c61766e49
mov r15, rax
mov rax, qword [rax]
mov r9, qword [rsp + 0x60]
movabs rcx, 0x6620343665736162
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], r11w
mov rax, qword [r15]
lea rdx, [rax + 0x21]
mov qword [r15], rdx
movzx ecx, byte [rbx + r14 + 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 rax, qword [r15]
lea rdx, [rax + 7]
add rax, 0x17
test r10, r10
mov qword [r15], rdx
je 0x414468
lea rcx, [r15 + rax]
mov rax, qword [r10]
lea rdx, [r10 + 0x10]
lea r8, [rax + 1]
call sub.msvcrt.dll_memcpy
mov r10, qword [rsp + 0x58]
mov r9, qword [rsp + 0x60]
mov rax, qword [r10]
add rax, qword [r15]
mov qword [r15], rax
add rax, 0x10
add rax, r15
mov r10d, 0x206e
movabs rcx, 0x636f6c2074612029
mov qword [rax], rcx
mov dword [rax + 8], 0x6f697461
mov word [rax + 0xc], r10w
mov byte [rax + 0xe], 0
mov rax, qword [r15]
lea rdx, [rax + 0xe]
lea rcx, [r15 + rax + 0x1e]
mov qword [r15], rdx
test r9, r9
je 0x4144ca
mov rax, qword [r9]
lea rdx, [r9 + 0x10]
mov qword [rsp + 0x58], r9
lea r8, [rax + 1]
call sub.msvcrt.dll_memcpy
mov r9, qword [rsp + 0x58]
mov rax, qword [r9]
add rax, qword [r15]
mov qword [r15], rax
lea rcx, [r15 + rax + 0x10]
mov eax, 0x2e
mov word [rcx], ax
add qword [r15], 1
add qword [r15 - 0x10], 8
mov rax, qword [r12 + 0x18]
test rax, rax
je 0x41450e
mov rcx, qword [rax - 0x10]
lea r8, [rax - 0x10]
lea rdx, [rcx - 8]
mov qword [rax - 0x10], rdx
cmp rdx, 7
ja 0x41450e
mov rax, qword [0x004236c0]
mov rdx, r8
lea rcx, [rax + 0x18]
call fcn.00404bd0
mov rax, qword [r12 + 8]
mov qword [r12 + 0x18], r15
test rax, rax
je 0x414546
mov rcx, qword [rax - 0x10]
lea r8, [rax - 0x10]
lea rdx, [rcx - 8]
mov qword [rax - 0x10], rdx
cmp rdx, 7
ja 0x414546
mov rax, qword [0x004236c0]
mov rdx, r8
lea rcx, [rax + 0x18]
call fcn.00404bd0
mov qword [r12 + 8], 0
lea r9, str.base64.nim
mov rcx, r12
lea r8, str.decode
mov qword [rsp + 0x20], 0xea
lea rdx, str.ValueError
call fcn.0040d290
jmp 0x41402e
sub rdx, 1
mov rcx, rdi
call fcn.0040e440
jmp 0x414049
sub rdx, 1
mov rcx, rdi
call fcn.0040e440
jmp 0x414189
mov rcx, rax
sub rdx, 1
mov qword [rsp + 0x48], rax
call fcn.0040e440
mov rax, qword [rsp + 0x48]
jmp 0x41414e
mov rcx, qword [0x004234d0]
mov edx, 0x30
call fcn.00408b00
mov r14, rax
mov rax, qword [0x00423510]
mov qword [r14], rax
lea rax, str.ValueError
mov qword [r14 + 0x10], rax
mov rax, qword [rbx]
cmp rax, rdi
jbe 0x414cf7
movzx ecx, byte [rbx + rdi + 0x10]
call fcn.00409110
mov rcx, rdi
mov qword [rsp + 0x60], rax
call fcn.00409110
mov r10, qword [rsp + 0x60]
xor ecx, ecx
mov r9, rax
test r10, r10
je 0x41462e
mov rcx, qword [r10]
test r9, r9
je 0x414636
add rcx, qword [r9]
add rcx, 0x38
mov qword [rsp + 0x68], r9
mov qword [rsp + 0x60], r10
call fcn.00408d40
mov r11d, 0x60
mov r10, qword [rsp + 0x60]
movabs rdx, 0x2064696c61766e49
mov r15, rax
mov rax, qword [rax]
mov r9, qword [rsp + 0x68]
movabs rcx, 0x6620343665736162
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], r11w
mov rax, qword [r15]
lea rdx, [rax + 0x21]
mov qword [r15], rdx
movzx ecx, byte [rbx + rdi + 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 rax, qword [r15]
lea rdx, [rax + 7]
add rax, 0x17
test r10, r10
mov qword [r15], rdx
je 0x414708
lea rcx, [r15 + rax]
mov rax, qword [r10]
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
add rax, 0x10
add rax, r15
mov r10d, 0x206e
movabs rcx, 0x636f6c2074612029
mov qword [rax], rcx
mov dword [rax + 8], 0x6f697461
mov word [rax + 0xc], r10w
mov byte [rax + 0xe], 0
mov rax, qword [r15]
lea rdx, [rax + 0xe]
lea rcx, [r15 + rax + 0x1e]
mov qword [r15], rdx
test r9, r9
je 0x41476a
mov rax, qword [r9]
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
lea rcx, [r15 + rax + 0x10]
mov r9d, 0x2e
mov word [rcx], r9w
add qword [r15], 1
add qword [r15 - 0x10], 8
mov rax, qword [r14 + 0x18]
test rax, rax
je 0x4147af
mov rcx, qword [rax - 0x10]
lea r8, [rax - 0x10]
lea rdx, [rcx - 8]
mov qword [rax - 0x10], rdx
cmp rdx, 7
ja 0x4147af
mov rax, qword [0x004236c0]
mov rdx, r8
lea rcx, [rax + 0x18]
call fcn.00404bd0
mov rax, qword [r14 + 8]
mov qword [r14 + 0x18], r15
test rax, rax
je 0x4147e5
mov rcx, qword [rax - 0x10]
lea r8, [rax - 0x10]
lea rdx, [rcx - 8]
mov qword [rax - 0x10], rdx
cmp rdx, 7
ja 0x4147e5
mov rax, qword [0x004236c0]
mov rdx, r8
lea rcx, [rax + 0x18]
call fcn.00404bd0
mov qword [r14 + 8], 0
lea r9, str.base64.nim
mov rcx, r14
lea r8, str.decode
mov qword [rsp + 0x20], 0xea
lea rdx, str.ValueError
call fcn.0040d290
jmp 0x4140cf
sub rdx, 1
mov rcx, rdi
call fcn.0040e440
jmp 0x4140b8
mov rcx, qword [0x004234d0]
mov edx, 0x30
call fcn.00408b00
mov r15, rax
mov rax, qword [0x00423510]
mov qword [r15], rax
lea rax, str.ValueError
mov qword [r15 + 0x10], rax
mov rax, qword [rbx]
cmp rax, r14
jbe 0x414d72
movzx ecx, byte [rbx + r14 + 0x10]
call fcn.00409110
mov rcx, r14
mov qword [rsp + 0x58], rax
call fcn.00409110
mov r10, qword [rsp + 0x58]
xor ecx, ecx
mov r9, rax
test r10, r10
je 0x414897
mov rcx, qword [r10]
test r9, r9
je 0x41489f
add rcx, qword [r9]
add rcx, 0x38
mov qword [rsp + 0x60], r9
mov qword [rsp + 0x58], r10
call fcn.00408d40
mov r10, qword [rsp + 0x58]
mov r9, qword [rsp + 0x60]
movabs rcx, 0x6620343665736162
movabs rdx, 0x2064696c61766e49
mov rdi, rax
mov rax, qword [rax]
lea rax, [rdi + 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 [rdi]
lea rdx, [rax + 0x21]
mov qword [rdi], rdx
movzx ecx, byte [rbx + r14 + 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 rax, qword [rdi]
lea rdx, [rax + 7]
add rax, 0x17
test r10, r10
mov qword [rdi], rdx
je 0x41496f
lea rcx, [rdi + rax]
mov rax, qword [r10]
lea rdx, [r10 + 0x10]
lea r8, [rax + 1]
call sub.msvcrt.dll_memcpy
mov r10, qword [rsp + 0x58]
mov r9, qword [rsp + 0x60]
mov rax, qword [r10]
add rax, qword [rdi]
mov qword [rdi], rax
add rax, 0x10
add rax, rdi
mov edx, 0x206e
movabs rcx, 0x636f6c2074612029
mov qword [rax], rcx
mov word [rax + 0xc], dx
mov dword [rax + 8], 0x6f697461
mov byte [rax + 0xe], 0
mov rax, qword [rdi]
lea rdx, [rax + 0xe]
lea rcx, [rdi + rax + 0x1e]
mov qword [rdi], rdx
test r9, r9
je 0x4149cf
mov rax, qword [r9]
lea rdx, [r9 + 0x10]
mov qword [rsp + 0x58], r9
lea r8, [rax + 1]
call sub.msvcrt.dll_memcpy
mov r9, qword [rsp + 0x58]
mov rax, qword [r9]
add rax, qword [rdi]
mov qword [rdi], rax
lea rcx, [rdi + rax + 0x10]
mov r8d, 0x2e
mov word [rcx], r8w
add qword [rdi], 1
add qword [rdi - 0x10], 8
mov rax, qword [r15 + 0x18]
test rax, rax
je 0x414a14
mov rcx, qword [rax - 0x10]
lea r8, [rax - 0x10]
lea rdx, [rcx - 8]
mov qword [rax - 0x10], rdx
cmp rdx, 7
ja 0x414a14
mov rax, qword [0x004236c0]
mov rdx, r8
lea rcx, [rax + 0x18]
call fcn.00404bd0
mov rax, qword [r15 + 8]
mov qword [r15 + 0x18], rdi
test rax, rax
je 0x414a4a
mov rcx, qword [rax - 0x10]
lea r8, [rax - 0x10]
lea rdx, [rcx - 8]
mov qword [rax - 0x10], rdx
cmp rdx, 7
ja 0x414a4a
mov rax, qword [0x004236c0]
mov rdx, r8
lea rcx, [rax + 0x18]
call fcn.00404bd0
mov qword [r15 + 8], 0
lea r9, str.base64.nim
mov rcx, r15
lea r8, str.decode
mov qword [rsp + 0x20], 0xea
lea rdx, str.ValueError
call fcn.0040d290
jmp 0x414099
sub rdx, 1
mov rcx, r14
call fcn.0040e440
jmp 0x414080
mov rcx, qword [0x004234d0]
mov edx, 0x30
call fcn.00408b00
mov r14, rax
mov rax, qword [0x00423510]
mov qword [r14], rax
lea rax, str.ValueError
mov qword [r14 + 0x10], rax
mov rax, qword [rbx]
cmp rax, rdi
jbe 0x414d49
movzx ecx, byte [rbx + rdi + 0x10]
call fcn.00409110
mov rcx, rdi
mov qword [rsp + 0x58], rax
call fcn.00409110
mov r9, qword [rsp + 0x58]
xor ecx, ecx
mov r15, rax
test r9, r9
je 0x414af6
mov rcx, qword [r9]
test r15, r15
je 0x414afe
add rcx, qword [r15]
add rcx, 0x38
mov qword [rsp + 0x58], r9
call fcn.00408d40
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 word [rax + 0x20], r9w
mov r9, qword [rsp + 0x58]
mov qword [rax + 0x18], rcx
mov rax, qword [r12]
lea rdx, [rax + 0x21]
mov qword [r12], rdx
movzx ecx, byte [rbx + 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 rax, qword [r12]
lea rdx, [rax + 7]
add rax, 0x17
mov qword [r12], rdx
test r9, r9
je 0x414bc8
lea rcx, [r12 + rax]
mov rax, qword [r9]
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 [r12]
mov qword [r12], rax
add rax, 0x10
add rax, r12
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 rax, qword [r12]
lea rdx, [rax + 0xe]
lea rcx, [r12 + rax + 0x1e]
mov qword [r12], rdx
test r15, r15
je 0x414c24
mov rax, qword [r15]
lea rdx, [r15 + 0x10]
lea r8, [rax + 1]
call sub.msvcrt.dll_memcpy
mov rax, qword [r15]
add rax, qword [r12]
mov qword [r12], rax
lea rcx, [r12 + rax + 0x10]
mov edx, 0x2e
mov word [rcx], dx
add qword [r12], 1
add qword [r12 - 0x10], 8
mov rax, qword [r14 + 0x18]
test rax, rax
je 0x414c69
mov rcx, qword [rax - 0x10]
lea r8, [rax - 0x10]
lea rdx, [rcx - 8]
mov qword [rax - 0x10], rdx
cmp rdx, 7
ja 0x414c69
mov rax, qword [0x004236c0]
mov rdx, r8
lea rcx, [rax + 0x18]
call fcn.00404bd0
mov rax, qword [r14 + 8]
mov qword [r14 + 0x18], r12
test rax, rax
je 0x414c9f
mov rcx, qword [rax - 0x10]
lea r8, [rax - 0x10]
lea rdx, [rcx - 8]
mov qword [rax - 0x10], rdx
cmp rdx, 7
ja 0x414c9f
mov rax, qword [0x004236c0]
mov rdx, r8
lea rcx, [rax + 0x18]
call fcn.00404bd0
mov qword [r14 + 8], 0
lea r9, str.base64.nim
mov rcx, r14
lea r8, str.decode
mov qword [rsp + 0x20], 0xea
lea rdx, str.ValueError
call fcn.0040d290
jmp 0x414061
mov rdx, 0xffffffffffffffff
jmp 0x4142f4
xor eax, eax
add rsp, 0x78
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
lea rdx, [rax - 1]
mov rcx, rdi
call fcn.0040e440
mov rax, qword [rbx]
cmp rax, rdi
ja 0x414605
lea rdx, [rax - 1]
mov rcx, rdi
call fcn.0040e440
jmp 0x414605
lea rdx, [rax - 1]
mov rcx, r14
call fcn.0040e440
mov rax, qword [rbx]
cmp rax, r14
ja 0x414363
lea rdx, [rax - 1]
mov rcx, r14
call fcn.0040e440
jmp 0x414363
lea rdx, [rax - 1]
mov rcx, rdi
call fcn.0040e440
mov rax, qword [rbx]
cmp rax, rdi
ja 0x414acd
lea rdx, [rax - 1]
mov rcx, rdi
call fcn.0040e440
jmp 0x414acd
lea rdx, [rax - 1]
mov rcx, r14
call fcn.0040e440
mov rax, qword [rbx]
cmp rax, r14
ja 0x41486d
lea rdx, [rax - 1]
mov rcx, r14
call fcn.0040e440
jmp 0x41486d
mov qword [rsp + 0x48], 0
xor r15d, r15d
xor r14d, r14d
jmp 0x4141bd
movabs r8, 0x7fffffffffffffff
xor edx, edx
mov rcx, rax
call fcn.0040e7c0
jmp 0x413f49
mov rax, qword [rbx]
cmp rax, r15
jbe 0x415262
lea rax, [0x0041fc60]
mov rsi, rax
mov qword [rsp + 0x40], rax
movzx eax, byte [rbx + r14 + 0x10]
movzx esi, byte [rsi + rax]
cmp sil, 0xff
je 0x41503e
lea rbp, [r15 + 1]
xor r14, rbp
jns 0x414e09
test rbp, rbp
js 0x414ec5
mov rax, qword [rbx]
cmp rax, rbp
jbe 0x41549b
movzx eax, byte [rbx + rbp + 0x10]
mov rcx, qword [rsp + 0x40]
movzx r12d, byte [rcx + rax]
cmp r12, 0xff
je 0x415286
lea rax, [rbp + 1]
xor rbp, rax
jns 0x414e3f
test rax, rax
js 0x414ebb
mov rax, qword [rsp + 0x38]
test rax, rax
je 0x4154ac
mov rdx, qword [rax]
cmp rdx, qword [rsp + 0x48]
jbe 0x415273
mov rax, qword [rsp + 0x48]
shl esi, 2
sar r12, 4
mov rcx, qword [rsp + 0x38]
or esi, r12d
mov byte [rcx + rax + 0x10], sil
mov rsi, rax
lea rax, [rax + 1]
xor rsi, rax
jns 0x414eb1
test rax, rax
jns 0x414eb1
call fcn.004069c0
cmp qword [rsp + 0x48], 0
jns 0x414216
mov rcx, qword [rsp + 0x48]
xor edx, edx
movabs r8, 0x7fffffffffffffff
call fcn.0040e7c0
jmp 0x414216
mov qword [rsp + 0x48], rax
jmp 0x41420a
call fcn.004069c0
jmp 0x414e3f
call fcn.004069c0
jmp 0x414e09
mov rax, qword [rbx]
cmp rax, r15
jbe 0x415bc1
lea rax, [0x0041fc60]
mov rsi, rax
mov qword [rsp + 0x40], rax
movzx eax, byte [rbx + r14 + 0x10]
movzx eax, byte [rsi + rax]
mov byte [rsp + 0x57], al
cmp al, 0xff
je 0x41599d
lea rdi, [r15 + 1]
xor r14, rdi
jns 0x414f12
test rdi, rdi
js 0x41502a
mov rax, qword [rbx]
cmp rax, rdi
jbe 0x41598c
movzx eax, byte [rbx + rdi + 0x10]
mov rsi, qword [rsp + 0x40]
movzx ebp, byte [rsi + rax]
cmp rbp, 0xff
je 0x415760
lea r12, [rdi + 1]
xor rdi, r12
jns 0x414f4b
test r12, r12
js 0x415034
mov rax, qword [rbx]
cmp rax, r12
jbe 0x41574f
movzx eax, byte [rbx + r12 + 0x10]
mov rsi, qword [rsp + 0x40]
movzx edi, byte [rsi + rax]
cmp rdi, 0xff
je 0x415537
lea rax, [r12 + 1]
xor r12, rax
jns 0x414f86
test rax, rax
js 0x415019
mov rax, qword [rsp + 0x38]
test rax, rax
je 0x41552e
mov rdx, qword [rax]
cmp rdx, qword [rsp + 0x48]
jbe 0x41551b
movzx eax, byte [rsp + 0x57]
mov rdx, rbp
mov rsi, qword [rsp + 0x48]
sar rdx, 4
mov rcx, qword [rsp + 0x38]
shl eax, 2
lea rbx, [rsi + 1]
or eax, edx
mov byte [rcx + rsi + 0x10], al
mov rax, rsi
xor rax, rbx
jns 0x414fd2
test rbx, rbx
js 0x415023
mov rax, qword [rsp + 0x38]
mov rax, qword [rax]
cmp rax, rbx
jbe 0x41550a
mov rax, rbp
sar rdi, 2
mov rsi, qword [rsp + 0x38]
shl rax, 4
or eax, edi
mov byte [rsi + rbx + 0x10], al
lea rax, [rbx + 1]
xor rbx, rax
mov qword [rsp + 0x48], rax
jns 0x41420a
test rax, rax
jns 0x414216
jmp 0x414e85
call fcn.004069c0
jmp 0x414f86
call fcn.004069c0
jmp 0x414fd2
call fcn.004069c0
jmp 0x414f12
call fcn.004069c0
jmp 0x414f4b
mov rcx, qword [0x004234d0]
mov edx, 0x30
call fcn.00408b00
mov r12, rax
mov rax, qword [0x00423510]
mov qword [r12], rax
lea rax, str.ValueError
mov qword [r12 + 0x10], rax
mov rax, qword [rbx]
cmp rax, r15
jbe 0x4154e1
movzx ecx, byte [rbx + r14 + 0x10]
call fcn.00409110
mov rcx, r14
mov r13, rax
call fcn.00409110
mov rbp, rax
xor eax, eax
test r13, r13
je 0x415099
mov rax, qword [r13]
test rbp, rbp
je 0x4150a2
add rax, qword [rbp]
lea rcx, [rax + 0x38]
call fcn.00408d40
mov r8d, 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], r8w
mov rax, qword [rdi]
lea rdx, [rax + 0x21]
mov qword [rdi], rdx
movzx ecx, byte [rbx + r14 + 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 rax, qword [rdi]
lea rdx, [rax + 7]
add rax, 0x17
mov qword [rdi], rdx
test r13, r13
je 0x415158
lea rcx, [rdi + rax]
mov rax, qword [r13]
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
add rax, 0x10
movabs rcx, 0x636f6c2074612029
add rax, rdi
mov qword [rax], rcx
mov ecx, 0x206e
mov word [rax + 0xc], cx
mov dword [rax + 8], 0x6f697461
mov byte [rax + 0xe], 0
mov rax, qword [rdi]
lea rdx, [rax + 0xe]
lea rcx, [rdi + rax + 0x1e]
mov qword [rdi], rdx
test rbp, rbp
je 0x4151b0
mov rax, qword [rbp]
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
lea rcx, [rdi + rax + 0x10]
mov r10d, 0x2e
mov word [rcx], r10w
add qword [rdi], 1
add qword [rdi - 0x10], 8
mov rax, qword [r12 + 0x18]
test rax, rax
je 0x4151f6
mov rcx, qword [rax - 0x10]
lea r8, [rax - 0x10]
lea rdx, [rcx - 8]
mov qword [rax - 0x10], rdx
cmp rdx, 7
ja 0x4151f6
mov rax, qword [0x004236c0]
mov rdx, r8
lea rcx, [rax + 0x18]
call fcn.00404bd0
mov rdx, qword [r12 + 8]
mov qword [r12 + 0x18], rdi
test rdx, rdx
je 0x41522e
mov rax, qword [rdx - 0x10]
lea r8, [rdx - 0x10]
sub rax, 8
mov qword [rdx - 0x10], rax
cmp rax, 7
ja 0x41522e
mov rax, qword [0x004236c0]
mov rdx, r8
lea rcx, [rax + 0x18]
call fcn.00404bd0
mov qword [r12 + 8], 0
lea r9, str.base64.nim
mov rcx, r12
lea r8, str.decode
mov qword [rsp + 0x20], 0xea
lea rdx, str.ValueError
call fcn.0040d290
jmp 0x414df7
lea rdx, [rax - 1]
mov rcx, r14
call fcn.0040e440
jmp 0x414dd4
sub rdx, 1
mov rcx, qword [rsp + 0x48]
call fcn.0040e440
jmp 0x414e5b
mov rcx, qword [0x004234d0]
mov edx, 0x30
call fcn.00408b00
mov r13, rax
mov rax, qword [0x00423510]
mov qword [r13], rax
lea rax, str.ValueError
mov qword [r13 + 0x10], rax
mov rax, qword [rbx]
cmp rax, rbp
jbe 0x4154b8
movzx ecx, byte [rbx + rbp + 0x10]
call fcn.00409110
mov rcx, rbp
mov r15, rax
call fcn.00409110
mov r14, rax
xor eax, eax
test r15, r15
je 0x4152de
mov rax, qword [r15]
test r14, r14
je 0x4152e6
add rax, qword [r14]
lea rcx, [rax + 0x38]
call fcn.00408d40
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 [rbx + rbp + 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 rax, qword [rdi]
lea rdx, [rax + 7]
add rax, 0x17
mov qword [rdi], rdx
test r15, r15
je 0x415397
lea rcx, [rdi + rax]
mov rax, qword [r15]
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
add rax, 0x10
add rax, rdi
mov ebx, 0x206e
movabs rcx, 0x636f6c2074612029
mov qword [rax], rcx
mov dword [rax + 8], 0x6f697461
mov word [rax + 0xc], bx
mov byte [rax + 0xe], 0
mov rax, qword [rdi]
lea rdx, [rax + 0xe]
lea rcx, [rdi + rax + 0x1e]
mov qword [rdi], rdx
test r14, r14
je 0x4153ed
mov rax, qword [r14]
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 rcx, [rdi + rax + 0x10]
mov r11d, 0x2e
mov word [rcx], r11w
add qword [rdi], 1
add qword [rdi - 0x10], 8
mov rax, qword [r13 + 0x18]
test rax, rax
je 0x415432
mov rcx, qword [rax - 0x10]
lea r8, [rax - 0x10]
lea rdx, [rcx - 8]
mov qword [rax - 0x10], rdx
cmp rdx, 7
ja 0x415432
mov rax, qword [0x004236c0]
mov rdx, r8
lea rcx, [rax + 0x18]
call fcn.00404bd0
mov rdx, qword [r13 + 8]
mov qword [r13 + 0x18], rdi
test rdx, rdx
je 0x415468
mov rax, qword [rdx - 0x10]
lea r8, [rdx - 0x10]
sub rax, 8
mov qword [rdx - 0x10], rax
cmp rax, 7
ja 0x415468
mov rax, qword [0x004236c0]
mov rdx, r8
lea rcx, [rax + 0x18]
call fcn.00404bd0
mov qword [r13 + 8], 0
lea r9, str.base64.nim
mov rcx, r13
lea r8, str.decode
mov qword [rsp + 0x20], 0xea
lea rdx, str.ValueError
call fcn.0040d290
jmp 0x414e31
lea rdx, [rax - 1]
mov rcx, rbp
call fcn.0040e440
jmp 0x414e15
mov rdx, 0xffffffffffffffff
jmp 0x415277
lea rdx, [rax - 1]
mov rcx, rbp
call fcn.0040e440
mov rax, qword [rbx]
cmp rax, rbp
ja 0x4152bc
lea rdx, [rax - 1]
mov rcx, rbp
call fcn.0040e440
jmp 0x4152bc
lea rdx, [rax - 1]
mov rcx, r14
call fcn.0040e440
mov rax, qword [rbx]
cmp rax, r15
ja 0x415075
lea rdx, [rax - 1]
mov rcx, r14
call fcn.0040e440
jmp 0x415075
lea rdx, [rax - 1]
mov rcx, rbx
call fcn.0040e440
jmp 0x414fe3
sub rdx, 1
mov rcx, qword [rsp + 0x48]
call fcn.0040e440
jmp 0x414fa2
mov rdx, 0xffffffffffffffff
jmp 0x41551f
mov rcx, qword [0x004234d0]
mov edx, 0x30
call fcn.00408b00
mov r13, rax
mov rax, qword [0x00423510]
mov qword [r13], rax
lea rax, str.ValueError
mov qword [r13 + 0x10], rax
mov rax, qword [rbx]
cmp rax, r12
jbe 0x415c24
movzx ecx, byte [rbx + r12 + 0x10]
call fcn.00409110
mov rcx, r12
mov rsi, rax
call fcn.00409110
mov r15, rax
xor eax, eax
test rsi, rsi
je 0x415590
mov rax, qword [rsi]
test r15, r15
je 0x415598
add rax, qword [r15]
lea rcx, [rax + 0x38]
call fcn.00408d40
movabs rcx, 0x6620343665736162
movabs rdx, 0x2064696c61766e49
mov r14, rax
mov rax, qword [rax]
lea rax, [r14 + 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 [r14]
lea rdx, [rax + 0x21]
mov qword [r14], rdx
movzx ecx, byte [rbx + r12 + 0x10]
lea rdx, [rax + 0x22]
mov byte [r14 + rax + 0x31], cl
movabs rcx, 0x2064726f282060
mov qword [r14], rdx
mov qword [r14 + rax + 0x32], rcx
mov rax, qword [r14]
lea rdx, [rax + 7]
add rax, 0x17
mov qword [r14], rdx
test rsi, rsi
je 0x41564b
lea rcx, [r14 + rax]
mov rax, qword [rsi]
lea rdx, [rsi + 0x10]
lea r8, [rax + 1]
call sub.msvcrt.dll_memcpy
mov rax, qword [rsi]
add rax, qword [r14]
mov qword [r14], rax
add rax, 0x10
add rax, r14
mov edx, 0x206e
movabs rsi, 0x636f6c2074612029
mov word [rax + 0xc], dx
mov qword [rax], rsi
mov dword [rax + 8], 0x6f697461
mov byte [rax + 0xe], 0
mov rax, qword [r14]
lea rdx, [rax + 0xe]
lea rcx, [r14 + rax + 0x1e]
mov qword [r14], rdx
test r15, r15
je 0x4156a1
mov rax, qword [r15]
lea rdx, [r15 + 0x10]
lea r8, [rax + 1]
call sub.msvcrt.dll_memcpy
mov rax, qword [r15]
add rax, qword [r14]
mov qword [r14], rax
lea rcx, [r14 + rax + 0x10]
mov r15d, 0x2e
mov word [rcx], r15w
add qword [r14], 1
add qword [r14 - 0x10], 8
mov rax, qword [r13 + 0x18]
test rax, rax
je 0x4156e6
mov rsi, qword [rax - 0x10]
lea r8, [rax - 0x10]
lea rdx, [rsi - 8]
mov qword [rax - 0x10], rdx
cmp rdx, 7
ja 0x4156e6
mov rax, qword [0x004236c0]
mov rdx, r8
lea rcx, [rax + 0x18]
call fcn.00404bd0
mov rdx, qword [r13 + 8]
mov qword [r13 + 0x18], r14
test rdx, rdx
je 0x41571c
mov rax, qword [rdx - 0x10]
lea r8, [rdx - 0x10]
sub rax, 8
mov qword [rdx - 0x10], rax
cmp rax, 7
ja 0x41571c
mov rax, qword [0x004236c0]
mov rdx, r8
lea rcx, [rax + 0x18]
call fcn.00404bd0
mov qword [r13 + 8], 0
lea r9, str.base64.nim
mov rcx, r13
lea r8, str.decode
mov qword [rsp + 0x20], 0xea
lea rdx, str.ValueError
call fcn.0040d290
jmp 0x414f73
lea rdx, [rax - 1]
mov rcx, r12
call fcn.0040e440
jmp 0x414f57
mov rcx, qword [0x004234d0]
mov edx, 0x30
call fcn.00408b00
mov r12, rax
mov rax, qword [0x00423510]
mov qword [r12], rax
lea rax, str.ValueError
mov qword [r12 + 0x10], rax
mov rax, qword [rbx]
cmp rax, rdi
jbe 0x415bfb
movzx ecx, byte [rbx + rdi + 0x10]
call fcn.00409110
mov rcx, rdi
mov r15, rax
call fcn.00409110
mov r14, rax
xor eax, eax
test r15, r15
je 0x4157b9
mov rax, qword [r15]
test r14, r14
je 0x4157c1
add rax, qword [r14]
movabs rsi, 0x2064726f282060
lea rcx, [rax + 0x38]
call fcn.00408d40
mov r9d, 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], r9w
mov rax, qword [r13]
lea rdx, [rax + 0x21]
mov qword [r13], rdx
movzx ecx, byte [rbx + rdi + 0x10]
lea rdx, [rax + 0x22]
mov byte [r13 + rax + 0x31], cl
mov qword [r13], rdx
mov qword [r13 + rax + 0x32], rsi
mov rax, qword [r13]
lea rdx, [rax + 7]
add rax, 0x17
mov qword [r13], rdx
test r15, r15
je 0x41587d
lea rcx, [r13 + rax]
mov rax, qword [r15]
lea rdx, [r15 + 0x10]
lea r8, [rax + 1]
call sub.msvcrt.dll_memcpy
mov rax, qword [r15]
add rax, qword [r13]
mov qword [r13], rax
add rax, 0x10
add rax, r13
mov r8d, 0x206e
movabs rsi, 0x636f6c2074612029
mov qword [rax], rsi
mov dword [rax + 8], 0x6f697461
mov word [rax + 0xc], r8w
mov byte [rax + 0xe], 0
mov rax, qword [r13]
lea rdx, [rax + 0xe]
lea rcx, [r13 + rax + 0x1e]
mov qword [r13], rdx
test r14, r14
je 0x4158d9
mov rax, qword [r14]
lea rdx, [r14 + 0x10]
lea r8, [rax + 1]
call sub.msvcrt.dll_memcpy
mov rax, qword [r14]
add rax, qword [r13]
mov qword [r13], rax
lea rcx, [r13 + rax + 0x10]
mov r14d, 0x2e
mov word [rcx], r14w
add qword [r13], 1
add qword [r13 - 0x10], 8
mov rax, qword [r12 + 0x18]
test rax, rax
je 0x415920
mov rsi, qword [rax - 0x10]
lea r8, [rax - 0x10]
lea rdx, [rsi - 8]
mov qword [rax - 0x10], rdx
cmp rdx, 7
ja 0x415920
mov rax, qword [0x004236c0]
mov rdx, r8
lea rcx, [rax + 0x18]
call fcn.00404bd0
mov rdx, qword [r12 + 8]
mov qword [r12 + 0x18], r13
test rdx, rdx
je 0x415958
mov rax, qword [rdx - 0x10]
lea r8, [rdx - 0x10]
sub rax, 8
mov qword [rdx - 0x10], rax
cmp rax, 7
ja 0x415958
mov rax, qword [0x004236c0]
mov rdx, r8
lea rcx, [rax + 0x18]
call fcn.00404bd0
mov qword [r12 + 8], 0
lea r9, str.base64.nim
mov rcx, r12
lea r8, str.decode
mov qword [rsp + 0x20], 0xea
lea rdx, str.ValueError
call fcn.0040d290
jmp 0x414f39
lea rdx, [rax - 1]
mov rcx, rdi
call fcn.0040e440
jmp 0x414f1e
mov rcx, qword [0x004234d0]
mov edx, 0x30
call fcn.00408b00
mov r12, rax
mov rax, qword [0x00423510]
mov qword [r12], rax
lea rax, str.ValueError
mov qword [r12 + 0x10], rax
mov rax, qword [rbx]
cmp rax, r15
jbe 0x415bd2
movzx ecx, byte [rbx + r14 + 0x10]
call fcn.00409110
mov rcx, r14
mov r13, rax
call fcn.00409110
mov rbp, rax
xor eax, eax
test r13, r13
je 0x4159f8
mov rax, qword [r13]
test rbp, rbp
je 0x415a01
add rax, qword [rbp]
movabs rsi, 0x2064726f282060
lea rcx, [rax + 0x38]
call fcn.00408d40
mov r11d, 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], r11w
mov rax, qword [rdi]
lea rdx, [rax + 0x21]
mov qword [rdi], rdx
movzx ecx, byte [rbx + r14 + 0x10]
lea rdx, [rax + 0x22]
mov byte [rdi + rax + 0x31], cl
mov qword [rdi], rdx
mov qword [rdi + rax + 0x32], rsi
mov rax, qword [rdi]
lea rdx, [rax + 7]
add rax, 0x17
mov qword [rdi], rdx
test r13, r13
je 0x415ab7
lea rcx, [rdi + rax]
mov rax, qword [r13]
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
add rax, 0x10
add rax, rdi
mov r10d, 0x206e
movabs rsi, 0x636f6c2074612029
mov qword [rax], rsi
mov dword [rax + 8], 0x6f697461
mov word [rax + 0xc], r10w
mov byte [rax + 0xe], 0
mov rax, qword [rdi]
lea rdx, [rax + 0xe]
lea rcx, [rdi + rax + 0x1e]
mov qword [rdi], rdx
test rbp, rbp
je 0x415b11
mov rax, qword [rbp]
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
lea rcx, [rdi + rax + 0x10]
mov esi, 0x2e
mov word [rcx], si
add qword [rdi], 1
add qword [rdi - 0x10], 8
mov rax, qword [r12 + 0x18]
test rax, rax
je 0x415b55
mov rsi, qword [rax - 0x10]
lea r8, [rax - 0x10]
lea rdx, [rsi - 8]
mov qword [rax - 0x10], rdx
cmp rdx, 7
ja 0x415b55
mov rax, qword [0x004236c0]
mov rdx, r8
lea rcx, [rax + 0x18]
call fcn.00404bd0
mov rdx, qword [r12 + 8]
mov qword [r12 + 0x18], rdi
test rdx, rdx
je 0x415b8d
mov rax, qword [rdx - 0x10]
lea r8, [rdx - 0x10]
sub rax, 8
mov qword [rdx - 0x10], rax
cmp rax, 7
ja 0x415b8d
mov rax, qword [0x004236c0]
mov rdx, r8
lea rcx, [rax + 0x18]
call fcn.00404bd0
mov qword [r12 + 8], 0
lea r9, str.base64.nim
mov rcx, r12
lea r8, str.decode
mov qword [rsp + 0x20], 0xea
lea rdx, str.ValueError
call fcn.0040d290
jmp 0x414f00
lea rdx, [rax - 1]
mov rcx, r14
call fcn.0040e440
jmp 0x414edb
lea rdx, [rax - 1]
mov rcx, r14
call fcn.0040e440
mov rax, qword [rbx]
cmp rax, r15
ja 0x4159d4
lea rdx, [rax - 1]
mov rcx, r14
call fcn.0040e440
jmp 0x4159d4
lea rdx, [rax - 1]
mov rcx, rdi
call fcn.0040e440
mov rax, qword [rbx]
cmp rax, rdi
ja 0x415797
lea rdx, [rax - 1]
mov rcx, rdi
call fcn.0040e440
jmp 0x415797
lea rdx, [rax - 1]
mov rcx, r12
call fcn.0040e440
mov rax, qword [rbx]
cmp rax, r12
ja 0x41556d
lea rdx, [rax - 1]
mov rcx, r12
call fcn.0040e440
jmp 0x41556d