Function at 0x140154b10
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xa8
mov rdi, qword [rcx + 0x70]
mov r11, qword [rsp + 0x110]
mov r12d, dword [rcx + 0x18]
mov ebp, dword [rcx + 0x110]
mov qword [rsp + 0x30], rdi
mov rsi, r9
mov rbx, rdx
mov edi, dword [rcx + 0x108]
mov rax, rsi
mov r9d, dword [rcx + 0x100]
mov edx, dword [rcx + 0x28]
mov qword [rsp + 0x100], r8
mov dword [rsp + 0x44], edi
mov rdi, qword [rcx + 0x80]
mov dword [rsp + 0x68], r9d
mov qword [rsp + 0x48], rdi
mov edi, dword [rcx + 0x104]
mov dword [rsp + 0x58], edi
mov rdi, qword [rcx + 8]
mov ecx, r12d
sub rax, rdi
mov qword [rsp + 0x28], rdi
lea r8d, [rax + r11]
call fcn.1401744e0
mov r9d, dword [rsp + 0x68]
mov ecx, r12d
mov dword [rsp + 0x5c], eax
mov eax, eax
add rax, rdi
mov qword [rsp + 0x60], rax
lea rax, [rsi + r11]
xor r11d, r11d
mov qword [rsp + 0x20], rax
sub rax, 8
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x100]
mov eax, dword [rax]
mov dword [rsp + 0x40], eax
mov rax, qword [rsp + 0x100]
mov eax, dword [rax + 4]
mov dword [rsp + 0x3c], eax
mov rax, qword [rsp + 0x60]
cmp rsi, rax
mov rax, qword [rsp + 0x28]
sete r11b
add r11, rsi
mov rdi, r11
sub rdi, rax
mov r8d, edi
call fcn.1401744e0
sub edi, eax
cmp ebp, 6
je 0x1401508fd
cmp ebp, 7
je 0x14015108b
cmp ebp, 5
mov eax, dword [rsp + 0x3c]
mov ebp, 0
je 0x140150163
cmp edi, eax
jb 0x14014f934
xor r12d, r12d
mov ebp, eax
mov dword [rsp + 0x3c], r12d
mov eax, dword [rsp + 0x40]
xor r15d, r15d
cmp edi, eax
jb 0x14014fae2
xor edi, edi
mov r15d, eax
mov dword [rsp + 0x40], edi
jmp 0x14014fae2
mov edi, dword [rsp + 0x80]
mov rax, qword [rsp + 0x28]
mov edx, dword [rsp + 0x44]
lea r12d, [rdi + 2]
mov rdi, r12
add r12, rax
mov rcx, r12
call fcn.140174bb0
mov rcx, qword [rsp + 0x30]
mov edx, dword [rsp + 0x44]
mov dword [rcx + rax*4], edi
lea rcx, [rsi - 2]
mov rax, qword [rsp + 0x28]
mov r13, rcx
sub r13, rax
call fcn.140174bb0
mov rcx, qword [rsp + 0x30]
mov edx, dword [rsp + 0x58]
mov dword [rcx + rax*4], r13d
mov rcx, r12
call fcn.140174660
mov rcx, qword [rsp + 0x48]
mov edx, dword [rsp + 0x58]
mov dword [rcx + rax*4], edi
lea rcx, [rsi - 1]
mov rax, qword [rsp + 0x28]
mov rdi, rcx
sub rdi, rax
call fcn.140174660
mov rcx, qword [rsp + 0x48]
mov dword [rcx + rax*4], edi
mov rax, qword [rsp + 0x20]
lea r14, [rax - 0x20]
mov eax, ebp
mov rdx, rsi
mov edi, dword [rsi]
sub rdx, rax
cmp dword [rdx], edi
jne 0x14014fadf
test ebp, ebp
je 0x14014fadf
mov edx, 4
mov r8, qword [rsp + 0x20]
lea rcx, [rsi + 4]
mov r13, rsi
sub rdx, rax
add rdx, rsi
call fcn.140170c70
mov edx, dword [rsp + 0x58]
mov rcx, rsi
mov rdi, rax
lea r12, [rax + 4]
mov rax, qword [rsp + 0x28]
sub r13, rax
call fcn.140174660
mov rcx, qword [rsp + 0x48]
mov edx, dword [rsp + 0x44]
mov dword [rcx + rax*4], r13d
mov rcx, rsi
call fcn.140174bb0
mov rcx, qword [rsp + 0x30]
mov dword [rcx + rax*4], r13d
mov rax, qword [rbx + 8]
sub rax, qword [rbx]
sar rax, 3
cmp rax, qword [rbx + 0x38]
jae 0x14014fc28
mov rax, qword [rbx + 0x40]
cmp rax, 0x20000
ja 0x14014fc4e
mov rcx, qword [rbx + 0x18]
add rax, qword [rbx + 0x10]
cmp rax, rcx
jb 0x14014fc75
cmp qword [rsp + 0x20], rsi
jb 0x14014fc92
cmp r14, rsi
jb 0x14015012d
movups xmm2, xmmword [rsi]
movups xmmword [rcx], xmm2
mov rax, qword [rbx + 8]
mov word [rax + 4], 0
mov dword [rax], 1
cmp r12, 2
jbe 0x14014fd74
inc rdi
cmp rdi, 0xffff
ja 0x140150140
mov word [rax + 6], di
add rax, 8
add rsi, r12
xchg ebp, r15d
mov qword [rbx + 8], rax
cmp qword [rsp + 0x50], rsi
jae 0x14014f9d9
mov r11, rsi
mov r12, rsi
mov rsi, r11
lea rax, [rsi + 0x100]
lea rdi, [rsi + 1]
mov qword [rsp + 0x70], rax
cmp qword [rsp + 0x50], rdi
jb 0x140151268
cmp dword [rsp + 0x44], 0x20
jbe 0x14014fb23
mov r8d, 0x342
lea rdx, [0x1402ae9a0]
lea rcx, [0x1402aeb1d]
jmp 0x14014fc3c
mov edx, dword [rsp + 0x44]
mov rcx, rsi
mov r14d, r15d
call fcn.140174bb0
mov qword [rsp + 0x78], 1
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x68]
mov r9d, dword [rax + rcx*4]
mov rax, qword [rsp + 0x28]
mov r13, r9
add r9, rax
mov eax, 1
sub rax, r14
mov qword [rsp + 0x88], rax
cmp dword [rsp + 0x58], 0x20
mov qword [rsp + 0x90], r9
ja 0x14014fb0a
mov edx, dword [rsp + 0x58]
mov rcx, rsi
call fcn.140174660
mov rcx, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x28]
mov r9, qword [rsp + 0x90]
lea rax, [rcx + rax*4]
mov rcx, rsi
sub rcx, rdx
mov r11d, dword [rax]
mov qword [rsp + 0x80], rcx
mov ecx, dword [rsp + 0x80]
mov edx, dword [rsp + 0x80]
mov dword [rax], ecx
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x68]
mov dword [rax + rcx*4], edx
mov rax, qword [rsp + 0x88]
mov ecx, dword [rsi + 1]
cmp dword [rsi + rax], ecx
jne 0x14014fdd9
test r15d, r15d
je 0x14014fdd9
mov rax, rsi
mov r8, qword [rsp + 0x20]
lea rcx, [rsi + 5]
lea r13, [rsi + 1]
sub rax, r14
mov rdi, r13
lea rdx, [rax + 5]
sub rdi, r12
call fcn.140170c70
mov rsi, rax
lea r14, [rax + 4]
mov rax, qword [rsp + 0x20]
lea r9, [rax - 0x20]
mov rax, qword [rbx + 8]
sub rax, qword [rbx]
sar rax, 3
cmp rax, qword [rbx + 0x38]
jb 0x14014fc42
mov r8d, 0x29d
lea rdx, [0x1402ae9a0]
lea rcx, [0x1402aeb29]
call qword [sym.imp.msvcrt.dll__assert]
mov rax, qword [rbx + 0x40]
cmp rax, 0x20000
jbe 0x14014fc64
mov r8d, 0x29f
lea rdx, [0x1402ae9a0]
lea rcx, [0x1402aeb80]
jmp 0x14014fc3c
mov rcx, qword [rbx + 0x18]
add rax, qword [rbx + 0x10]
lea rdx, [rcx + rdi]
cmp rax, rdx
jae 0x14014fc8b
mov r8d, 0x2a0
lea rdx, [0x1402ae9a0]
lea rcx, [0x1402aeba0]
jmp 0x14014fc3c
cmp qword [rsp + 0x20], r13
jae 0x14014fca8
mov r8d, 0x2a1
lea rdx, [0x1402ae9a0]
lea rcx, [0x1402aebee]
jmp 0x14014fc3c
cmp r9, r13
jb 0x14014fd25
movups xmm0, xmmword [r12]
movups xmmword [rcx], xmm0
cmp rdi, 0x10
jbe 0x14014fd30
mov rax, qword [rbx + 0x18]
mov rdx, rax
sub rdx, r12
add rdx, 0xf
cmp rdx, 0x1e
ja 0x14014fce8
mov r8d, 0xe9
lea rdx, [0x1402ae9db]
lea rcx, [0x1402aea07]
jmp 0x14014fc3c
movups xmm1, xmmword [r12 + 0x10]
movups xmmword [rax + 0x10], xmm1
cmp rdi, 0x20
jle 0x14014fd30
lea rdx, [rax + rdi]
lea r10, [r12 + 0x20]
add rax, 0x20
movups xmm2, xmmword [r10]
add rax, 0x20
add r10, 0x20
movups xmmword [rax - 0x20], xmm2
movups xmm3, xmmword [r10 - 0x10]
movups xmmword [rax - 0x10], xmm3
cmp rax, rdx
jb 0x14014fd05
jmp 0x14014fd30
mov r8, r13
mov rdx, r12
call fcn.1401796d0
add qword [rbx + 0x18], rdi
cmp rdi, 0xffff
jbe 0x14014fd60
cmp dword [rbx + 0x48], 0
je 0x14014fd4b
mov r8d, 0x2b2
jmp 0x14014fda5
mov rax, qword [rbx + 8]
sub rax, qword [rbx]
mov dword [rbx + 0x48], 1
sar rax, 3
mov dword [rbx + 0x4c], eax
mov rax, qword [rbx + 8]
mov word [rax + 4], di
mov dword [rax], 1
cmp r14, 2
ja 0x14014fd8d
mov r8d, 0x2bc
lea rdx, [0x1402ae9a0]
lea rcx, [0x1402aec3c]
jmp 0x14014fc3c
inc rsi
cmp rsi, 0xffff
jbe 0x14014fdcc
cmp dword [rbx + 0x48], 0
je 0x14014fdb8
mov r8d, 0x2bf
lea rdx, [0x1402ae9a0]
lea rcx, [0x1402aec0f]
jmp 0x14014fc3c
mov rdx, rax
sub rdx, qword [rbx]
mov dword [rbx + 0x48], 2
sar rdx, 3
mov dword [rbx + 0x4c], edx
mov word [rax + 6], si
add rax, 8
jmp 0x140150111
mov edx, dword [rsp + 0x44]
mov rcx, rdi
mov dword [rsp + 0x90], r11d
mov qword [rsp + 0x98], r9
call fcn.140174bb0
cmp dword [rsp + 0x5c], r13d
mov r11d, dword [rsp + 0x90]
mov qword [rsp + 0x68], rax
jae 0x14014fe72
mov r9, qword [rsp + 0x98]
mov rax, qword [rsi]
cmp qword [r9], rax
jne 0x14014fe72
mov r8, qword [rsp + 0x20]
lea rdx, [r9 + 8]
lea rcx, [rsi + 8]
mov r13, rsi
mov qword [rsp + 0x70], r9
call fcn.140170c70
mov r9, qword [rsp + 0x70]
lea r14, [rax + 8]
mov eax, esi
sub eax, r9d
mov dword [rsp + 0x70], eax
cmp r12, r13
jae 0x14014ff8b
cmp qword [rsp + 0x60], r9
jae 0x14014ff8b
mov al, byte [r9 - 1]
cmp byte [r13 - 1], al
jne 0x14014ff8b
dec r13
dec r9
inc r14
jmp 0x14014fe45
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x68]
mov r9d, dword [rax + rcx*4]
mov rax, qword [rsp + 0x28]
mov r13, r9
add r9, rax
cmp dword [rsp + 0x5c], r11d
jae 0x14014fea8
add r11, rax
mov eax, dword [rsi]
cmp dword [r11], eax
jne 0x14014fea8
cmp dword [rsp + 0x5c], r13d
jb 0x14014fee9
jmp 0x14014ff3e
mov rax, qword [rsp + 0x70]
cmp rdi, rax
jb 0x14014fecb
prefetcht0 byte [rdi + 0x40]
prefetcht0 byte [rdi + 0x80]
inc qword [rsp + 0x78]
add qword [rsp + 0x70], 0x100
mov rax, qword [rsp + 0x78]
mov rsi, rdi
add rax, rdi
cmp qword [rsp + 0x50], rax
jb 0x140151268
mov rdi, rax
jmp 0x14014fb69
mov rax, qword [rdi]
cmp qword [r9], rax
jne 0x14014ff3e
mov r8, qword [rsp + 0x20]
lea rdx, [r9 + 8]
lea rcx, [rdi + 8]
mov r13, rdi
mov qword [rsp + 0x70], r9
call fcn.140170c70
mov r9, qword [rsp + 0x70]
lea r14, [rax + 8]
mov eax, edi
sub eax, r9d
mov dword [rsp + 0x70], eax
cmp r12, r13
jae 0x14014ff8b
cmp qword [rsp + 0x60], r9
jae 0x14014ff8b
mov al, byte [r9 - 1]
cmp byte [r13 - 1], al
jne 0x14014ff8b
dec r13
dec r9
inc r14
jmp 0x14014ff1d
mov r8, qword [rsp + 0x20]
lea rdx, [r11 + 4]
lea rcx, [rsi + 4]
mov r13, rsi
mov qword [rsp + 0x70], r11
call fcn.140170c70
mov r11, qword [rsp + 0x70]
lea r14, [rax + 4]
mov eax, esi
sub eax, r11d
mov dword [rsp + 0x70], eax
cmp r12, r13
jae 0x14014ff8b
cmp qword [rsp + 0x60], r11
jae 0x14014ff8b
mov al, byte [r11 - 1]
cmp byte [r13 - 1], al
jne 0x14014ff8b
dec r13
dec r11
inc r14
jmp 0x14014ff6a
cmp qword [rsp + 0x78], 3
ja 0x14014ffa8
mov rax, qword [rsp + 0x28]
mov rsi, qword [rsp + 0x68]
sub rdi, rax
mov rax, qword [rsp + 0x30]
mov dword [rax + rsi*4], edi
cmp dword [rsp + 0x70], 0
jne 0x14014ffc8
mov r8d, 0x10f
lea rdx, str.zstd_lib_compress_zstd_double_fast.c
lea rcx, [0x1402aec7f]
jmp 0x14014fc3c
mov eax, dword [rsp + 0x70]
mov rsi, r13
sub rsi, r12
lea edi, [rax + 3]
mov rax, qword [rsp + 0x20]
lea r9, [rax - 0x20]
mov rax, qword [rbx + 8]
sub rax, qword [rbx]
sar rax, 3
cmp rax, qword [rbx + 0x38]
jae 0x14014fc28
mov rax, qword [rbx + 0x40]
cmp rax, 0x20000
ja 0x14014fc4e
mov rcx, qword [rbx + 0x18]
add rax, qword [rbx + 0x10]
lea rdx, [rcx + rsi]
cmp rax, rdx
jb 0x14014fc75
cmp qword [rsp + 0x20], r13
jb 0x14014fc92
cmp r9, r13
jb 0x14015008b
movups xmm4, xmmword [r12]
movups xmmword [rcx], xmm4
cmp rsi, 0x10
jbe 0x140150096
mov rax, qword [rbx + 0x18]
mov rdx, rax
sub rdx, r12
add rdx, 0xf
cmp rdx, 0x1e
jbe 0x14014fccf
movups xmm5, xmmword [r12 + 0x10]
movups xmmword [rax + 0x10], xmm5
cmp rsi, 0x20
jle 0x140150096
lea rdx, [rax + rsi]
lea r10, [r12 + 0x20]
add rax, 0x20
movups xmm0, xmmword [r10]
add rax, 0x20
add r10, 0x20
movups xmmword [rax - 0x20], xmm0
movups xmm1, xmmword [r10 - 0x10]
movups xmmword [rax - 0x10], xmm1
cmp rax, rdx
jb 0x14015006b
jmp 0x140150096
mov r8, r13
mov rdx, r12
call fcn.1401796d0
add qword [rbx + 0x18], rsi
cmp rsi, 0xffff
jbe 0x1401500c2
cmp dword [rbx + 0x48], 0
jne 0x14014fd43
mov rax, qword [rbx + 8]
sub rax, qword [rbx]
mov dword [rbx + 0x48], 1
sar rax, 3
mov dword [rbx + 0x4c], eax
mov rax, qword [rbx + 8]
mov word [rax + 4], si
mov dword [rax], edi
cmp r14, 2
jbe 0x14014fd74
lea rcx, [r14 - 3]
cmp rcx, 0xffff
jbe 0x140150101
cmp dword [rbx + 0x48], 0
jne 0x14014fd9f
mov rdx, rax
sub rdx, qword [rbx]
mov dword [rbx + 0x48], 2
sar rdx, 3
mov dword [rbx + 0x4c], edx
mov ebp, r15d
mov r15d, dword [rsp + 0x70]
mov word [rax + 6], cx
add rax, 8
mov qword [rbx + 8], rax
lea rsi, [r13 + r14]
cmp qword [rsp + 0x50], rsi
jae 0x14014f951
mov r12, rsi
jmp 0x14014fae8
mov r9, r14
mov r8, rsi
mov rdx, rsi
call fcn.1401796d0
jmp 0x14014fa98
cmp dword [rbx + 0x48], 0
jne 0x14014fd9f
mov rdx, rax
sub rdx, qword [rbx]
mov dword [rbx + 0x48], 2
sar rdx, 3
mov dword [rbx + 0x4c], edx
jmp 0x14014fac2
cmp edi, eax
jb 0x140150171
xor r10d, r10d
mov ebp, eax
mov dword [rsp + 0x3c], r10d
mov eax, dword [rsp + 0x40]
xor r15d, r15d
cmp edi, eax
jb 0x140150321
xor r9d, r9d
mov r15d, eax
mov dword [rsp + 0x40], r9d
jmp 0x140150321
mov edi, dword [rsp + 0x80]
mov rax, qword [rsp + 0x28]
mov edx, dword [rsp + 0x44]
lea r12d, [rdi + 2]
mov rdi, r12
add r12, rax
mov rcx, r12
call fcn.140174bb0
mov rcx, qword [rsp + 0x30]
mov edx, dword [rsp + 0x44]
mov dword [rcx + rax*4], edi
lea rcx, [rsi - 2]
mov rax, qword [rsp + 0x28]
mov r13, rcx
sub r13, rax
call fcn.140174bb0
mov rcx, qword [rsp + 0x30]
mov edx, dword [rsp + 0x58]
mov dword [rcx + rax*4], r13d
mov rcx, r12
call fcn.1401747a0
mov rcx, qword [rsp + 0x48]
mov edx, dword [rsp + 0x58]
mov dword [rcx + rax*4], edi
lea rcx, [rsi - 1]
mov rax, qword [rsp + 0x28]
mov rdi, rcx
sub rdi, rax
call fcn.1401747a0
mov rcx, qword [rsp + 0x48]
mov dword [rcx + rax*4], edi
mov rax, qword [rsp + 0x20]
lea r14, [rax - 0x20]
mov eax, ebp
mov rdx, rsi
mov edi, dword [rsi]
sub rdx, rax
cmp dword [rdx], edi
jne 0x1401508f5
test ebp, ebp
je 0x1401508f5
mov edx, 4
mov r8, qword [rsp + 0x20]
lea rcx, [rsi + 4]
mov r13, rsi
sub rdx, rax
add rdx, rsi
call fcn.140170c70
mov edx, dword [rsp + 0x58]
mov rcx, rsi
mov rdi, rax
lea r12, [rax + 4]
mov rax, qword [rsp + 0x28]
sub r13, rax
call fcn.1401747a0
mov rcx, qword [rsp + 0x48]
mov edx, dword [rsp + 0x44]
mov dword [rcx + rax*4], r13d
mov rcx, rsi
call fcn.140174bb0
mov rcx, qword [rsp + 0x30]
mov dword [rcx + rax*4], r13d
mov rax, qword [rbx + 8]
sub rax, qword [rbx]
sar rax, 3
cmp rax, qword [rbx + 0x38]
jae 0x14014fc28
mov rax, qword [rbx + 0x40]
cmp rax, 0x20000
ja 0x14014fc4e
mov rcx, qword [rbx + 0x18]
add rax, qword [rbx + 0x10]
cmp rax, rcx
jb 0x14014fc75
cmp qword [rsp + 0x20], rsi
jb 0x14014fc92
cmp r14, rsi
jb 0x1401508b7
movups xmm5, xmmword [rsi]
movups xmmword [rcx], xmm5
mov rax, qword [rbx + 8]
mov word [rax + 4], 0
mov dword [rax], 1
cmp r12, 2
jbe 0x14014fd74
inc rdi
cmp rdi, 0xffff
ja 0x1401508ca
mov word [rax + 6], di
add rax, 8
add rsi, r12
mov qword [rbx + 8], rax
cmp qword [rsp + 0x50], rsi
jae 0x1401508ed
mov r11, rsi
xchg r15d, ebp
mov r12, rsi
mov rsi, r11
lea rax, [rsi + 0x100]
lea rdi, [rsi + 1]
mov qword [rsp + 0x70], rax
cmp qword [rsp + 0x50], rdi
jb 0x140151268
cmp dword [rsp + 0x44], 0x20
ja 0x14014fb0a
mov edx, dword [rsp + 0x44]
mov rcx, rsi
mov r14d, r15d
call fcn.140174bb0
mov qword [rsp + 0x78], 1
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x68]
mov r9d, dword [rax + rcx*4]
mov rax, qword [rsp + 0x28]
mov r13, r9
add r9, rax
mov eax, 1
sub rax, r14
mov qword [rsp + 0x88], rax
cmp dword [rsp + 0x58], 0x20
mov qword [rsp + 0x90], r9
ja 0x14014fb0a
mov edx, dword [rsp + 0x58]
mov rcx, rsi
call fcn.1401747a0
mov rcx, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x28]
mov r9, qword [rsp + 0x90]
lea rax, [rcx + rax*4]
mov rcx, rsi
sub rcx, rdx
mov r11d, dword [rax]
mov qword [rsp + 0x80], rcx
mov ecx, dword [rsp + 0x80]
mov edx, dword [rsp + 0x80]
mov dword [rax], ecx
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x68]
mov dword [rax + rcx*4], edx
mov rax, qword [rsp + 0x88]
mov ecx, dword [rsi + 1]
cmp dword [rsi + rax], ecx
jne 0x140150578
test r15d, r15d
je 0x140150578
mov rax, rsi
mov r8, qword [rsp + 0x20]
lea rcx, [rsi + 5]
lea r13, [rsi + 1]
sub rax, r14
mov rdi, r13
lea rdx, [rax + 5]
sub rdi, r12
call fcn.140170c70
mov rsi, rax
lea r14, [rax + 4]
mov rax, qword [rsp + 0x20]
lea r9, [rax - 0x20]
mov rax, qword [rbx + 8]
sub rax, qword [rbx]
sar rax, 3
cmp rax, qword [rbx + 0x38]
jae 0x14014fc28
mov rax, qword [rbx + 0x40]
cmp rax, 0x20000
ja 0x14014fc4e
mov rcx, qword [rbx + 0x18]
add rax, qword [rbx + 0x10]
lea rdx, [rcx + rdi]
cmp rax, rdx
jb 0x14014fc75
cmp qword [rsp + 0x20], r13
jb 0x14014fc92
cmp r9, r13
jb 0x1401504f2
movups xmm3, xmmword [r12]
movups xmmword [rcx], xmm3
cmp rdi, 0x10
jbe 0x1401504fd
mov rax, qword [rbx + 0x18]
mov rdx, rax
sub rdx, r12
add rdx, 0xf
cmp rdx, 0x1e
jbe 0x14014fccf
movups xmm4, xmmword [r12 + 0x10]
movups xmmword [rax + 0x10], xmm4
cmp rdi, 0x20
jle 0x1401504fd
lea rdx, [rax + rdi]
lea r10, [r12 + 0x20]
add rax, 0x20
movups xmm5, xmmword [r10]
add rax, 0x20
add r10, 0x20
movups xmmword [rax - 0x20], xmm5
movups xmm0, xmmword [r10 - 0x10]
movups xmmword [rax - 0x10], xmm0
cmp rax, rdx
jb 0x1401504d2
jmp 0x1401504fd
mov r8, r13
mov rdx, r12
call fcn.1401796d0
add qword [rbx + 0x18], rdi
cmp rdi, 0xffff
jbe 0x140150529
cmp dword [rbx + 0x48], 0
jne 0x14014fd43
mov rax, qword [rbx + 8]
sub rax, qword [rbx]
mov dword [rbx + 0x48], 1
sar rax, 3
mov dword [rbx + 0x4c], eax
mov rax, qword [rbx + 8]
mov word [rax + 4], di
mov dword [rax], 1
cmp r14, 2
jbe 0x14014fd74
inc rsi
cmp rsi, 0xffff
jbe 0x14015056b
cmp dword [rbx + 0x48], 0
jne 0x14014fd9f
mov rdx, rax
sub rdx, qword [rbx]
mov dword [rbx + 0x48], 2
sar rdx, 3
mov dword [rbx + 0x4c], edx
mov word [rax + 6], si
add rax, 8
jmp 0x14015089b
mov edx, dword [rsp + 0x44]
mov rcx, rdi
mov dword [rsp + 0x90], r11d
mov qword [rsp + 0x98], r9
call fcn.140174bb0
cmp dword [rsp + 0x5c], r13d
mov r11d, dword [rsp + 0x90]
mov qword [rsp + 0x68], rax
jae 0x140150611
mov r9, qword [rsp + 0x98]
mov rax, qword [rsi]
cmp qword [r9], rax
jne 0x140150611
mov r8, qword [rsp + 0x20]
lea rdx, [r9 + 8]
lea rcx, [rsi + 8]
mov r13, rsi
mov qword [rsp + 0x70], r9
call fcn.140170c70
mov r9, qword [rsp + 0x70]
lea r14, [rax + 8]
mov eax, esi
sub eax, r9d
mov dword [rsp + 0x70], eax
cmp r12, r13
jae 0x14015072a
cmp qword [rsp + 0x60], r9
jae 0x14015072a
mov al, byte [r9 - 1]
cmp byte [r13 - 1], al
jne 0x14015072a
dec r13
dec r9
inc r14
jmp 0x1401505e4
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x68]
mov r9d, dword [rax + rcx*4]
mov rax, qword [rsp + 0x28]
mov r13, r9
add r9, rax
cmp dword [rsp + 0x5c], r11d
jae 0x140150647
add r11, rax
mov eax, dword [rsi]
cmp dword [r11], eax
jne 0x140150647
cmp dword [rsp + 0x5c], r13d
jb 0x140150688
jmp 0x1401506dd
mov rax, qword [rsp + 0x70]
cmp rdi, rax
jb 0x14015066a
prefetcht0 byte [rdi + 0x40]
prefetcht0 byte [rdi + 0x80]
inc qword [rsp + 0x78]
add qword [rsp + 0x70], 0x100
mov rax, qword [rsp + 0x78]
mov rsi, rdi
add rax, rdi
cmp qword [rsp + 0x50], rax
jb 0x140151268
mov rdi, rax
jmp 0x140150393
mov rax, qword [rdi]
cmp qword [r9], rax
jne 0x1401506dd
mov r8, qword [rsp + 0x20]
lea rdx, [r9 + 8]
lea rcx, [rdi + 8]
mov r13, rdi
mov qword [rsp + 0x70], r9
call fcn.140170c70
mov r9, qword [rsp + 0x70]
lea r14, [rax + 8]
mov eax, edi
sub eax, r9d
mov dword [rsp + 0x70], eax
cmp r12, r13
jae 0x14015072a
cmp qword [rsp + 0x60], r9
jae 0x14015072a
mov al, byte [r9 - 1]
cmp byte [r13 - 1], al
jne 0x14015072a
dec r13
dec r9
inc r14
jmp 0x1401506bc
mov r8, qword [rsp + 0x20]
lea rdx, [r11 + 4]
lea rcx, [rsi + 4]
mov r13, rsi
mov qword [rsp + 0x70], r11
call fcn.140170c70
mov r11, qword [rsp + 0x70]
lea r14, [rax + 4]
mov eax, esi
sub eax, r11d
mov dword [rsp + 0x70], eax
cmp r12, r13
jae 0x14015072a
cmp qword [rsp + 0x60], r11
jae 0x14015072a
mov al, byte [r11 - 1]
cmp byte [r13 - 1], al
jne 0x14015072a
dec r13
dec r11
inc r14
jmp 0x140150709
cmp qword [rsp + 0x78], 3
ja 0x140150747
mov rax, qword [rsp + 0x28]
mov rsi, qword [rsp + 0x68]
sub rdi, rax
mov rax, qword [rsp + 0x30]
mov dword [rax + rsi*4], edi
cmp dword [rsp + 0x70], 0
je 0x14014ffaf
mov eax, dword [rsp + 0x70]
mov rsi, r13
sub rsi, r12
lea edi, [rax + 3]
mov rax, qword [rsp + 0x20]
lea r9, [rax - 0x20]
mov rax, qword [rbx + 8]
sub rax, qword [rbx]
sar rax, 3
cmp rax, qword [rbx + 0x38]
jae 0x14014fc28
mov rax, qword [rbx + 0x40]
cmp rax, 0x20000
ja 0x14014fc4e
mov rcx, qword [rbx + 0x18]
add rax, qword [rbx + 0x10]
lea rdx, [rcx + rsi]
cmp rax, rdx
jb 0x14014fc75
cmp qword [rsp + 0x20], r13
jb 0x14014fc92
cmp r9, r13
jb 0x140150815
movups xmm1, xmmword [r12]
movups xmmword [rcx], xmm1
cmp rsi, 0x10
jbe 0x140150820
mov rax, qword [rbx + 0x18]
mov rdx, rax
sub rdx, r12
add rdx, 0xf
cmp rdx, 0x1e
jbe 0x14014fccf
movups xmm2, xmmword [r12 + 0x10]
movups xmmword [rax + 0x10], xmm2
cmp rsi, 0x20
jle 0x140150820
lea rdx, [rax + rsi]
lea r10, [r12 + 0x20]
add rax, 0x20
movups xmm3, xmmword [r10]
add rax, 0x20
add r10, 0x20
movups xmmword [rax - 0x20], xmm3
movups xmm4, xmmword [r10 - 0x10]
movups xmmword [rax - 0x10], xmm4
cmp rax, rdx
jb 0x1401507f5
jmp 0x140150820
mov r8, r13
mov rdx, r12
call fcn.1401796d0
add qword [rbx + 0x18], rsi
cmp rsi, 0xffff
jbe 0x14015084c
cmp dword [rbx + 0x48], 0
jne 0x14014fd43
mov rax, qword [rbx + 8]
sub rax, qword [rbx]
mov dword [rbx + 0x48], 1
sar rax, 3
mov dword [rbx + 0x4c], eax
mov rax, qword [rbx + 8]
mov word [rax + 4], si
mov dword [rax], edi
cmp r14, 2
jbe 0x14014fd74
lea rcx, [r14 - 3]
cmp rcx, 0xffff
jbe 0x14015088b
cmp dword [rbx + 0x48], 0
jne 0x14014fd9f
mov rdx, rax
sub rdx, qword [rbx]
mov dword [rbx + 0x48], 2
sar rdx, 3
mov dword [rbx + 0x4c], edx
mov ebp, r15d
mov r15d, dword [rsp + 0x70]
mov word [rax + 6], cx
add rax, 8
mov qword [rbx + 8], rax
lea rsi, [r13 + r14]
cmp qword [rsp + 0x50], rsi
jae 0x140150190
mov r12, rsi
jmp 0x140150327
mov r9, r14
mov r8, rsi
mov rdx, rsi
call fcn.1401796d0
jmp 0x1401502d7
cmp dword [rbx + 0x48], 0
jne 0x14014fd9f
mov rdx, rax
sub rdx, qword [rbx]
mov dword [rbx + 0x48], 2
sar rdx, 3
mov dword [rbx + 0x4c], edx
jmp 0x140150301
xchg ebp, r15d
jmp 0x140150218
xchg r15d, ebp
jmp 0x14015031b
mov eax, dword [rsp + 0x3c]
xor ebp, ebp
cmp edi, eax
jb 0x140150911
xor r8d, r8d
mov ebp, eax
mov dword [rsp + 0x3c], r8d
mov eax, dword [rsp + 0x40]
xor r15d, r15d
cmp edi, eax
jb 0x140150abf
xor ecx, ecx
mov r15d, eax
mov dword [rsp + 0x40], ecx
jmp 0x140150abf
mov edi, dword [rsp + 0x80]
mov rax, qword [rsp + 0x28]
mov edx, dword [rsp + 0x44]
lea r12d, [rdi + 2]
mov rdi, r12
add r12, rax
mov rcx, r12
call fcn.140174bb0
mov rcx, qword [rsp + 0x30]
mov edx, dword [rsp + 0x44]
mov dword [rcx + rax*4], edi
lea rcx, [rsi - 2]
mov rax, qword [rsp + 0x28]
mov r13, rcx
sub r13, rax
call fcn.140174bb0
mov rcx, qword [rsp + 0x30]
mov edx, dword [rsp + 0x58]
mov dword [rcx + rax*4], r13d
mov rcx, r12
call fcn.140174930
mov rcx, qword [rsp + 0x48]
mov edx, dword [rsp + 0x58]
mov dword [rcx + rax*4], edi
lea rcx, [rsi - 1]
mov rax, qword [rsp + 0x28]
mov rdi, rcx
sub rdi, rax
call fcn.140174930
mov rcx, qword [rsp + 0x48]
mov dword [rcx + rax*4], edi
mov rax, qword [rsp + 0x20]
lea r14, [rax - 0x20]
mov eax, ebp
mov rdx, rsi
mov edi, dword [rsi]
sub rdx, rax
cmp dword [rdx], edi
jne 0x140150abc
test ebp, ebp
je 0x140150abc
mov edx, 4
mov r8, qword [rsp + 0x20]
lea rcx, [rsi + 4]
mov r13, rsi
sub rdx, rax
add rdx, rsi
call fcn.140170c70
mov edx, dword [rsp + 0x58]
mov rcx, rsi
mov rdi, rax
lea r12, [rax + 4]
mov rax, qword [rsp + 0x28]
sub r13, rax
call fcn.140174930
mov rcx, qword [rsp + 0x48]
mov edx, dword [rsp + 0x44]
mov dword [rcx + rax*4], r13d
mov rcx, rsi
call fcn.140174bb0
mov rcx, qword [rsp + 0x30]
mov dword [rcx + rax*4], r13d
mov rax, qword [rbx + 8]
sub rax, qword [rbx]
sar rax, 3
cmp rax, qword [rbx + 0x38]
jae 0x14014fc28
mov rax, qword [rbx + 0x40]
cmp rax, 0x20000
ja 0x14014fc4e
mov rcx, qword [rbx + 0x18]
add rax, qword [rbx + 0x10]
cmp rax, rcx
jb 0x14014fc75
cmp qword [rsp + 0x20], rsi
jb 0x14014fc92
cmp r14, rsi
jb 0x140151055
movups xmm2, xmmword [rsi]
movups xmmword [rcx], xmm2
mov rax, qword [rbx + 8]
mov word [rax + 4], 0
mov dword [rax], 1
cmp r12, 2
jbe 0x14014fd74
inc rdi
cmp rdi, 0xffff
ja 0x140151068
mov word [rax + 6], di
add rax, 8
add rsi, r12
xchg ebp, r15d
mov qword [rbx + 8], rax
cmp qword [rsp + 0x50], rsi
jae 0x1401509b6
mov r11, rsi
mov r12, rsi
mov rsi, r11
lea rax, [rsi + 0x100]
lea rdi, [rsi + 1]
mov qword [rsp + 0x70], rax
cmp qword [rsp + 0x50], rdi
jb 0x140151268
cmp dword [rsp + 0x44], 0x20
ja 0x14014fb0a
mov edx, dword [rsp + 0x44]
mov rcx, rsi
mov r14d, r15d
call fcn.140174bb0
mov qword [rsp + 0x78], 1
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x68]
mov r9d, dword [rax + rcx*4]
mov rax, qword [rsp + 0x28]
mov r13, r9
add r9, rax
mov eax, 1
sub rax, r14
mov qword [rsp + 0x88], rax
cmp dword [rsp + 0x58], 0x20
mov qword [rsp + 0x90], r9
ja 0x14014fb0a
mov edx, dword [rsp + 0x58]
mov rcx, rsi
call fcn.140174930
mov rcx, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x28]
mov r9, qword [rsp + 0x90]
lea rax, [rcx + rax*4]
mov rcx, rsi
sub rcx, rdx
mov r11d, dword [rax]
mov qword [rsp + 0x80], rcx
mov ecx, dword [rsp + 0x80]
mov edx, dword [rsp + 0x80]
mov dword [rax], ecx
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x68]
mov dword [rax + rcx*4], edx
mov rax, qword [rsp + 0x88]
mov ecx, dword [rsi + 1]
cmp dword [rsi + rax], ecx
jne 0x140150d16
test r15d, r15d
je 0x140150d16
mov rax, rsi
mov r8, qword [rsp + 0x20]
lea rcx, [rsi + 5]
lea r13, [rsi + 1]
sub rax, r14
mov rdi, r13
lea rdx, [rax + 5]
sub rdi, r12
call fcn.140170c70
mov rsi, rax
lea r14, [rax + 4]
mov rax, qword [rsp + 0x20]
lea r9, [rax - 0x20]
mov rax, qword [rbx + 8]
sub rax, qword [rbx]
sar rax, 3
cmp rax, qword [rbx + 0x38]
jae 0x14014fc28
mov rax, qword [rbx + 0x40]
cmp rax, 0x20000
ja 0x14014fc4e
mov rcx, qword [rbx + 0x18]
add rax, qword [rbx + 0x10]
lea rdx, [rcx + rdi]
cmp rax, rdx
jb 0x14014fc75
cmp qword [rsp + 0x20], r13
jb 0x14014fc92
cmp r9, r13
jb 0x140150c90
movups xmm0, xmmword [r12]
movups xmmword [rcx], xmm0
cmp rdi, 0x10
jbe 0x140150c9b
mov rax, qword [rbx + 0x18]
mov rdx, rax
sub rdx, r12
add rdx, 0xf
cmp rdx, 0x1e
jbe 0x14014fccf
movups xmm1, xmmword [r12 + 0x10]
movups xmmword [rax + 0x10], xmm1
cmp rdi, 0x20
jle 0x140150c9b
lea rdx, [rax + rdi]
lea r10, [r12 + 0x20]
add rax, 0x20
movups xmm2, xmmword [r10]
add rax, 0x20
add r10, 0x20
movups xmmword [rax - 0x20], xmm2
movups xmm3, xmmword [r10 - 0x10]
movups xmmword [rax - 0x10], xmm3
cmp rax, rdx
jb 0x140150c70
jmp 0x140150c9b
mov r8, r13
mov rdx, r12
call fcn.1401796d0
add qword [rbx + 0x18], rdi
cmp rdi, 0xffff
jbe 0x140150cc7
cmp dword [rbx + 0x48], 0
jne 0x14014fd43
mov rax, qword [rbx + 8]
sub rax, qword [rbx]
mov dword [rbx + 0x48], 1
sar rax, 3
mov dword [rbx + 0x4c], eax
mov rax, qword [rbx + 8]
mov word [rax + 4], di
mov dword [rax], 1
cmp r14, 2
jbe 0x14014fd74
inc rsi
cmp rsi, 0xffff
jbe 0x140150d09
cmp dword [rbx + 0x48], 0
jne 0x14014fd9f
mov rdx, rax
sub rdx, qword [rbx]
mov dword [rbx + 0x48], 2
sar rdx, 3
mov dword [rbx + 0x4c], edx
mov word [rax + 6], si
add rax, 8
jmp 0x140151039
mov edx, dword [rsp + 0x44]
mov rcx, rdi
mov dword [rsp + 0x90], r11d
mov qword [rsp + 0x98], r9
call fcn.140174bb0
cmp dword [rsp + 0x5c], r13d
mov r11d, dword [rsp + 0x90]
mov qword [rsp + 0x68], rax
jae 0x140150daf
mov r9, qword [rsp + 0x98]
mov rax, qword [rsi]
cmp qword [r9], rax
jne 0x140150daf
mov r8, qword [rsp + 0x20]
lea rdx, [r9 + 8]
lea rcx, [rsi + 8]
mov r13, rsi
mov qword [rsp + 0x70], r9
call fcn.140170c70
mov r9, qword [rsp + 0x70]
lea r14, [rax + 8]
mov eax, esi
sub eax, r9d
mov dword [rsp + 0x70], eax
cmp r12, r13
jae 0x140150ec8
cmp qword [rsp + 0x60], r9
jae 0x140150ec8
mov al, byte [r9 - 1]
cmp byte [r13 - 1], al
jne 0x140150ec8
dec r13
dec r9
inc r14
jmp 0x140150d82
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x68]
mov r9d, dword [rax + rcx*4]
mov rax, qword [rsp + 0x28]
mov r13, r9
add r9, rax
cmp dword [rsp + 0x5c], r11d
jae 0x140150de5
add r11, rax
mov eax, dword [rsi]
cmp dword [r11], eax
jne 0x140150de5
cmp dword [rsp + 0x5c], r13d
jb 0x140150e26
jmp 0x140150e7b
mov rax, qword [rsp + 0x70]
cmp rdi, rax
jb 0x140150e08
prefetcht0 byte [rdi + 0x40]
prefetcht0 byte [rdi + 0x80]
inc qword [rsp + 0x78]
add qword [rsp + 0x70], 0x100
mov rax, qword [rsp + 0x78]
mov rsi, rdi
add rax, rdi
cmp qword [rsp + 0x50], rax
jb 0x140151268
mov rdi, rax
jmp 0x140150b31
mov rax, qword [rdi]
cmp qword [r9], rax
jne 0x140150e7b
mov r8, qword [rsp + 0x20]
lea rdx, [r9 + 8]
lea rcx, [rdi + 8]
mov r13, rdi
mov qword [rsp + 0x70], r9
call fcn.140170c70
mov r9, qword [rsp + 0x70]
lea r14, [rax + 8]
mov eax, edi
sub eax, r9d
mov dword [rsp + 0x70], eax
cmp r12, r13
jae 0x140150ec8
cmp qword [rsp + 0x60], r9
jae 0x140150ec8
mov al, byte [r9 - 1]
cmp byte [r13 - 1], al
jne 0x140150ec8
dec r13
dec r9
inc r14
jmp 0x140150e5a
mov r8, qword [rsp + 0x20]
lea rdx, [r11 + 4]
lea rcx, [rsi + 4]
mov r13, rsi
mov qword [rsp + 0x70], r11
call fcn.140170c70
mov r11, qword [rsp + 0x70]
lea r14, [rax + 4]
mov eax, esi
sub eax, r11d
mov dword [rsp + 0x70], eax
cmp r12, r13
jae 0x140150ec8
cmp qword [rsp + 0x60], r11
jae 0x140150ec8
mov al, byte [r11 - 1]
cmp byte [r13 - 1], al
jne 0x140150ec8
dec r13
dec r11
inc r14
jmp 0x140150ea7
cmp qword [rsp + 0x78], 3
ja 0x140150ee5
mov rax, qword [rsp + 0x28]
mov rsi, qword [rsp + 0x68]
sub rdi, rax
mov rax, qword [rsp + 0x30]
mov dword [rax + rsi*4], edi
cmp dword [rsp + 0x70], 0
je 0x14014ffaf
mov eax, dword [rsp + 0x70]
mov rsi, r13
sub rsi, r12
lea edi, [rax + 3]
mov rax, qword [rsp + 0x20]
lea r9, [rax - 0x20]
mov rax, qword [rbx + 8]
sub rax, qword [rbx]
sar rax, 3
cmp rax, qword [rbx + 0x38]
jae 0x14014fc28
mov rax, qword [rbx + 0x40]
cmp rax, 0x20000
ja 0x14014fc4e
mov rcx, qword [rbx + 0x18]
add rax, qword [rbx + 0x10]
lea rdx, [rcx + rsi]
cmp rax, rdx
jb 0x14014fc75
cmp qword [rsp + 0x20], r13
jb 0x14014fc92
cmp r9, r13
jb 0x140150fb3
movups xmm4, xmmword [r12]
movups xmmword [rcx], xmm4
cmp rsi, 0x10
jbe 0x140150fbe
mov rax, qword [rbx + 0x18]
mov rdx, rax
sub rdx, r12
add rdx, 0xf
cmp rdx, 0x1e
jbe 0x14014fccf
movups xmm5, xmmword [r12 + 0x10]
movups xmmword [rax + 0x10], xmm5
cmp rsi, 0x20
jle 0x140150fbe
lea rdx, [rax + rsi]
lea r10, [r12 + 0x20]
add rax, 0x20
movups xmm0, xmmword [r10]
add rax, 0x20
add r10, 0x20
movups xmmword [rax - 0x20], xmm0
movups xmm1, xmmword [r10 - 0x10]
movups xmmword [rax - 0x10], xmm1
cmp rax, rdx
jb 0x140150f93
jmp 0x140150fbe
mov r8, r13
mov rdx, r12
call fcn.1401796d0
add qword [rbx + 0x18], rsi
cmp rsi, 0xffff
jbe 0x140150fea
cmp dword [rbx + 0x48], 0
jne 0x14014fd43
mov rax, qword [rbx + 8]
sub rax, qword [rbx]
mov dword [rbx + 0x48], 1
sar rax, 3
mov dword [rbx + 0x4c], eax
mov rax, qword [rbx + 8]
mov word [rax + 4], si
mov dword [rax], edi
cmp r14, 2
jbe 0x14014fd74
lea rcx, [r14 - 3]
cmp rcx, 0xffff
jbe 0x140151029
cmp dword [rbx + 0x48], 0
jne 0x14014fd9f
mov rdx, rax
sub rdx, qword [rbx]
mov dword [rbx + 0x48], 2
sar rdx, 3
mov dword [rbx + 0x4c], edx
mov ebp, r15d
mov r15d, dword [rsp + 0x70]
mov word [rax + 6], cx
add rax, 8
mov qword [rbx + 8], rax
lea rsi, [r13 + r14]
cmp qword [rsp + 0x50], rsi
jae 0x14015092e
mov r12, rsi
jmp 0x140150ac5
mov r9, r14
mov r8, rsi
mov rdx, rsi
call fcn.1401796d0
jmp 0x140150a75
cmp dword [rbx + 0x48], 0
jne 0x14014fd9f
mov rdx, rax
sub rdx, qword [rbx]
mov dword [rbx + 0x48], 2
sar rdx, 3
mov dword [rbx + 0x4c], edx
jmp 0x140150a9f
mov eax, dword [rsp + 0x3c]
xor ebp, ebp
cmp edi, eax
jb 0x14015109d
xor edx, edx
mov ebp, eax
mov dword [rsp + 0x3c], edx
mov eax, dword [rsp + 0x40]
xor r15d, r15d
cmp edi, eax
jb 0x14015124b
mov r15d, eax
xor eax, eax
mov dword [rsp + 0x40], eax
jmp 0x14015124b
mov edi, dword [rsp + 0x80]
mov rax, qword [rsp + 0x28]
mov edx, dword [rsp + 0x44]
lea r12d, [rdi + 2]
mov rdi, r12
add r12, rax
mov rcx, r12
call fcn.140174bb0
mov rcx, qword [rsp + 0x30]
mov edx, dword [rsp + 0x44]
mov dword [rcx + rax*4], edi
lea rcx, [rsi - 2]
mov rax, qword [rsp + 0x28]
mov r13, rcx
sub r13, rax
call fcn.140174bb0
mov rcx, qword [rsp + 0x30]
mov edx, dword [rsp + 0x58]
mov dword [rcx + rax*4], r13d
mov rcx, r12
call fcn.140174ac0
mov rcx, qword [rsp + 0x48]
mov edx, dword [rsp + 0x58]
mov dword [rcx + rax*4], edi
lea rcx, [rsi - 1]
mov rax, qword [rsp + 0x28]
mov rdi, rcx
sub rdi, rax
call fcn.140174ac0
mov rcx, qword [rsp + 0x48]
mov dword [rcx + rax*4], edi
mov rax, qword [rsp + 0x20]
lea r14, [rax - 0x20]
mov eax, ebp
mov rdx, rsi
mov edi, dword [rsi]
sub rdx, rax
cmp dword [rdx], edi
jne 0x140151884
test ebp, ebp
je 0x140151884
mov edx, 4
mov r8, qword [rsp + 0x20]
lea rcx, [rsi + 4]
mov r13, rsi
sub rdx, rax
add rdx, rsi
call fcn.140170c70
mov edx, dword [rsp + 0x58]
mov rcx, rsi
mov rdi, rax
lea r12, [rax + 4]
mov rax, qword [rsp + 0x28]
sub r13, rax
call fcn.140174ac0
mov rcx, qword [rsp + 0x48]
mov edx, dword [rsp + 0x44]
mov dword [rcx + rax*4], r13d
mov rcx, rsi
call fcn.140174bb0
mov rcx, qword [rsp + 0x30]
mov dword [rcx + rax*4], r13d
mov rax, qword [rbx + 8]
sub rax, qword [rbx]
sar rax, 3
cmp rax, qword [rbx + 0x38]
jae 0x14014fc28
mov rax, qword [rbx + 0x40]
cmp rax, 0x20000
ja 0x14014fc4e
mov rcx, qword [rbx + 0x18]
add rax, qword [rbx + 0x10]
cmp rax, rcx
jb 0x14014fc75
cmp qword [rsp + 0x20], rsi
jb 0x14014fc92
cmp r14, rsi
jb 0x140151846
movups xmm5, xmmword [rsi]
movups xmmword [rcx], xmm5
mov rax, qword [rbx + 8]
mov word [rax + 4], 0
mov dword [rax], 1
cmp r12, 2
jbe 0x14014fd74
inc rdi
cmp rdi, 0xffff
ja 0x140151859
mov word [rax + 6], di
add rax, 8
add rsi, r12
mov qword [rbx + 8], rax
cmp qword [rsp + 0x50], rsi
jae 0x14015187c
mov r11, rsi
xchg r15d, ebp
mov r12, rsi
mov rsi, r11
lea rax, [rsi + 0x100]
lea rdi, [rsi + 1]
mov qword [rsp + 0x70], rax
cmp qword [rsp + 0x50], rdi
jae 0x140151281
cmp dword [rsp + 0x40], 0
je 0x1401515cb
test r15d, r15d
jne 0x1401515d6
jmp 0x1401515cb
cmp dword [rsp + 0x44], 0x20
ja 0x14014fb0a
mov edx, dword [rsp + 0x44]
mov rcx, rsi
mov r14d, r15d
call fcn.140174bb0
mov qword [rsp + 0x78], 1
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x68]
mov r9d, dword [rax + rcx*4]
mov rax, qword [rsp + 0x28]
mov r13, r9
add r9, rax
mov eax, 1
sub rax, r14
mov qword [rsp + 0x88], rax
cmp dword [rsp + 0x58], 0x20
mov qword [rsp + 0x90], r9
ja 0x14014fb0a
mov edx, dword [rsp + 0x58]
mov rcx, rsi
call fcn.140174ac0
mov rcx, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x28]
mov r9, qword [rsp + 0x90]
lea rax, [rcx + rax*4]
mov rcx, rsi
sub rcx, rdx
mov r11d, dword [rax]
mov qword [rsp + 0x80], rcx
mov ecx, dword [rsp + 0x80]
mov edx, dword [rsp + 0x80]
mov dword [rax], ecx
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x68]
mov dword [rax + rcx*4], edx
mov rax, qword [rsp + 0x88]
mov ecx, dword [rsi + 1]
cmp dword [rsi + rax], ecx
jne 0x1401514b7
test r15d, r15d
je 0x1401514b7
mov rax, rsi
mov r8, qword [rsp + 0x20]
lea rcx, [rsi + 5]
lea r13, [rsi + 1]
sub rax, r14
mov rdi, r13
lea rdx, [rax + 5]
sub rdi, r12
call fcn.140170c70
mov rsi, rax
lea r14, [rax + 4]
mov rax, qword [rsp + 0x20]
lea r9, [rax - 0x20]
mov rax, qword [rbx + 8]
sub rax, qword [rbx]
sar rax, 3
cmp rax, qword [rbx + 0x38]
jae 0x14014fc28
mov rax, qword [rbx + 0x40]
cmp rax, 0x20000
ja 0x14014fc4e
mov rcx, qword [rbx + 0x18]
add rax, qword [rbx + 0x10]
lea rdx, [rcx + rdi]
cmp rax, rdx
jb 0x14014fc75
cmp qword [rsp + 0x20], r13
jb 0x14014fc92
cmp r9, r13
jb 0x140151431
movups xmm3, xmmword [r12]
movups xmmword [rcx], xmm3
cmp rdi, 0x10
jbe 0x14015143c
mov rax, qword [rbx + 0x18]
mov rdx, rax
sub rdx, r12
add rdx, 0xf
cmp rdx, 0x1e
jbe 0x14014fccf
movups xmm4, xmmword [r12 + 0x10]
movups xmmword [rax + 0x10], xmm4
cmp rdi, 0x20
jle 0x14015143c
lea rdx, [rax + rdi]
lea r10, [r12 + 0x20]
add rax, 0x20
movups xmm5, xmmword [r10]
add rax, 0x20
add r10, 0x20
movups xmmword [rax - 0x20], xmm5
movups xmm0, xmmword [r10 - 0x10]
movups xmmword [rax - 0x10], xmm0
cmp rax, rdx
jb 0x140151411
jmp 0x14015143c
mov r8, r13
mov rdx, r12
call fcn.1401796d0
add qword [rbx + 0x18], rdi
cmp rdi, 0xffff
jbe 0x140151468
cmp dword [rbx + 0x48], 0
jne 0x14014fd43
mov rax, qword [rbx + 8]
sub rax, qword [rbx]
mov dword [rbx + 0x48], 1
sar rax, 3
mov dword [rbx + 0x4c], eax
mov rax, qword [rbx + 8]
mov word [rax + 4], di
mov dword [rax], 1
cmp r14, 2
jbe 0x14014fd74
inc rsi
cmp rsi, 0xffff
jbe 0x1401514aa
cmp dword [rbx + 0x48], 0
jne 0x14014fd9f
mov rdx, rax
sub rdx, qword [rbx]
mov dword [rbx + 0x48], 2
sar rdx, 3
mov dword [rbx + 0x4c], edx
mov word [rax + 6], si
add rax, 8
jmp 0x14015182a
mov edx, dword [rsp + 0x44]
mov rcx, rdi
mov dword [rsp + 0x90], r11d
mov qword [rsp + 0x98], r9
call fcn.140174bb0
cmp dword [rsp + 0x5c], r13d
mov r11d, dword [rsp + 0x90]
mov qword [rsp + 0x68], rax
jae 0x140151550
mov r9, qword [rsp + 0x98]
mov rax, qword [rsi]
cmp qword [r9], rax
jne 0x140151550
mov r8, qword [rsp + 0x20]
lea rdx, [r9 + 8]
lea rcx, [rsi + 8]
mov r13, rsi
mov qword [rsp + 0x70], r9
call fcn.140170c70
mov r9, qword [rsp + 0x70]
lea r14, [rax + 8]
mov eax, esi
sub eax, r9d
mov dword [rsp + 0x70], eax
cmp r12, r13
jae 0x1401516b9
cmp qword [rsp + 0x60], r9
jae 0x1401516b9
mov al, byte [r9 - 1]
cmp byte [r13 - 1], al
jne 0x1401516b9
dec r13
dec r9
inc r14
jmp 0x140151523
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x68]
mov r9d, dword [rax + rcx*4]
mov rax, qword [rsp + 0x28]
mov r13, r9
add r9, rax
cmp dword [rsp + 0x5c], r11d
jae 0x14015158a
add r11, rax
mov eax, dword [rsi]
cmp dword [r11], eax
jne 0x14015158a
cmp dword [rsp + 0x5c], r13d
jb 0x140151617
jmp 0x14015166c
mov rax, qword [rsp + 0x70]
cmp rdi, rax
jb 0x1401515ad
prefetcht0 byte [rdi + 0x40]
prefetcht0 byte [rdi + 0x80]
inc qword [rsp + 0x78]
add qword [rsp + 0x70], 0x100
mov rax, qword [rsp + 0x78]
mov rsi, rdi
add rax, rdi
cmp qword [rsp + 0x50], rax
jb 0x140151268
mov rdi, rax
jmp 0x1401512d2
test r15d, r15d
cmove r15d, dword [rsp + 0x40]
jmp 0x1401515de
mov eax, dword [rsp + 0x40]
mov dword [rsp + 0x3c], eax
test ebp, ebp
cmove ebp, dword [rsp + 0x3c]
mov rax, qword [rsp + 0x20]
mov rbx, qword [rsp + 0x100]
mov dword [rsp + 0x3c], ebp
mov edi, dword [rsp + 0x3c]
sub rax, r12
mov dword [rbx], r15d
mov dword [rbx + 4], edi
add rsp, 0xa8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov rax, qword [rdi]
cmp qword [r9], rax
jne 0x14015166c
mov r8, qword [rsp + 0x20]
lea rdx, [r9 + 8]
lea rcx, [rdi + 8]
mov r13, rdi
mov qword [rsp + 0x70], r9
call fcn.140170c70
mov r9, qword [rsp + 0x70]
lea r14, [rax + 8]
mov eax, edi
sub eax, r9d
mov dword [rsp + 0x70], eax
cmp r12, r13
jae 0x1401516b9
cmp qword [rsp + 0x60], r9
jae 0x1401516b9
mov al, byte [r9 - 1]
cmp byte [r13 - 1], al
jne 0x1401516b9
dec r13
dec r9
inc r14
jmp 0x14015164b
mov r8, qword [rsp + 0x20]
lea rdx, [r11 + 4]
lea rcx, [rsi + 4]
mov r13, rsi
mov qword [rsp + 0x70], r11
call fcn.140170c70
mov r11, qword [rsp + 0x70]
lea r14, [rax + 4]
mov eax, esi
sub eax, r11d
mov dword [rsp + 0x70], eax
cmp r12, r13
jae 0x1401516b9
cmp qword [rsp + 0x60], r11
jae 0x1401516b9
mov al, byte [r11 - 1]
cmp byte [r13 - 1], al
jne 0x1401516b9
dec r13
dec r11
inc r14
jmp 0x140151698
cmp qword [rsp + 0x78], 3
ja 0x1401516d6
mov rax, qword [rsp + 0x28]
mov rsi, qword [rsp + 0x68]
sub rdi, rax
mov rax, qword [rsp + 0x30]
mov dword [rax + rsi*4], edi
cmp dword [rsp + 0x70], 0
je 0x14014ffaf
mov eax, dword [rsp + 0x70]
mov rsi, r13
sub rsi, r12
lea edi, [rax + 3]
mov rax, qword [rsp + 0x20]
lea r9, [rax - 0x20]
mov rax, qword [rbx + 8]
sub rax, qword [rbx]
sar rax, 3
cmp rax, qword [rbx + 0x38]
jae 0x14014fc28
mov rax, qword [rbx + 0x40]
cmp rax, 0x20000
ja 0x14014fc4e
mov rcx, qword [rbx + 0x18]
add rax, qword [rbx + 0x10]
lea rdx, [rcx + rsi]
cmp rax, rdx
jb 0x14014fc75
cmp qword [rsp + 0x20], r13
jb 0x14014fc92
cmp r9, r13
jb 0x1401517a4
movups xmm1, xmmword [r12]
movups xmmword [rcx], xmm1
cmp rsi, 0x10
jbe 0x1401517af
mov rax, qword [rbx + 0x18]
mov rdx, rax
sub rdx, r12
add rdx, 0xf
cmp rdx, 0x1e
jbe 0x14014fccf
movups xmm2, xmmword [r12 + 0x10]
movups xmmword [rax + 0x10], xmm2
cmp rsi, 0x20
jle 0x1401517af
lea rdx, [rax + rsi]
lea r10, [r12 + 0x20]
add rax, 0x20
movups xmm3, xmmword [r10]
add rax, 0x20
add r10, 0x20
movups xmmword [rax - 0x20], xmm3
movups xmm4, xmmword [r10 - 0x10]
movups xmmword [rax - 0x10], xmm4
cmp rax, rdx
jb 0x140151784
jmp 0x1401517af
mov r8, r13
mov rdx, r12
call fcn.1401796d0
add qword [rbx + 0x18], rsi
cmp rsi, 0xffff
jbe 0x1401517db
cmp dword [rbx + 0x48], 0
jne 0x14014fd43
mov rax, qword [rbx + 8]
sub rax, qword [rbx]
mov dword [rbx + 0x48], 1
sar rax, 3
mov dword [rbx + 0x4c], eax
mov rax, qword [rbx + 8]
mov word [rax + 4], si
mov dword [rax], edi
cmp r14, 2
jbe 0x14014fd74
lea rcx, [r14 - 3]
cmp rcx, 0xffff
jbe 0x14015181a
cmp dword [rbx + 0x48], 0
jne 0x14014fd9f
mov rdx, rax
sub rdx, qword [rbx]
mov dword [rbx + 0x48], 2
sar rdx, 3
mov dword [rbx + 0x4c], edx
mov ebp, r15d
mov r15d, dword [rsp + 0x70]
mov word [rax + 6], cx
add rax, 8
mov qword [rbx + 8], rax
lea rsi, [r13 + r14]
cmp qword [rsp + 0x50], rsi
jae 0x1401510ba
mov r12, rsi
jmp 0x140151251
mov r9, r14
mov r8, rsi
mov rdx, rsi
call fcn.1401796d0
jmp 0x140151201
cmp dword [rbx + 0x48], 0
jne 0x14014fd9f
mov rdx, rax
sub rdx, qword [rbx]
mov dword [rbx + 0x48], 2
sar rdx, 3
mov dword [rbx + 0x4c], edx
jmp 0x14015122b
xchg ebp, r15d
jmp 0x140151142
xchg r15d, ebp
jmp 0x140151245
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xb8
mov edi, dword [rsp + 0x128]
mov r10d, dword [rcx + 0x1c]
mov r11d, dword [rcx + 0x28]
mov dword [rsp + 0x4c], edi
mov rdi, qword [rcx + 0x70]
mov rbx, r9
mov rax, rcx
mov r9, qword [rsp + 0x120]
mov qword [rsp + 0x78], r8
mov r8, rbx
mov rsi, rdx
mov qword [rsp + 0x68], rdi
mov edi, dword [rcx + 0x108]
mov edx, 1
mov dword [rsp + 0x48], r10d
mov dword [rsp + 0x98], edi
mov rdi, qword [rcx + 0x80]
mov qword [rsp + 0x80], rdi
mov edi, dword [rcx + 0x104]
mov dword [rsp + 0x40], edi
lea rdi, [rbx + r9]
mov qword [rsp + 0x30], rdi
sub rdi, 8
mov qword [rsp + 0x88], rdi
mov rdi, qword [rcx + 8]
mov ecx, dword [rcx + 0x100]
sub r8, rdi
mov qword [rsp + 0x38], rdi
add r8d, r9d
shl edx, cl
mov ecx, r8d
sub ecx, r10d
cmp edx, ecx
jae 0x140154bc6
sub r8d, edx
mov dword [rsp + 0x48], r8d
mov edx, dword [rax + 0x18]
test r11d, r11d
cmove r10d, dword [rsp + 0x48]
cmp edx, r10d
mov edi, r10d
mov r8d, r10d
mov dword [rsp + 0x48], r10d
cmovae edi, edx
mov ecx, edi
mov dword [rsp + 0x44], edi
mov rdi, qword [rsp + 0x38]
add rdi, rcx
mov qword [rsp + 0x50], rdi
mov rdi, qword [rax + 0x10]
mov qword [rsp + 0x60], rdi
add rdi, r8
mov qword [rsp + 0x90], rdi
mov rdi, qword [rsp + 0x60]
add rdi, rcx
mov qword [rsp + 0x70], rdi
mov rdi, qword [rsp + 0x78]
mov ebp, dword [rdi]
mov r15d, dword [rdi + 4]
mov rdi, rbx
cmp r10d, edx
jae 0x140154c4b
mov eax, dword [rsp + 0x44]
dec eax
mov dword [rsp + 0x9c], eax
mov eax, 1
sub eax, r10d
mov dword [rsp + 0xa8], eax
jmp 0x140154d8f
mov r8, qword [rsp + 0x78]
mov qword [rsp + 0x120], r9
mov rdx, rsi
mov r9, rbx
mov rcx, rax
add rsp, 0xb8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp 0x14014f810
cmp dword [rsp + 0x40], 0x20
ja 0x140154da5
cmp dword [rsp + 0x4c], 6
mov edx, dword [rsp + 0x40]
mov rcx, rbx
je 0x140154dc8
cmp dword [rsp + 0x4c], 7
je 0x140154dd2
cmp dword [rsp + 0x4c], 5
je 0x140154dbe
call fcn.140174660
mov rcx, qword [rsp + 0x80]
mov r12, qword [rsp + 0x60]
lea r13, [rcx + rax*4]
mov eax, dword [rsp + 0x44]
mov r14d, dword [r13]
cmp r14d, eax
cmovae r12, qword [rsp + 0x38]
cmp dword [rsp + 0x98], 0x20
ja 0x140154da5
mov edx, dword [rsp + 0x98]
mov rcx, rbx
call fcn.140174bb0
mov rcx, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x38]
lea r8, [rcx + rax*4]
mov eax, dword [rsp + 0x44]
mov rcx, qword [rsp + 0x60]
mov r10d, dword [r8]
cmp r10d, eax
mov rax, rbx
cmovae rcx, qword [rsp + 0x38]
sub rax, rdx
mov qword [rsp + 0x58], rax
mov r11d, dword [rsp + 0x58]
mov eax, 1
mov edx, dword [rsp + 0x58]
sub eax, ebp
mov r9d, dword [rsp + 0x58]
mov dword [r8], r11d
mov dword [r13], r11d
mov r11d, dword [rsp + 0xa8]
add eax, edx
mov edx, dword [rsp + 0x44]
lea r8d, [r11 + r9]
cmp eax, edx
mov rdx, qword [rsp + 0x60]
cmovae rdx, qword [rsp + 0x38]
cmp r8d, ebp
jae 0x140154ddc
cmp dword [rsp + 0x48], r10d
jb 0x140155022
cmp dword [rsp + 0x48], r14d
jb 0x140155188
mov rax, rbx
mov r12d, ebp
mov ebp, r15d
sub rax, rdi
sar rax, 8
lea rbx, [rbx + rax + 1]
mov r15d, ebp
mov ebp, r12d
mov rax, qword [rsp + 0x88]
cmp rbx, rax
jb 0x140154c79
jmp 0x1401556f8
mov r8d, 0x342
lea rdx, [0x1402ae9a0]
lea rcx, [0x1402aeb1d]
jmp 0x140154e6f
call fcn.1401747a0
jmp 0x140154cb1
call fcn.140174930
jmp 0x140154cb1
call fcn.140174ac0
jmp 0x140154cb1
mov r8d, dword [rsp + 0x9c]
sub r8d, eax
cmp r8d, 2
jbe 0x140154d5e
mov r8d, eax
add rdx, r8
mov r11d, dword [rdx]
cmp dword [rbx + 1], r11d
jne 0x140154d5e
mov ecx, dword [rsp + 0x44]
mov r9, qword [rsp + 0x70]
mov r8, qword [rsp + 0x30]
cmp eax, ecx
mov rax, qword [rsp + 0x50]
cmovae r9, qword [rsp + 0x30]
lea rcx, [rbx + 5]
add rdx, 4
inc rbx
mov qword [rsp + 0x20], rax
mov r13, rbx
sub r13, rdi
call fcn.1401710c0
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsi + 8]
sub rdx, qword [rsi]
mov r12, rax
lea rax, [rax + 4]
lea r9, [rcx - 0x20]
sar rdx, 3
cmp rdx, qword [rsi + 0x38]
jb 0x140154e75
mov r8d, 0x29d
lea rdx, [0x1402ae9a0]
lea rcx, [0x1402aeb29]
call qword [sym.imp.msvcrt.dll__assert]
mov rdx, qword [rsi + 0x40]
cmp rdx, 0x20000
jbe 0x140154e98
mov r8d, 0x29f
lea rdx, [0x1402ae9a0]
lea rcx, [0x1402aeb80]
jmp 0x140154e6f
mov rcx, qword [rsi + 0x18]
add rdx, qword [rsi + 0x10]
lea r8, [rcx + r13]
cmp rdx, r8
jae 0x140154ebf
mov r8d, 0x2a0
lea rdx, [0x1402ae9a0]
lea rcx, [0x1402aeba0]
jmp 0x140154e6f
cmp qword [rsp + 0x30], rbx
jae 0x140154edc
mov r8d, 0x2a1
lea rdx, [0x1402ae9a0]
lea rcx, [0x1402aebee]
jmp 0x140154e6f
cmp r9, rbx
jb 0x140154f56
movups xmm0, xmmword [rdi]
movups xmmword [rcx], xmm0
cmp r13, 0x10
jbe 0x140154f71
mov rdx, qword [rsi + 0x18]
mov rcx, rdx
sub rcx, rdi
add rcx, 0xf
cmp rcx, 0x1e
ja 0x140154f1e
mov r8d, 0xe9
lea rdx, [0x1402ae9db]
lea rcx, [0x1402aea07]
jmp 0x140154e6f
movups xmm1, xmmword [rdi + 0x10]
movups xmmword [rdx + 0x10], xmm1
cmp r13, 0x20
jle 0x140154f71
lea rcx, [rdx + r13]
add rdi, 0x20
add rdx, 0x20
movups xmm2, xmmword [rdi]
add rdx, 0x20
add rdi, 0x20
movups xmmword [rdx - 0x20], xmm2
movups xmm3, xmmword [rdi - 0x10]
movups xmmword [rdx - 0x10], xmm3
cmp rdx, rcx
jb 0x140154f38
jmp 0x140154f71
mov r8, rbx
mov rdx, rdi
mov qword [rsp + 0xa0], rax
call fcn.1401796d0
mov rax, qword [rsp + 0xa0]
add qword [rsi + 0x18], r13
cmp r13, 0xffff
jbe 0x140154fa1
cmp dword [rsi + 0x48], 0
je 0x140154f8c
mov r8d, 0x2b2
jmp 0x140154fe7
mov rdx, qword [rsi + 8]
sub rdx, qword [rsi]
mov dword [rsi + 0x48], 1
sar rdx, 3
mov dword [rsi + 0x4c], edx
mov rdx, qword [rsi + 8]
mov word [rdx + 4], r13w
mov dword [rdx], 1
cmp rax, 2
ja 0x140154fcf
mov r8d, 0x2bc
lea rdx, [0x1402ae9a0]
lea rcx, [0x1402aec3c]
jmp 0x140154e6f
inc r12
cmp r12, 0xffff
jbe 0x14015500e
cmp dword [rsi + 0x48], 0
je 0x140154ffa
mov r8d, 0x2bf
lea rdx, [0x1402ae9a0]
lea rcx, [0x1402aec0f]
jmp 0x140154e6f
mov rcx, rdx
sub rcx, qword [rsi]
mov dword [rsi + 0x48], 2
sar rcx, 3
mov dword [rsi + 0x4c], ecx
mov word [rdx + 6], r12w
mov r12d, ebp
add rdx, 8
mov ebp, r15d
jmp 0x14015544b
mov eax, r10d
lea r13, [rcx + rax]
mov rax, qword [r13]
cmp qword [rbx], rax
jne 0x140154d69
mov eax, dword [rsp + 0x44]
cmp r10d, eax
jae 0x14015504e
mov r9, qword [rsp + 0x70]
mov r14, qword [rsp + 0x90]
jmp 0x140155058
mov r9, qword [rsp + 0x30]
mov r14, qword [rsp + 0x50]
mov rax, qword [rsp + 0x50]
mov r8, qword [rsp + 0x30]
lea rdx, [r13 + 8]
lea rcx, [rbx + 8]
mov dword [rsp + 0xa0], r10d
mov qword [rsp + 0x20], rax
call fcn.1401710c0
mov r12d, dword [rsp + 0x58]
mov r10d, dword [rsp + 0xa0]
add rax, 8
sub r12d, r10d
cmp rdi, rbx
jae 0x1401550ae
cmp r14, r13
jae 0x1401550ae
mov cl, byte [r13 - 1]
cmp byte [rbx - 1], cl
jne 0x1401550ae
dec rbx
dec r13
inc rax
jmp 0x140155090
test r12d, r12d
jne 0x1401550be
mov r8d, 0x295
jmp 0x1401552ec
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsi + 8]
mov r13, rbx
lea r14d, [r12 + 3]
sub rdx, qword [rsi]
sub r13, rdi
lea r9, [rcx - 0x20]
sar rdx, 3
cmp rdx, qword [rsi + 0x38]
jae 0x140154e5b
mov rdx, qword [rsi + 0x40]
cmp rdx, 0x20000
ja 0x140154e82
mov rcx, qword [rsi + 0x18]
add rdx, qword [rsi + 0x10]
lea r8, [rcx + r13]
cmp rdx, r8
jb 0x140154ea9
cmp qword [rsp + 0x30], rbx
jb 0x140154ec6
cmp r9, rbx
jb 0x1401553ba
movups xmm4, xmmword [rdi]
movups xmmword [rcx], xmm4
cmp r13, 0x10
jbe 0x1401553d5
mov rdx, qword [rsi + 0x18]
mov rcx, rdx
sub rcx, rdi
add rcx, 0xf
cmp rcx, 0x1e
jbe 0x140154f05
movups xmm5, xmmword [rdi + 0x10]
movups xmmword [rdx + 0x10], xmm5
cmp r13, 0x20
jle 0x1401553d5
lea rcx, [rdx + r13]
add rdi, 0x20
add rdx, 0x20
movups xmm0, xmmword [rdi]
add rdx, 0x20
add rdi, 0x20
movups xmmword [rdx - 0x20], xmm0
movups xmm1, xmmword [rdi - 0x10]
movups xmmword [rdx - 0x10], xmm1
cmp rdx, rcx
jb 0x140155167
jmp 0x1401553d5
mov eax, r14d
lea r13, [r12 + rax]
mov eax, dword [r13]
cmp dword [rbx], eax
jne 0x140154d74
lea rax, [rbx + 1]
mov edx, dword [rsp + 0x98]
mov rcx, rax
mov qword [rsp + 0xa0], rax
call fcn.140174bb0
mov rcx, qword [rsp + 0x68]
mov r10, qword [rsp + 0x60]
lea rax, [rcx + rax*4]
mov ecx, dword [rsp + 0x44]
mov r11d, dword [rax]
cmp r11d, ecx
mov ecx, dword [rsp + 0x58]
cmovae r10, qword [rsp + 0x38]
lea r12d, [rcx + 1]
mov dword [rax], r12d
cmp dword [rsp + 0x48], r11d
jae 0x140155279
mov eax, r11d
lea r15, [r10 + rax]
mov rax, qword [r15]
cmp qword [rbx + 1], rax
jne 0x140155279
mov eax, dword [rsp + 0x44]
cmp r11d, eax
jae 0x140155212
mov r9, qword [rsp + 0x70]
mov r13, qword [rsp + 0x90]
jmp 0x14015521c
mov r9, qword [rsp + 0x30]
mov r13, qword [rsp + 0x50]
mov rax, qword [rsp + 0x50]
mov r8, qword [rsp + 0x30]
lea rcx, [rbx + 9]
lea rdx, [r15 + 8]
mov dword [rsp + 0xac], r11d
mov qword [rsp + 0x20], rax
call fcn.1401710c0
mov r11d, dword [rsp + 0xac]
mov rbx, qword [rsp + 0xa0]
add rax, 8
sub r12d, r11d
cmp rdi, rbx
jae 0x1401552e1
cmp r13, r15
jae 0x1401552e1
mov cl, byte [r15 - 1]
cmp byte [rbx - 1], cl
jne 0x1401552e1
dec rbx
dec r15
inc rax
jmp 0x140155257
mov eax, dword [rsp + 0x44]
cmp r14d, eax
jae 0x140155291
mov r9, qword [rsp + 0x70]
mov r15, qword [rsp + 0x90]
jmp 0x14015529b
mov r9, qword [rsp + 0x30]
mov r15, qword [rsp + 0x50]
mov rax, qword [rsp + 0x50]
mov r8, qword [rsp + 0x30]
lea rdx, [r13 + 4]
lea rcx, [rbx + 4]
mov qword [rsp + 0x20], rax
call fcn.1401710c0
mov r12d, dword [rsp + 0x58]
add rax, 4
sub r12d, r14d
cmp rdi, rbx
jae 0x1401552e1
cmp r15, r13
jae 0x1401552e1
mov cl, byte [r13 - 1]
cmp byte [rbx - 1], cl
jne 0x1401552e1
dec rbx
dec r13
inc rax
jmp 0x1401552c3
test r12d, r12d
jne 0x1401552ff
mov r8d, 0x2ae
lea rdx, str.zstd_lib_compress_zstd_double_fast.c
lea rcx, [0x1402aec7f]
jmp 0x140154e6f
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsi + 8]
mov r13, rbx
lea r14d, [r12 + 3]
sub rdx, qword [rsi]
sub r13, rdi
lea r9, [rcx - 0x20]
sar rdx, 3
cmp rdx, qword [rsi + 0x38]
jae 0x140154e5b
mov rdx, qword [rsi + 0x40]
cmp rdx, 0x20000
ja 0x140154e82
mov rcx, qword [rsi + 0x18]
add rdx, qword [rsi + 0x10]
lea r8, [rcx + r13]
cmp rdx, r8
jb 0x140154ea9
cmp qword [rsp + 0x30], rbx
jb 0x140154ec6
cmp r9, rbx
jb 0x1401553ba
movups xmm2, xmmword [rdi]
movups xmmword [rcx], xmm2
cmp r13, 0x10
jbe 0x1401553d5
mov rdx, qword [rsi + 0x18]
mov rcx, rdx
sub rcx, rdi
add rcx, 0xf
cmp rcx, 0x1e
jbe 0x140154f05
movups xmm3, xmmword [rdi + 0x10]
movups xmmword [rdx + 0x10], xmm3
cmp r13, 0x20
jle 0x1401553d5
lea rcx, [rdx + r13]
add rdi, 0x20
add rdx, 0x20
movups xmm4, xmmword [rdi]
add rdx, 0x20
add rdi, 0x20
movups xmmword [rdx - 0x20], xmm4
movups xmm5, xmmword [rdi - 0x10]
movups xmmword [rdx - 0x10], xmm5
cmp rdx, rcx
jb 0x14015539c
jmp 0x1401553d5
mov r8, rbx
mov rdx, rdi
mov qword [rsp + 0xa0], rax
call fcn.1401796d0
mov rax, qword [rsp + 0xa0]
add qword [rsi + 0x18], r13
cmp r13, 0xffff
jbe 0x140155401
cmp dword [rsi + 0x48], 0
jne 0x140154f84
mov rdx, qword [rsi + 8]
sub rdx, qword [rsi]
mov dword [rsi + 0x48], 1
sar rdx, 3
mov dword [rsi + 0x4c], edx
mov rdx, qword [rsi + 8]
mov word [rdx + 4], r13w
mov dword [rdx], r14d
cmp rax, 2
jbe 0x140154fb6
lea r8, [rax - 3]
cmp r8, 0xffff
jbe 0x140155442
cmp dword [rsi + 0x48], 0
jne 0x140154fe1
mov rcx, rdx
sub rcx, qword [rsi]
mov dword [rsi + 0x48], 2
sar rcx, 3
mov dword [rsi + 0x4c], ecx
mov word [rdx + 6], r8w
add rdx, 8
add rbx, rax
mov qword [rsi + 8], rdx
mov rdi, rbx
cmp qword [rsp + 0x88], rbx
jb 0x140154d89
mov edi, dword [rsp + 0x58]
mov rax, qword [rsp + 0x38]
mov edx, dword [rsp + 0x98]
lea r13d, [rdi + 2]
mov rdi, r13
add r13, rax
mov rcx, r13
call fcn.140174bb0
mov rcx, qword [rsp + 0x68]
mov edx, dword [rsp + 0x98]
mov dword [rcx + rax*4], edi
lea rcx, [rbx - 2]
mov rax, qword [rsp + 0x38]
mov r14, rcx
sub r14, rax
call fcn.140174bb0
mov rcx, qword [rsp + 0x68]
cmp dword [rsp + 0x4c], 6
mov edx, dword [rsp + 0x40]
mov dword [rcx + rax*4], r14d
mov rcx, r13
je 0x1401554db
cmp dword [rsp + 0x4c], 7
je 0x1401554e2
cmp dword [rsp + 0x4c], 5
je 0x1401554d4
call fcn.140174660
jmp 0x1401554e7
call fcn.1401747a0
jmp 0x1401554e7
call fcn.140174930
jmp 0x1401554e7
call fcn.140174ac0
mov rcx, qword [rsp + 0x80]
mov edx, dword [rsp + 0x40]
mov dword [rcx + rax*4], edi
mov rax, qword [rsp + 0x38]
lea rcx, [rbx - 1]
mov rdi, rcx
sub rdi, rax
cmp dword [rsp + 0x4c], 6
je 0x140155528
cmp dword [rsp + 0x4c], 7
je 0x14015552f
cmp dword [rsp + 0x4c], 5
je 0x140155521
call fcn.140174660
jmp 0x140155534
call fcn.1401747a0
jmp 0x140155534
call fcn.140174930
jmp 0x140155534
call fcn.140174ac0
mov rcx, qword [rsp + 0x80]
mov dword [rcx + rax*4], edi
mov rax, qword [rsp + 0x30]
lea r14, [rax - 0x20]
mov rax, qword [rsp + 0x38]
mov rdi, rbx
mov rdx, qword [rsp + 0x38]
mov r10d, dword [rsp + 0x44]
sub rdi, rax
mov eax, edi
sub eax, ebp
mov ecx, eax
add rdx, rcx
cmp eax, r10d
jae 0x140155573
mov rdx, qword [rsp + 0x60]
add rdx, rcx
mov ecx, dword [rsp + 0x9c]
add ecx, ebp
sub ecx, edi
cmp ecx, 2
jbe 0x1401556f0
mov r11d, dword [rsp + 0x48]
mov ecx, edi
sub ecx, r11d
cmp ecx, ebp
jb 0x1401556f0
mov ecx, dword [rdx]
cmp dword [rbx], ecx
jne 0x1401556f0
mov ecx, dword [rsp + 0x44]
mov r9, qword [rsp + 0x70]
mov r8, qword [rsp + 0x30]
cmp eax, ecx
mov rax, qword [rsp + 0x50]
cmovae r9, qword [rsp + 0x30]
lea rcx, [rbx + 4]
add rdx, 4
mov qword [rsp + 0x20], rax
call fcn.1401710c0
mov r15, rax
lea r13, [rax + 4]
mov rax, qword [rsi + 8]
sub rax, qword [rsi]
sar rax, 3
cmp rax, qword [rsi + 0x38]
jae 0x140154e5b
mov rax, qword [rsi + 0x40]
cmp rax, 0x20000
ja 0x140154e82
mov rcx, qword [rsi + 0x18]
add rax, qword [rsi + 0x10]
cmp rax, rcx
jb 0x140154ea9
cmp qword [rsp + 0x30], rbx
jb 0x140154ec6
cmp r14, rbx
jb 0x140155625
movups xmm0, xmmword [rbx]
movups xmmword [rcx], xmm0
jmp 0x140155633
mov r9, r14
mov r8, rbx
mov rdx, rbx
call fcn.1401796d0
mov rax, qword [rsi + 8]
mov word [rax + 4], 0
mov dword [rax], 1
cmp r13, 2
jbe 0x140154fb6
inc r15
cmp r15, 0xffff
jbe 0x140155677
cmp dword [rsi + 0x48], 0
jne 0x140154fe1
mov rdx, rax
sub rdx, qword [rsi]
mov dword [rsi + 0x48], 2
sar rdx, 3
mov dword [rsi + 0x4c], edx
mov word [rax + 6], r15w
add rax, 8
mov edx, dword [rsp + 0x40]
mov rcx, rbx
cmp dword [rsp + 0x4c], 6
mov qword [rsi + 8], rax
je 0x1401556ae
cmp dword [rsp + 0x4c], 7
je 0x1401556b5
cmp dword [rsp + 0x4c], 5
je 0x1401556a7
call fcn.140174660
jmp 0x1401556ba
call fcn.1401747a0
jmp 0x1401556ba
call fcn.140174930
jmp 0x1401556ba
call fcn.140174ac0
mov rcx, qword [rsp + 0x80]
mov edx, dword [rsp + 0x98]
xchg r12d, ebp
mov dword [rcx + rax*4], edi
mov rcx, rbx
add rbx, r13
call fcn.140174bb0
mov rcx, qword [rsp + 0x68]
mov dword [rcx + rax*4], edi
cmp qword [rsp + 0x88], rbx
jae 0x140155548
mov rdi, rbx
jmp 0x140154d89
mov rax, qword [rsp + 0x78]
mov dword [rax], ebp
mov dword [rax + 4], r15d
mov rax, qword [rsp + 0x30]
sub rax, rdi
add rsp, 0xb8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret