Function at 0x1400621d0
Capabilities:
Encode data using base64

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x168
cmp byte [rdx + 0x4d], 0
jne 0x1400622b9
mov r12, qword [rdx + 0x10]
test r12, r12
je 0x1400622b9
movabs rax, 0x555555555555556
cmp r12, rax
jae 0x140063f75
mov qword [rsp + 0x40], rcx
mov qword [rsp + 0xe0], rdx
mov r13, qword [rdx + 8]
lea rax, [r12*8]
lea rdi, [rax + rax*2]
movzx eax, byte [0x1404c8501]
xor ecx, ecx
mov rdx, rdi
call fcn.140277170
test rax, rax
je 0x140063fe0
mov rsi, rax
xor ebp, ebp
mov qword [rsp + 0x28], r12
jmp 0x140062282
mov r15d, 1
dec r12
add r13, 0x18
mov rcx, r15
mov rdx, r14
mov r8, rbx
call sub.VCRUNTIME140.dll_memcpy
mov qword [rsi + rbp], rbx
mov qword [rsi + rbp + 8], r15
mov qword [rsi + rbp + 0x10], rbx
add rbp, 0x18
test r12, r12
je 0x1400622cb
cmp rdi, rbp
je 0x1400622cb
mov r14, qword [r13 + 8]
mov rbx, qword [r13 + 0x10]
test rbx, rbx
je 0x140062250
js 0x140063f75
movzx eax, byte [0x1404c8501]
xor ecx, ecx
mov rdx, rbx
call fcn.140277170
test rax, rax
je 0x140063f7a
mov r15, rax
jmp 0x140062256
movabs rax, 0x8000000000000000
mov qword [rcx], rax
jmp 0x1400639aa
mov rax, qword [rsp + 0xe0]
mov rdi, qword [rax + 0x20]
mov r14, qword [rax + 0x28]
test r14, r14
je 0x140062314
mov rax, r14
shr rax, 0x3d
jne 0x140063f75
lea rbx, [r14*4]
movzx eax, byte [0x1404c8501]
xor ecx, ecx
mov rdx, rbx
call fcn.140277170
test rax, rax
je 0x140064035
mov r13, rax
jmp 0x14006231c
mov r13d, 4
xor ebx, ebx
mov rcx, r13
mov rdx, rdi
mov r8, rbx
call sub.VCRUNTIME140.dll_memcpy
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0x108], rax
mov qword [rsp + 0x110], rsi
mov qword [rsp + 0x118], rax
mov qword [rsp + 0x120], r14
mov qword [rsp + 0x128], r13
mov qword [rsp + 0x130], r14
mov rax, qword [rsp + 0xe0]
movdqu xmm0, xmmword [rax + 0x30]
movdqu xmmword [rsp + 0x138], xmm0
movzx eax, byte [rax + 0x48]
mov byte [rsp + 0x148], al
test al, al
mov qword [rsp + 0xd0], r14
je 0x1400623c4
lea rax, [rsp + 0x108]
mov qword [rsp + 0x38], rax
cmp r14, 0x15
jae 0x1400623ee
cmp r14, 1
jbe 0x1400631b0
lea r9, [rsp + 0x38]
mov r8d, 1
mov rcx, r13
mov rdx, r14
call fcn.140064140
jmp 0x1400631b0
cmp r14, 0x15
jae 0x140062b02
cmp r14, 1
jbe 0x1400631b0
mov r8d, 1
mov rcx, r13
mov rdx, r14
call fcn.1400640a0
jmp 0x1400631b0
lea rax, [r14 + r14]
movabs rdx, 0x7ffffffffffffffc
and rdx, rax
movzx eax, byte [0x1404c8501]
xor ecx, ecx
call fcn.140277170
mov qword [rsp + 0x28], rax
test rax, rax
je 0x140064042
movzx eax, byte [0x1404c8501]
mov edx, 0x100
xor ecx, ecx
call fcn.140277170
test rax, rax
je 0x14006404e
mov rsi, rax
lea rax, [r13 - 0x10]
mov qword [rsp + 0xd8], rax
lea rax, [r13 + 0x10]
mov qword [rsp + 0x100], rax
mov qword [rsp + 0x48], r13
lea rax, [r13 - 4]
mov qword [rsp + 0x68], rax
mov eax, 0x10
mov qword [rsp + 0xc0], rax
xor r13d, r13d
xor r10d, r10d
jmp 0x140062494
mov r10d, 1
mov r13, qword [rsp + 0x60]
cmp r13, r14
jae 0x14006318b
mov r11, r14
sub r11, r13
mov rax, qword [rsp + 0x48]
lea rcx, [rax + r13*4]
cmp r11, 2
jae 0x140062530
mov rbx, rsi
mov r8, r11
lea rdx, [r8 + r13]
mov rsi, rdx
sub rsi, r13
jb 0x140063f87
cmp rdx, r14
ja 0x140063f87
jae 0x1400625f0
cmp r8, 0xa
jae 0x1400625f0
lea rsi, [r13 + 0xa]
cmp rsi, r14
cmovae rsi, r14
cmp r13, 0xfffffffffffffff6
jae 0x140063fed
mov rdi, r10
cmp r8, 1
adc r8, 0
mov qword [rsp + 0x60], rsi
sub rsi, r13
mov rdx, rsi
lea r9, [rsp + 0x38]
call fcn.140064140
mov r10, rdi
cmp r10, qword [rsp + 0xc0]
je 0x1400625ff
jmp 0x140062659
mov eax, dword [rcx + 4]
mov r8, qword [rsp + 0x38]
mov rdx, qword [r8 + 0x10]
cmp rdx, rax
jbe 0x140063d84
mov r9d, dword [rcx]
cmp rdx, r9
jbe 0x140063d93
mov rbx, rsi
mov rsi, qword [r8 + 8]
lea rax, [rax + rax*2]
mov rax, qword [rsi + rax*8 + 0x10]
lea r8, [r9 + r9*2]
cmp rax, qword [rsi + r8*8 + 0x10]
jbe 0x1400629b0
mov rdi, r10
mov r10d, 2
cmp r11, 2
je 0x1400625ba
nop
mov eax, dword [rcx + r10*4]
cmp rdx, rax
jbe 0x140063d84
mov r9d, dword [rcx + r10*4 - 4]
cmp rdx, r9
jbe 0x140063d93
lea rax, [rax + rax*2]
mov rax, qword [rsi + rax*8 + 0x10]
lea r8, [r9 + r9*2]
cmp rax, qword [rsi + r8*8 + 0x10]
jbe 0x1400625ba
inc r10
cmp r11, r10
jne 0x140062580
mov r10, r11
mov rdx, r10
add rdx, r13
jb 0x14006406c
cmp rdx, r14
ja 0x14006405a
mov r8d, 1
cmp r10, 2
jae 0x140062a00
mov r10, rdi
jmp 0x1400624b7
mov qword [rsp + 0x60], rdx
cmp r10, qword [rsp + 0xc0]
jne 0x140062659
mov rdx, r10
shl rdx, 5
movzx eax, byte [0x1404c8501]
xor ecx, ecx
mov r15, r10
call fcn.140277170
test rax, rax
je 0x140063f9f
mov rdi, rax
lea rax, [r15 + r15]
mov qword [rsp + 0xc0], rax
mov r8, r15
shl r8, 4
mov rcx, rdi
mov rdx, rbx
call sub.VCRUNTIME140.dll_memcpy
mov rcx, qword [0x1404c8458]
xor edx, edx
mov r8, rbx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rbx, rdi
mov r10, r15
mov rax, r10
shl rax, 4
mov qword [rbx + rax], rsi
mov qword [rbx + rax + 8], r13
inc r10
mov rax, r10
cmp r10, 2
mov rsi, rbx
mov qword [rsp + 0xc8], rbx
jae 0x140062707
jmp 0x140062486
mov r14, rsi
mov rdx, qword [rsp + 0x28]
mov rsi, qword [rsp + 0xc8]
add r13, rsi
add r15, rsi
sub r8, rdx
mov rcx, r14
call sub.VCRUNTIME140.dll_memcpy
mov rax, qword [rsp + 0x50]
add rax, qword [rsp + 0x30]
mov qword [r15], rax
mov rax, qword [rsp + 0xe8]
mov qword [r15 + 8], rax
lea rdx, [r13 + 0x10]
mov rax, qword [rsp + 0x58]
not rax
mov r8, qword [rsp + 0xf8]
add r8, rax
shl r8, 4
mov rcx, r13
call sub.VCRUNTIME140.dll_memmove
mov rax, qword [rsp + 0xf0]
cmp rax, 1
mov r14, qword [rsp + 0xd0]
jbe 0x140062480
mov r10, rax
lea r11, [rax - 1]
mov rcx, r11
shl rcx, 4
mov rax, qword [rsi + rcx]
mov rcx, qword [rsi + rcx + 8]
add rcx, rax
cmp rcx, r14
je 0x140062780
mov rdx, r10
shl rdx, 4
mov r8, qword [rdx + rsi - 0x20]
cmp r8, rax
jbe 0x140062780
cmp r10, 2
je 0x140062a16
lea r13, [r10 - 3]
mov rcx, r13
shl rcx, 4
mov rcx, qword [rsi + rcx]
lea r9, [r8 + rax]
cmp rcx, r9
jbe 0x140062795
cmp r10, 3
jbe 0x140062af7
add r8, rcx
cmp qword [rdx + rsi - 0x40], r8
jbe 0x140062795
jmp 0x140062486
cmp r10, 2
je 0x14006279a
lea r13, [r10 - 3]
mov rcx, r13
shl rcx, 4
mov rcx, qword [rsi + rcx]
cmp rcx, rax
jb 0x14006279e
lea r13, [r10 - 2]
cmp r10, r13
jbe 0x140063efe
lea r15, [r13 + 1]
cmp r10, r15
jbe 0x140063ebc
mov qword [rsp + 0x58], r13
shl r13, 4
mov rcx, qword [rsi + r13 + 8]
shl r15, 4
mov rax, qword [rsi + r15]
mov r12, qword [rsi + r15 + 8]
add r12, rax
mov rbx, r12
sub rbx, rcx
jb 0x140063f40
cmp r12, r14
ja 0x140063f4f
mov qword [rsp + 0x50], rax
mov qword [rsp + 0xf0], r11
mov qword [rsp + 0xf8], r10
mov rdx, qword [rsi + r13]
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0xe8], rcx
lea r14, [rax + rcx*4]
lea rsi, [r14 + rdx*4]
mov rbp, rbx
sub rbp, rdx
cmp rbp, rdx
mov qword [rsp + 0x30], rdx
jae 0x1400628f0
lea r8, [rbp*4]
mov rdi, qword [rsp + 0x28]
mov rcx, rdi
mov rdx, rsi
call sub.VCRUNTIME140.dll_memcpy
lea r8, [rdi + rbp*4]
cmp qword [rsp + 0x30], 0
jle 0x140062690
test rbp, rbp
jle 0x140062690
mov r9, qword [rsp + 0x38]
mov rax, qword [rsp + 0x68]
lea r10, [rax + r12*4]
nop dword [rax + rax]
mov ecx, dword [r8 - 4]
mov rdx, qword [r9 + 0x10]
cmp rdx, rcx
jbe 0x14006315e
mov eax, dword [rsi - 4]
cmp rdx, rax
jbe 0x14006316a
mov rdx, qword [r9 + 8]
lea rcx, [rcx + rcx*2]
mov rcx, qword [rdx + rcx*8 + 0x10]
lea rax, [rax + rax*2]
mov rax, qword [rdx + rax*8 + 0x10]
xor edx, edx
xor r11d, r11d
cmp rcx, rax
setbe dl
seta r11b
shl r11d, 2
sub rsi, r11
shl edx, 2
sub r8, rdx
cmp rcx, rax
mov rax, r8
cmova rax, rsi
mov eax, dword [rax]
mov dword [r10], eax
cmp rsi, r14
jbe 0x140062690
add r10, 0xfffffffffffffffc
cmp r8, qword [rsp + 0x28]
ja 0x140062870
jmp 0x140062690
lea r8, [rdx*4]
mov rdi, qword [rsp + 0x28]
mov rcx, rdi
mov rdx, r14
call sub.VCRUNTIME140.dll_memcpy
mov rax, qword [rsp + 0x30]
lea r8, [rdi + rax*4]
test rax, rax
jle 0x140062693
cmp rbx, rax
jle 0x140062693
mov rax, qword [rsp + 0x48]
lea r10, [rax + r12*4]
mov r11, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x28]
nop word cs:[rax + rax]
mov ecx, dword [rsi]
mov r9, qword [r11 + 0x10]
cmp r9, rcx
jbe 0x14006314f
mov eax, dword [rdx]
cmp r9, rax
jbe 0x140063179
mov rbx, qword [r11 + 8]
lea r9, [rcx + rcx*2]
mov r12, qword [rbx + r9*8 + 0x10]
lea rbp, [rax + rax*2]
xor edi, edi
xor r9d, r9d
cmp r12, qword [rbx + rbp*8 + 0x10]
setbe dil
seta bl
cmova eax, ecx
mov dword [r14], eax
add r14, 4
lea rdx, [rdx + rdi*4]
cmp rdx, r8
jae 0x140062698
mov r9b, bl
lea rsi, [rsi + r9*4]
cmp rsi, r10
jb 0x140062940
jmp 0x140062698
mov r8d, 2
cmp r11, 2
je 0x1400624b3
mov eax, dword [rcx + r8*4]
cmp rdx, rax
jbe 0x140063d84
mov r9d, dword [rcx + r8*4 - 4]
cmp rdx, r9
jbe 0x140063d93
lea rax, [rax + rax*2]
mov rax, qword [rsi + rax*8 + 0x10]
lea r9, [r9 + r9*2]
cmp rax, qword [rsi + r9*8 + 0x10]
ja 0x1400624b3
inc r8
cmp r11, r8
jne 0x1400629c0
jmp 0x1400624b0
mov r15, rdx
mov rax, r10
shr rax, 1
cmp r10, 0x10
jae 0x140062a21
xor edx, edx
jmp 0x140062aa6
mov r10d, 2
jmp 0x140062486
mov rdx, rax
and rdx, 0xfffffffffffffff8
mov r8, qword [rsp + 0xd8]
lea r8, [r8 + r15*4]
mov r9, qword [rsp + 0x100]
lea r9, [r9 + r13*4]
xor r11d, r11d
nop word cs:[rax + rax]
movdqu xmm0, xmmword [r9 + r11*4 - 0x10]
movdqu xmm1, xmmword [r9 + r11*4]
movdqu xmm2, xmmword [r8 - 0x10]
movdqu xmm3, xmmword [r8]
pshufd xmm3, xmm3, 0x1b
pshufd xmm2, xmm2, 0x1b
movdqu xmmword [r9 + r11*4 - 0x10], xmm3
movdqu xmmword [r9 + r11*4], xmm2
pshufd xmm0, xmm0, 0x1b
movdqu xmmword [r8], xmm0
pshufd xmm0, xmm1, 0x1b
movdqu xmmword [r8 - 0x10], xmm0
add r11, 8
add r8, 0xffffffffffffffe0
cmp rdx, r11
jne 0x140062a50
cmp rax, rdx
je 0x140062ae9
neg rax
mov r8, rdx
neg r8
shl rdx, 2
lea rdx, [rdx + r13*4]
add rdx, qword [rsp + 0x48]
mov r9, qword [rsp + 0x68]
lea r9, [r9 + r15*4]
nop word cs:[rax + rax]
mov r11d, dword [rdx]
mov esi, dword [r9 + r8*4]
mov dword [rdx], esi
mov dword [r9 + r8*4], r11d
dec r8
add rdx, 4
cmp rax, r8
jne 0x140062ad0
mov r8, r10
mov r10, rdi
mov rdx, r15
jmp 0x1400624b7
mov r10d, 3
jmp 0x140062486
lea rax, [r14 + r14]
movabs rdx, 0x7ffffffffffffffc
and rdx, rax
movzx eax, byte [0x1404c8501]
xor ecx, ecx
call fcn.140277170
test rax, rax
je 0x140064042
mov rbp, rax
movzx eax, byte [0x1404c8501]
mov edx, 0x100
xor ecx, ecx
call fcn.140277170
test rax, rax
je 0x14006404e
mov r12, rax
lea rax, [r13 - 0x10]
mov qword [rsp + 0xc0], rax
lea rax, [r13 + 0x10]
mov qword [rsp + 0xd8], rax
lea rax, [r13 - 4]
mov qword [rsp + 0xc8], rax
mov eax, 0x10
mov qword [rsp + 0x60], rax
xor esi, esi
xor ebx, ebx
mov qword [rsp + 0x48], r13
mov qword [rsp + 0x50], rbp
jmp 0x140062ba3
mov ebx, 1
mov rsi, qword [rsp + 0x68]
cmp rsi, r14
jae 0x14006312c
mov rdx, r14
sub rdx, rsi
lea rcx, [rsi*4]
add rcx, r13
cmp rdx, 2
jae 0x140062c30
mov r8, rdx
lea r15, [r8 + rsi]
mov rdi, r15
sub rdi, rsi
jb 0x140063f87
cmp r15, r14
ja 0x140063f87
jae 0x140062cb0
cmp r8, 0xa
jae 0x140062cb0
lea rdi, [rsi + 0xa]
cmp rdi, r14
cmovae rdi, r14
cmp rsi, 0xfffffffffffffff6
jae 0x140063fab
cmp r8, 1
adc r8, 0
mov qword [rsp + 0x68], rdi
sub rdi, rsi
mov rdx, rdi
call fcn.1400640a0
cmp rbx, qword [rsp + 0x60]
je 0x140062cbc
jmp 0x140062d13
mov r9d, dword [rcx + 4]
cmp r9d, dword [rcx]
jae 0x140063020
mov eax, 2
cmp rdx, 2
je 0x140062c67
nop dword [rax + rax]
mov r8d, r9d
mov r9d, dword [rcx + rax*4]
cmp r9d, r8d
jae 0x140062c67
inc rax
cmp rdx, rax
jne 0x140062c50
mov rax, rdx
mov rdx, rax
add rdx, rsi
jb 0x140063fcf
mov r15, rdx
cmp rdx, r14
ja 0x140063fbd
mov r8d, 1
cmp rax, 2
jb 0x140062bc1
mov rdx, rax
shr rdx, 1
cmp rax, 0x10
jae 0x140063057
xor r8d, r8d
jmp 0x1400630d6
mov qword [rsp + 0x68], r15
cmp rbx, qword [rsp + 0x60]
jne 0x140062d13
mov rdx, rbx
shl rdx, 5
movzx eax, byte [0x1404c8501]
xor ecx, ecx
call fcn.140277170
test rax, rax
je 0x140063f9f
mov r15, rbx
mov rbx, rax
lea rax, [r15 + r15]
mov qword [rsp + 0x60], rax
mov r8, r15
shl r8, 4
mov rcx, rbx
mov rdx, r12
call sub.VCRUNTIME140.dll_memcpy
mov rcx, qword [0x1404c8458]
xor edx, edx
mov r8, r12
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov r12, rbx
mov rbx, r15
mov rax, rbx
shl rax, 4
mov qword [r12 + rax], rdi
mov qword [r12 + rax + 8], rsi
inc rbx
mov rax, rbx
cmp rbx, 2
mov qword [rsp + 0x28], r12
jae 0x140062db5
jmp 0x140062b95
mov rbx, r14
mov rdx, rbp
mov r13, qword [rsp + 0x48]
mov r12, qword [rsp + 0x28]
add rsi, r12
add r15, r12
sub r8, rdx
mov rcx, rbx
call sub.VCRUNTIME140.dll_memcpy
mov rax, qword [rsp + 0xe8]
add rax, rdi
mov qword [r15], rax
mov rax, qword [rsp + 0xf0]
mov qword [r15 + 8], rax
lea rdx, [rsi + 0x10]
mov rax, qword [rsp + 0xf8]
not rax
mov r8, qword [rsp + 0x30]
add r8, rax
shl r8, 4
mov rcx, rsi
call sub.VCRUNTIME140.dll_memmove
mov rax, qword [rsp + 0x58]
cmp rax, 1
mov r14, qword [rsp + 0xd0]
jbe 0x140062b90
mov rbx, rax
lea r10, [rax - 1]
mov rcx, r10
shl rcx, 4
mov rax, qword [r12 + rcx]
mov rcx, qword [r12 + rcx + 8]
add rcx, rax
cmp rcx, r14
je 0x140062e20
mov rdx, rbx
shl rdx, 4
mov r8, qword [rdx + r12 - 0x20]
cmp r8, rax
jbe 0x140062e20
cmp rbx, 2
je 0x14006304d
lea r11, [rbx - 3]
mov rcx, r11
shl rcx, 4
mov rcx, qword [r12 + rcx]
lea r9, [r8 + rax]
cmp rcx, r9
jbe 0x140062e35
cmp rbx, 3
jbe 0x140063122
add r8, rcx
cmp qword [rdx + r12 - 0x40], r8
jbe 0x140062e35
jmp 0x140062b95
cmp rbx, 2
je 0x140062e3a
lea r11, [rbx - 3]
mov rcx, r11
shl rcx, 4
mov rcx, qword [r12 + rcx]
cmp rcx, rax
jb 0x140062e3e
lea r11, [rbx - 2]
cmp rbx, r11
jbe 0x140063efe
lea r15, [r11 + 1]
cmp rbx, r15
jbe 0x140063ebc
mov rsi, r11
shl rsi, 4
mov rcx, qword [r12 + rsi + 8]
shl r15, 4
mov rax, qword [r12 + r15]
mov r12, qword [r12 + r15 + 8]
add r12, rax
mov rbp, r12
sub rbp, rcx
jb 0x140063f40
mov qword [rsp + 0x30], rbx
cmp r12, r14
ja 0x140063f4f
mov qword [rsp + 0xe8], rax
mov qword [rsp + 0xf8], r11
mov qword [rsp + 0x58], r10
mov rax, qword [rsp + 0x28]
mov rdi, qword [rax + rsi]
mov qword [rsp + 0xf0], rcx
lea rbx, [rcx*4]
add rbx, r13
lea r14, [rbx + rdi*4]
mov r13, rbp
sub r13, rdi
cmp r13, rdi
jae 0x140062f70
lea r8, [r13*4]
mov rbp, qword [rsp + 0x50]
mov rcx, rbp
mov rdx, r14
call sub.VCRUNTIME140.dll_memcpy
lea r8, [r13*4]
add r8, rbp
test rdi, rdi
jle 0x140062d40
test r13, r13
jle 0x140062d40
mov rax, qword [rsp + 0xc8]
lea rax, [rax + r12*4]
mov r13, qword [rsp + 0x48]
mov r12, qword [rsp + 0x28]
nop dword [rax]
mov ecx, dword [r8 - 4]
mov edx, dword [r14 - 4]
cmp ecx, edx
mov r9d, 0
sbb r9, r9
cmp ecx, edx
mov r10d, 0
adc r10, 0xffffffffffffffff
cmp ecx, edx
lea r14, [r14 + r9*4]
lea r8, [r8 + r10*4]
mov rcx, r8
cmovb rcx, r14
mov ecx, dword [rcx]
mov dword [rax], ecx
cmp r14, rbx
jbe 0x140062f62
add rax, 0xfffffffffffffffc
cmp r8, rbp
ja 0x140062f20
mov rbx, r14
mov rdx, rbp
jmp 0x140062d50
lea r8, [rdi*4]
mov r13, qword [rsp + 0x50]
mov rcx, r13
mov rdx, rbx
call sub.VCRUNTIME140.dll_memcpy
lea r8, [rdi*4]
add r8, r13
test rdi, rdi
jle 0x140063014
mov rcx, rdi
cmp rbp, rdi
mov r13, qword [rsp + 0x48]
jle 0x140062fff
lea rax, [r12*4]
add rax, r13
mov rbp, qword [rsp + 0x50]
mov rdx, rbp
mov rdi, rcx
nop dword [rax + rax]
mov r10d, dword [r14]
mov r11d, dword [rdx]
xor r12d, r12d
xor ecx, ecx
cmp r10d, r11d
setae r12b
setb r9b
cmovb r11d, r10d
mov dword [rbx], r11d
add rbx, 4
lea rdx, [rdx + r12*4]
cmp rdx, r8
jae 0x140062d4b
mov cl, r9b
lea r14, [r14 + rcx*4]
cmp r14, rax
jb 0x140062fc0
jmp 0x140062d4b
mov rbp, qword [rsp + 0x50]
mov rdx, rbp
mov r12, qword [rsp + 0x28]
mov rdi, rcx
jmp 0x140062d50
mov rbp, qword [rsp + 0x50]
jmp 0x140062d43
mov r8d, 2
cmp rdx, 2
je 0x140062bbd
mov eax, r9d
mov r9d, dword [rcx + r8*4]
cmp r9d, eax
jb 0x140062bbd
inc r8
cmp rdx, r8
jne 0x140063030
jmp 0x140062bba
mov ebx, 2
jmp 0x140062b95
mov r8, rdx
and r8, 0xfffffffffffffff8
mov r9, qword [rsp + 0xc0]
lea r9, [r9 + r15*4]
mov r10, qword [rsp + 0xd8]
lea r10, [r10 + rsi*4]
xor r11d, r11d
nop dword [rax]
movdqu xmm0, xmmword [r10 + r11*4 - 0x10]
movdqu xmm1, xmmword [r10 + r11*4]
movdqu xmm2, xmmword [r9 - 0x10]
movdqu xmm3, xmmword [r9]
pshufd xmm3, xmm3, 0x1b
pshufd xmm2, xmm2, 0x1b
movdqu xmmword [r10 + r11*4 - 0x10], xmm3
movdqu xmmword [r10 + r11*4], xmm2
pshufd xmm0, xmm0, 0x1b
movdqu xmmword [r9], xmm0
pshufd xmm0, xmm1, 0x1b
movdqu xmmword [r9 - 0x10], xmm0
add r11, 8
add r9, 0xffffffffffffffe0
cmp r8, r11
jne 0x140063080
cmp rdx, r8
je 0x14006311a
neg rdx
mov r9, r8
neg r9
shl r8, 2
lea r8, [r8 + rsi*4]
add r8, r13
mov r10, qword [rsp + 0xc8]
lea r10, [r10 + r15*4]
nop word cs:[rax + rax]
mov r11d, dword [r8]
mov edi, dword [r10 + r9*4]
mov dword [r8], edi
mov dword [r10 + r9*4], r11d
dec r9
add r8, 4
cmp rdx, r9
jne 0x140063100
mov r8, rax
jmp 0x140062bc1
mov ebx, 3
jmp 0x140062b95
mov rcx, qword [0x1404c8458]
xor edx, edx
mov r8, r12
mov rsi, qword [sym.imp.KERNEL32.dll_HeapFree]
call rsi
mov rcx, qword [0x1404c8458]
xor edx, edx
mov r8, rbp
jmp 0x1400631ae
lea r8, [0x1403dbb08]
mov rdx, r9
call fcn.1402c7670
lea r8, [0x1403dbb08]
call fcn.1402c7670
lea r8, [0x1403dbb20]
mov rcx, rax
call fcn.1402c7670
lea r8, [0x1403dbb20]
mov rcx, rax
mov rdx, r9
call fcn.1402c7670
mov rcx, qword [0x1404c8458]
xor edx, edx
mov r8, rsi
mov rsi, qword [sym.imp.KERNEL32.dll_HeapFree]
call rsi
mov rcx, qword [0x1404c8458]
xor edx, edx
mov r8, qword [rsp + 0x28]
call rsi
mov rax, qword [rsp + 0x148]
mov qword [rsp + 0xb0], rax
movups xmm0, xmmword [rsp + 0x108]
movups xmm1, xmmword [rsp + 0x118]
movups xmm2, xmmword [rsp + 0x128]
movups xmm3, xmmword [rsp + 0x138]
movaps xmmword [rsp + 0xa0], xmm3
movaps xmmword [rsp + 0x90], xmm2
movaps xmmword [rsp + 0x80], xmm1
movaps xmmword [rsp + 0x70], xmm0
movzx eax, byte [0x1404c8501]
mov edx, 0x58
xor ecx, ecx
call fcn.140277170
test rax, rax
je 0x140063fff
mov qword [rax], 1
mov qword [rax + 8], 1
movaps xmm0, xmmword [rsp + 0x70]
movaps xmm1, xmmword [rsp + 0x80]
movaps xmm2, xmmword [rsp + 0x90]
movaps xmm3, xmmword [rsp + 0xa0]
movups xmmword [rax + 0x10], xmm0
movups xmmword [rax + 0x20], xmm1
movups xmmword [rax + 0x30], xmm2
movups xmmword [rax + 0x40], xmm3
mov rcx, qword [rsp + 0xb0]
mov qword [rax + 0x50], rcx
cmp qword [rax + 0x20], 0
je 0x14006400e
mov r9, qword [rax + 0x40]
mov r13, r9
cmp r9, 1
je 0x1400632c8
test r9, r9
je 0x14006407b
lea rcx, [r9 - 1]
lea rdx, [r9 - 2]
mov r8d, ecx
and r8d, 7
cmp rdx, 7
jae 0x14006329f
mov r13d, 1
jmp 0x1400632ba
and rcx, 0xfffffffffffffff8
mov r13d, 1
nop dword [rax]
shl r13, 8
add rcx, 0xfffffffffffffff8
jne 0x1400632b0
test r8, r8
je 0x1400632c8
nop
add r13, r13
dec r8
jne 0x1400632c0
mov qword [rsp + 0x30], r9
mov qword [rsp + 0x28], rax
lock inc qword [rax]
jle 0x140063fde
movzx eax, byte [0x1404c8501]
mov edx, 0x600
xor ecx, ecx
call fcn.140277170
test rax, rax
je 0x140064026
mov r15, rax
mov qword [rax], 0
mov qword [rax + 8], 8
xorps xmm0, xmm0
movups xmmword [rax + 0x10], xmm0
mov qword [rax + 0x20], 8
movups xmmword [rax + 0x28], xmm0
mov qword [rax + 0x38], 8
movups xmmword [rax + 0x40], xmm0
mov qword [rax + 0x50], 8
movups xmmword [rax + 0x58], xmm0
mov qword [rax + 0x68], 8
movups xmmword [rax + 0x70], xmm0
mov qword [rax + 0x80], 8
movups xmmword [rax + 0x88], xmm0
mov qword [rax + 0x98], 8
movups xmmword [rax + 0xa0], xmm0
mov qword [rax + 0xb0], 8
movups xmmword [rax + 0xb8], xmm0
mov qword [rax + 0xc8], 8
movups xmmword [rax + 0xd0], xmm0
mov qword [rax + 0xe0], 8
movups xmmword [rax + 0xe8], xmm0
mov qword [rax + 0xf8], 8
movups xmmword [rax + 0x100], xmm0
mov qword [rax + 0x110], 8
movups xmmword [rax + 0x118], xmm0
mov qword [rax + 0x128], 8
movups xmmword [rax + 0x130], xmm0
mov qword [rax + 0x140], 8
movups xmmword [rax + 0x148], xmm0
mov qword [rax + 0x158], 8
movups xmmword [rax + 0x160], xmm0
mov qword [rax + 0x170], 8
movups xmmword [rax + 0x178], xmm0
mov qword [rax + 0x188], 8
movups xmmword [rax + 0x190], xmm0
mov qword [rax + 0x1a0], 8
movups xmmword [rax + 0x1a8], xmm0
mov qword [rax + 0x1b8], 8
movups xmmword [rax + 0x1c0], xmm0
mov qword [rax + 0x1d0], 8
movups xmmword [rax + 0x1d8], xmm0
mov qword [rax + 0x1e8], 8
movups xmmword [rax + 0x1f0], xmm0
mov qword [rax + 0x200], 8
movups xmmword [rax + 0x208], xmm0
mov qword [rax + 0x218], 8
movups xmmword [rax + 0x220], xmm0
mov qword [rax + 0x230], 8
movups xmmword [rax + 0x238], xmm0
mov qword [rax + 0x248], 8
movups xmmword [rax + 0x250], xmm0
mov qword [rax + 0x260], 8
movups xmmword [rax + 0x268], xmm0
mov qword [rax + 0x278], 8
movups xmmword [rax + 0x280], xmm0
mov qword [rax + 0x290], 8
movups xmmword [rax + 0x298], xmm0
mov qword [rax + 0x2a8], 8
movups xmmword [rax + 0x2b0], xmm0
mov qword [rax + 0x2c0], 8
movups xmmword [rax + 0x2c8], xmm0
mov qword [rax + 0x2d8], 8
movups xmmword [rax + 0x2e0], xmm0
mov qword [rax + 0x2f0], 8
movups xmmword [rax + 0x2f8], xmm0
mov qword [rax + 0x308], 8
movups xmmword [rax + 0x310], xmm0
mov qword [rax + 0x320], 8
movups xmmword [rax + 0x328], xmm0
mov qword [rax + 0x338], 8
movups xmmword [rax + 0x340], xmm0
mov qword [rax + 0x350], 8
movups xmmword [rax + 0x358], xmm0
mov qword [rax + 0x368], 8
movups xmmword [rax + 0x370], xmm0
mov qword [rax + 0x380], 8
movups xmmword [rax + 0x388], xmm0
mov qword [rax + 0x398], 8
movups xmmword [rax + 0x3a0], xmm0
mov qword [rax + 0x3b0], 8
movups xmmword [rax + 0x3b8], xmm0
mov qword [rax + 0x3c8], 8
movups xmmword [rax + 0x3d0], xmm0
mov qword [rax + 0x3e0], 8
movups xmmword [rax + 0x3e8], xmm0
mov qword [rax + 0x3f8], 8
movups xmmword [rax + 0x400], xmm0
mov qword [rax + 0x410], 8
movups xmmword [rax + 0x418], xmm0
mov qword [rax + 0x428], 8
movups xmmword [rax + 0x430], xmm0
mov qword [rax + 0x440], 8
movups xmmword [rax + 0x448], xmm0
mov qword [rax + 0x458], 8
movups xmmword [rax + 0x460], xmm0
mov qword [rax + 0x470], 8
movups xmmword [rax + 0x478], xmm0
mov qword [rax + 0x488], 8
movups xmmword [rax + 0x490], xmm0
mov qword [rax + 0x4a0], 8
movups xmmword [rax + 0x4a8], xmm0
mov qword [rax + 0x4b8], 8
movups xmmword [rax + 0x4c0], xmm0
mov qword [rax + 0x4d0], 8
movups xmmword [rax + 0x4d8], xmm0
mov qword [rax + 0x4e8], 8
movups xmmword [rax + 0x4f0], xmm0
mov qword [rax + 0x500], 8
movups xmmword [rax + 0x508], xmm0
mov qword [rax + 0x518], 8
movups xmmword [rax + 0x520], xmm0
mov qword [rax + 0x530], 8
movups xmmword [rax + 0x538], xmm0
mov qword [rax + 0x548], 8
movups xmmword [rax + 0x550], xmm0
mov qword [rax + 0x560], 8
movups xmmword [rax + 0x568], xmm0
mov qword [rax + 0x578], 8
movups xmmword [rax + 0x580], xmm0
mov qword [rax + 0x590], 8
movups xmmword [rax + 0x598], xmm0
mov qword [rax + 0x5a8], 8
movups xmmword [rax + 0x5b0], xmm0
mov qword [rax + 0x5c0], 8
movups xmmword [rax + 0x5c8], xmm0
mov qword [rax + 0x5d8], 8
movups xmmword [rax + 0x5e0], xmm0
mov qword [rax + 0x5f0], 8
mov qword [rax + 0x5f8], 0
mov rcx, qword [rsp + 0x28]
mov r12, qword [rcx + 0x20]
test r12, r12
mov r11, qword [rsp + 0x30]
je 0x1400638d9
lea rbp, [r11 - 1]
mov r14d, r11d
and r14d, 7
mov rax, r11
and rax, 0xfffffffffffffff8
mov qword [rsp + 0x58], rax
xor esi, esi
jmp 0x1400637cd
inc rsi
mov rax, qword [r12 + 8]
mov r8, rdx
shl r8, 4
mov qword [rax + r8], rbx
mov dword [rax + r8 + 8], edi
inc rdx
mov qword [r12 + 0x10], rdx
mov r12, qword [rcx + 0x20]
cmp rsi, r12
jae 0x1400638dc
mov rdx, qword [rcx + 0x38]
cmp rsi, rdx
jae 0x140063b37
mov rax, qword [rcx + 0x30]
mov edi, dword [rax + rsi*4]
cmp r12, rdi
jbe 0x140063b46
mov rax, qword [rcx + 0x18]
lea r8, [rdi + rdi*2]
mov rdx, qword [rax + r8*8 + 0x10]
cmp r11, rdx
ja 0x140063f66
lea rax, [rax + r8*8]
mov rax, qword [rax + 8]
cmp rbp, 7
jae 0x140063820
xor ebx, ebx
jmp 0x140063888
mov r10, qword [rsp + 0x58]
xor ebx, ebx
nop word [rax + rax]
movzx edx, byte [rax]
movzx r8d, byte [rax + 1]
add rdx, rdx
lea rdx, [rdx + rbx*4]
add rdx, r8
movzx r8d, byte [rax + 2]
movzx r9d, byte [rax + 3]
add r8, r8
lea rdx, [r8 + rdx*4]
add rdx, r9
movzx r8d, byte [rax + 4]
movzx r9d, byte [rax + 5]
add r8, r8
lea rdx, [r8 + rdx*4]
add rdx, r9
movzx r8d, byte [rax + 6]
movzx r9d, byte [rax + 7]
add rax, 8
add r8, r8
lea rbx, [r8 + rdx*4]
add rbx, r9
add r10, 0xfffffffffffffff8
jne 0x140063830
test r14, r14
je 0x1400638a1
xor r8d, r8d
movzx edx, byte [rax + r8]
lea rbx, [rdx + rbx*2]
inc r8
cmp r14, r8
jne 0x140063890
mov eax, ebx
and eax, 0x3f
lea rax, [rax + rax*2]
lea r12, [r15 + rax*8]
mov rdx, qword [r15 + rax*8 + 0x10]
cmp rdx, qword [r15 + rax*8]
jne 0x1400637a0
mov rcx, r12
call fcn.140017060
mov r11, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x28]
mov rdx, qword [r12 + 0x10]
jmp 0x1400637a0
xor r12d, r12d
mov rax, qword [rsp + 0xe0]
test byte [rax + 0x4a], 1
jne 0x140063966
lock inc qword [rcx]
jle 0x140063fde
movzx ebx, byte [rax + 0x4c]
movzx ebp, byte [rax + 0x49]
movzx r14d, byte [rax + 0x4b]
mov qword [rsp + 0x38], rcx
test bpl, bpl
je 0x1400639be
cmp r12, 0x40
jbe 0x1400639be
xor eax, eax
xor edx, edx
mov rsi, qword [rsp + 0x40]
mov r10, qword [rcx + 0x40]
cmp r10, 4
mov r8d, 4
cmovb r8, r10
mov rsi, qword [0x1404c84d0]
test rsi, rsi
je 0x140063ab0
movzx edi, bl
test si, si
jns 0x140063ada
mov rsi, r8
lea r8, [0x1403dbb50]
mov rcx, rsi
call fcn.1402c7670
lea r8, [0x1403dbb38]
mov rcx, rdi
mov rdx, r12
call fcn.1402c7670
lea r8, [0x1403dbb08]
mov rcx, rax
call fcn.1402c7670
lea r8, [0x1403dbb20]
mov rcx, r9
call fcn.1402c7670
lea rax, str.Index_out_of_bounds
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], 1
lea rax, [0x14047c0f8]
mov qword [rsp + 0x80], rax
pxor xmm0, xmm0
movdqu xmmword [rsp + 0x88], xmm0
lea rdx, [0x140455018]
lea rcx, [rsp + 0x70]
call fcn.1402c7620
lea rax, str.Index_out_of_bounds
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], 1
lea rax, [0x14047c0f8]
mov qword [rsp + 0x80], rax
pxor xmm0, xmm0
movdqu xmmword [rsp + 0x88], xmm0
lea rdx, [0x140455000]
lea rcx, [rsp + 0x70]
call fcn.1402c7620
lea r8, [0x140455030]
mov rdx, r12
call fcn.1402c78e0
lea r8, [0x140455030]
mov rcx, r12
mov rdx, qword [rsp + 0xd0]
call fcn.1402c76e0
lea r8, [0x1403dbc50]
mov rcx, r11
call fcn.1402c76e0
call fcn.14007b550
mov ecx, 1
mov rdx, rbx
call fcn.1402c6f80
lea rcx, str.assertion_failed:_end___start__end___len
lea r8, [0x1404550c0]
mov edx, 0x2c
call fcn.1402c76f0
lea rcx, [0x140455078]
call fcn.1402c7a40
lea r8, [0x1404550d8]
mov rcx, rsi
mov rdx, rdi
call fcn.1402c78e0
lea r8, [0x140454fe8]
mov rcx, r15
mov rdx, r14
call fcn.1402c76e0
lea r8, [0x140454fe8]
mov rcx, rsi
call fcn.1402c78e0
ud2
mov ecx, 8
mov rdx, rdi
call fcn.1402c6f80
lea r8, [0x1404550d8]
mov rcx, r13
mov rdx, rsi
call fcn.1402c78e0
mov ecx, 8
mov edx, 0x58
call fcn.1402c6fa0
lea rcx, str.assertion_failed:_patterns.len_____1C:UsersNico.cargo_registry_srcindex.crates.io_6f17d22bba15001f_aho_corasick_1.1.2_srcpacked_rabinkarp.rs
lea r8, [0x1403dbc00]
mov edx, 0x25
call fcn.1402c76f0
mov ecx, 8
mov edx, 0x600
call fcn.1402c6f80
mov ecx, 4
mov rdx, rbx
call fcn.1402c6f80
lea rcx, [0x140455048]
call fcn.1402c7a40
lea rcx, [0x140455060]
call fcn.1402c7a40
lea r8, [0x140454fe8]
mov rcx, rdx
mov rdx, r14
call fcn.1402c76e0
lea r8, [0x140454fe8]
mov rcx, r13
call fcn.1402c78e0
lea rcx, str.assertion_failed:_hash_len___1
lea r8, [0x1403dbc38]
mov edx, 0x1f
call fcn.1402c76f0
int3