Function at 0x140147830
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 r15, qword [rcx + 8]
mov rax, qword [rsp + 0x110]
mov r14d, dword [rcx + 0x18]
mov r13d, dword [rcx + 0x28]
mov qword [rsp + 0x100], r8
mov r8, r9
mov rbx, r9
mov rsi, rdx
mov qword [rsp + 0x30], rdi
mov edi, dword [rcx + 0x108]
sub r8, r15
add r8d, eax
add rax, rbx
mov r9d, dword [rcx + 0x100]
mov edx, dword [rcx + 0x110]
mov dword [rsp + 0x7c], edi
mov rdi, qword [rcx + 0x80]
mov qword [rsp + 0x28], rax
sub rax, 8
mov qword [rsp + 0x40], rdi
mov edi, dword [rcx + 0x104]
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x100]
mov dword [rsp + 0x78], edi
mov ebp, dword [rax + 4]
mov edi, dword [rax]
mov dword [rsp + 0x48], r9d
cmp edx, 6
je 0x140144457
cmp edx, 7
je 0x140144b12
cmp edx, 5
mov ecx, r14d
mov edx, r13d
je 0x140143da2
call fcn.1401604d0
xor r11d, r11d
mov r9d, dword [rsp + 0x48]
mov edx, r13d
mov dword [rsp + 0x70], eax
mov eax, eax
mov ecx, r14d
add rax, r15
cmp rbx, rax
mov qword [rsp + 0x58], rax
sete r11b
add r11, rbx
mov r12, r11
sub r12, r15
mov r8d, r12d
call fcn.1401604d0
mov dword [rsp + 0x48], 0
sub r12d, eax
cmp r12d, ebp
jae 0x140143717
mov dword [rsp + 0x48], ebp
xor ebp, ebp
mov dword [rsp + 0x60], 0
cmp r12d, edi
jae 0x1401438a4
mov dword [rsp + 0x60], edi
xor edi, edi
jmp 0x1401438a4
mov cl, byte [rsp + 0x54]
mov r10, qword [rsp + 0x30]
movabs r8, 0xcf1bbcdcb7a56463
mov r13d, 4
mov edx, dword [rsp + 0x88]
lea eax, [rdx + 2]
mov rdx, rax
add rax, r15
imul r8, qword [rax]
shr r8, cl
mov rcx, qword [rsp + 0x30]
mov dword [rcx + r8*4], edx
mov cl, byte [rsp + 0x54]
movabs r8, 0xcf1bbcdcb7a56463
imul r8, qword [rbx - 2]
shr r8, cl
lea rcx, [rbx - 2]
sub rcx, r15
mov dword [r10 + r8*4], ecx
imul eax, dword [rax], 0x9e3779b1
mov cl, byte [rsp + 0x74]
shr eax, cl
mov rcx, qword [rsp + 0x40]
mov dword [rcx + rax*4], edx
imul eax, dword [rbx - 1], 0x9e3779b1
lea rdx, [rbx - 1]
mov cl, byte [rsp + 0x74]
sub rdx, r15
shr eax, cl
mov rcx, qword [rsp + 0x40]
mov dword [rcx + rax*4], edx
mov rax, qword [rsp + 0x28]
lea r12, [rax - 0x20]
mov eax, ebp
mov rdx, rbx
mov r14d, dword [rbx]
sub rdx, rax
cmp dword [rdx], r14d
jne 0x140143d9b
test ebp, ebp
je 0x140143d9b
mov rdx, r13
mov r8, qword [rsp + 0x28]
lea rcx, [rbx + 4]
sub rdx, rax
imul r14d, r14d, 0x9e3779b1
add rdx, rbx
call fcn.14015d2d0
mov cl, byte [rsp + 0x74]
mov rdx, rbx
mov r11, rax
lea rax, [rax + 4]
sub rdx, r15
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x40]
shr r14d, cl
mov cl, byte [rsp + 0x54]
mov dword [rax + r14*4], edx
movabs rax, 0xcf1bbcdcb7a56463
imul rax, qword [rbx]
shr rax, cl
mov rcx, qword [rsp + 0x30]
cmp r12, rbx
mov dword [rcx + rax*4], edx
mov rcx, qword [rsi + 0x18]
jb 0x140143d81
movups xmm2, xmmword [rbx]
movups xmmword [rcx], xmm2
mov rdx, qword [rsi + 8]
lea rcx, [r11 + 1]
mov word [rdx + 4], 0
mov dword [rdx], 1
cmp rcx, 0xffff
jbe 0x140143883
mov rax, rdx
sub rax, qword [rsi]
mov dword [rsi + 0x48], 2
sar rax, 3
mov dword [rsi + 0x4c], eax
mov word [rdx + 6], cx
add rdx, 8
add rbx, qword [rsp + 0x68]
mov qword [rsi + 8], rdx
cmp rbx, qword [rsp + 0x38]
jbe 0x140143d94
mov r11, rbx
xchg edi, ebp
mov r12, rbx
mov rbx, r11
lea rdx, [rbx + 0x100]
lea r10, [rbx + 1]
cmp r10, qword [rsp + 0x38]
jbe 0x1401438d4
cmp dword [rsp + 0x60], 0
je 0x140143b7d
test edi, edi
jne 0x140143b86
jmp 0x140143b7d
mov eax, 0x40
sub eax, dword [rsp + 0x7c]
movabs r14, 0xcf1bbcdcb7a56463
mov r8d, edi
imul r14, qword [rbx]
mov dword [rsp + 0x54], eax
mov cl, byte [rsp + 0x54]
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x80], 1
shr r14, cl
mov ecx, 0x20
sub ecx, dword [rsp + 0x78]
mov dword [rsp + 0x74], ecx
mov ecx, 1
mov r9d, dword [rax + r14*4]
sub rcx, r8
mov qword [rsp + 0x68], rcx
mov rax, r9
add r9, r15
imul r11d, dword [rbx], 0x9e3779b1
mov cl, byte [rsp + 0x74]
shr r11d, cl
mov rcx, qword [rsp + 0x40]
lea r13, [rcx + r11*4]
mov rcx, rbx
sub rcx, r15
mov r11d, dword [r13]
mov dword [r13], ecx
mov r13, qword [rsp + 0x30]
mov dword [rsp + 0x88], ecx
mov dword [r13 + r14*4], ecx
mov rcx, qword [rsp + 0x68]
mov r14d, dword [rbx + 1]
cmp dword [rbx + rcx], r14d
jne 0x140143a80
test edi, edi
je 0x140143a80
mov rax, rbx
lea rcx, [rbx + 5]
lea r13, [rbx + 1]
sub rax, r8
mov r8, qword [rsp + 0x28]
mov rbx, r13
lea rdx, [rax + 5]
sub rbx, r12
call fcn.14015d2d0
mov rdx, qword [rsp + 0x28]
mov rcx, qword [rsi + 0x18]
mov r11, rax
lea rax, [rax + 4]
lea r9, [rdx - 0x20]
cmp r13, r9
ja 0x140143a0a
movups xmm0, xmmword [r12]
movups xmmword [rcx], xmm0
cmp rbx, 0x10
jbe 0x140143a1f
mov rdx, qword [rsi + 0x18]
movups xmm1, xmmword [r12 + 0x10]
movups xmmword [rdx + 0x10], xmm1
cmp rbx, 0x20
jle 0x140143a1f
lea rcx, [rdx + rbx]
add r12, 0x20
add rdx, 0x20
movups xmm2, xmmword [r12]
add rdx, 0x20
add r12, 0x20
movups xmmword [rdx - 0x20], xmm2
movups xmm3, xmmword [r12 - 0x10]
movups xmmword [rdx - 0x10], xmm3
cmp rcx, rdx
ja 0x1401439e8
jmp 0x140143a1f
mov r8, r13
mov rdx, r12
mov qword [rsp + 0x68], rax
call fcn.140164070
mov rax, qword [rsp + 0x68]
add qword [rsi + 0x18], rbx
mov rdx, qword [rsi + 8]
cmp rbx, 0xffff
jbe 0x140143a44
mov rcx, rdx
sub rcx, qword [rsi]
mov dword [rsi + 0x48], 1
sar rcx, 3
mov dword [rsi + 0x4c], ecx
inc r11
mov word [rdx + 4], bx
mov dword [rdx], 1
cmp r11, 0xffff
jbe 0x140143a6e
mov rcx, rdx
sub rcx, qword [rsi]
mov dword [rsi + 0x48], 2
sar rcx, 3
mov dword [rsi + 0x4c], ecx
mov word [rdx + 6], r11w
add rdx, 8
mov qword [rsi + 8], rdx
jmp 0x140143d69
mov r13, qword [r10]
mov cl, byte [rsp + 0x54]
movabs r14, 0xcf1bbcdcb7a56463
imul r14, r13
shr r14, cl
cmp dword [rsp + 0x70], eax
jae 0x140143b0f
mov rax, qword [rbx]
cmp qword [r9], rax
jne 0x140143b0f
mov r8, qword [rsp + 0x28]
lea rdx, [r9 + 8]
lea rcx, [rbx + 8]
mov r13, rbx
mov qword [rsp + 0x90], r10
mov qword [rsp + 0x68], r9
call fcn.14015d2d0
mov r9, qword [rsp + 0x68]
mov ecx, ebx
mov r10, qword [rsp + 0x90]
add rax, 8
sub ecx, r9d
mov dword [rsp + 0x68], ecx
cmp r12, r13
jae 0x140143c68
cmp qword [rsp + 0x58], r9
jae 0x140143c68
mov bl, byte [r9 - 1]
cmp byte [r13 - 1], bl
jne 0x140143c68
dec r13
dec r9
inc rax
jmp 0x140143ae2
mov rax, qword [rsp + 0x30]
mov r9d, dword [rax + r14*4]
mov rax, r9
add r9, r15
cmp dword [rsp + 0x70], r11d
jae 0x140143b3a
add r11, r15
mov ecx, dword [rbx]
cmp dword [r11], ecx
jne 0x140143b3a
cmp dword [rsp + 0x70], eax
jb 0x140143ba8
jmp 0x140143c0b
cmp r10, rdx
jb 0x140143b5b
prefetcht0 byte [r10 + 0x40]
prefetcht0 byte [r10 + 0x80]
inc qword [rsp + 0x80]
add rdx, 0x100
mov rbx, qword [rsp + 0x80]
lea rcx, [r10 + rbx]
mov rbx, r10
cmp rcx, qword [rsp + 0x38]
ja 0x1401438bc
mov r10, rcx
jmp 0x14014392e
test edi, edi
cmove edi, dword [rsp + 0x60]
jmp 0x140143b8e
mov eax, dword [rsp + 0x60]
mov dword [rsp + 0x48], eax
mov rax, qword [rsp + 0x100]
test ebp, ebp
cmove ebp, dword [rsp + 0x48]
mov dword [rax], edi
mov dword [rsp + 0x48], ebp
jmp 0x14014502a
cmp qword [r9], r13
jne 0x140143c0b
mov r8, qword [rsp + 0x28]
lea rdx, [r9 + 8]
lea rcx, [r10 + 8]
mov qword [rsp + 0x90], r9
mov qword [rsp + 0x68], r10
call fcn.14015d2d0
mov r10, qword [rsp + 0x68]
mov r9, qword [rsp + 0x90]
add rax, 8
mov ebx, r10d
mov r13, r10
sub ebx, r9d
mov dword [rsp + 0x68], ebx
cmp r12, r13
jae 0x140143c68
cmp qword [rsp + 0x58], r9
jae 0x140143c68
mov bl, byte [r9 - 1]
cmp byte [r13 - 1], bl
jne 0x140143c68
dec r13
dec r9
inc rax
jmp 0x140143bea
mov r8, qword [rsp + 0x28]
lea rdx, [r11 + 4]
lea rcx, [rbx + 4]
mov r13, rbx
mov qword [rsp + 0x90], r10
mov qword [rsp + 0x68], r11
call fcn.14015d2d0
mov r11, qword [rsp + 0x68]
mov ecx, ebx
mov r10, qword [rsp + 0x90]
add rax, 4
sub ecx, r11d
mov dword [rsp + 0x68], ecx
cmp r12, r13
jae 0x140143c68
cmp qword [rsp + 0x58], r11
jae 0x140143c68
mov bl, byte [r11 - 1]
cmp byte [r13 - 1], bl
jne 0x140143c68
dec r13
dec r11
inc rax
jmp 0x140143c47
cmp qword [rsp + 0x80], 3
ja 0x140143c7f
mov rbx, qword [rsp + 0x30]
sub r10, r15
mov dword [rbx + r14*4], r10d
mov rdx, qword [rsp + 0x28]
mov ebx, dword [rsp + 0x68]
mov r11, r13
mov rcx, qword [rsi + 0x18]
sub r11, r12
lea r9, [rdx - 0x20]
add ebx, 3
cmp r13, r9
ja 0x140143cee
movups xmm4, xmmword [r12]
movups xmmword [rcx], xmm4
cmp r11, 0x10
jbe 0x140143d09
mov rdx, qword [rsi + 0x18]
movups xmm5, xmmword [r12 + 0x10]
movups xmmword [rdx + 0x10], xmm5
cmp r11, 0x20
jle 0x140143d09
lea rcx, [rdx + r11]
add r12, 0x20
add rdx, 0x20
movups xmm0, xmmword [r12]
add rdx, 0x20
add r12, 0x20
movups xmmword [rdx - 0x20], xmm0
movups xmm1, xmmword [r12 - 0x10]
movups xmmword [rdx - 0x10], xmm1
cmp rcx, rdx
ja 0x140143ccc
jmp 0x140143d09
mov r8, r13
mov rdx, r12
mov qword [rsp + 0x80], rax
call fcn.140164070
mov rax, qword [rsp + 0x80]
add qword [rsi + 0x18], r11
mov rdx, qword [rsi + 8]
cmp r11, 0xffff
jbe 0x140143d2e
mov rcx, rdx
sub rcx, qword [rsi]
mov dword [rsi + 0x48], 1
sar rcx, 3
mov dword [rsi + 0x4c], ecx
lea r8, [rax - 3]
mov word [rdx + 4], r11w
mov dword [rdx], ebx
cmp r8, 0xffff
jbe 0x140143d56
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
mov ebp, edi
mov edi, dword [rsp + 0x68]
mov qword [rsi + 8], rdx
lea rbx, [r13 + rax]
cmp rbx, qword [rsp + 0x38]
jbe 0x140143733
mov r12, rbx
jmp 0x1401438aa
mov r9, r12
mov r8, rbx
mov rdx, rbx
call fcn.140164070
jmp 0x140143852
xchg ebp, edi
jmp 0x1401437c6
xchg edi, ebp
jmp 0x14014389f
call fcn.1401604d0
xor r11d, r11d
mov r9d, dword [rsp + 0x48]
mov edx, r13d
mov dword [rsp + 0x58], eax
mov eax, eax
mov ecx, r14d
add rax, r15
cmp rbx, rax
mov qword [rsp + 0x60], rax
sete r11b
add r11, rbx
mov r12, r11
sub r12, r15
mov r8d, r12d
call fcn.1401604d0
mov dword [rsp + 0x54], 0
sub r12d, eax
cmp r12d, ebp
jae 0x140143df1
mov dword [rsp + 0x54], ebp
xor ebp, ebp
mov dword [rsp + 0x68], 0
cmp r12d, edi
jae 0x140143f92
mov dword [rsp + 0x68], edi
xor edi, edi
jmp 0x140143f92
mov cl, byte [rsp + 0x70]
mov r10, qword [rsp + 0x30]
movabs r8, 0xcf1bbcdcb7a56463
mov r12d, 4
mov edx, dword [rsp + 0x90]
lea eax, [rdx + 2]
mov rdx, rax
mov rax, qword [r15 + rax]
imul r8, rax
shr r8, cl
mov rcx, qword [rsp + 0x30]
mov dword [rcx + r8*4], edx
mov cl, byte [rsp + 0x70]
movabs r8, 0xcf1bbcdcb7a56463
imul r8, qword [rbx - 2]
shr r8, cl
lea rcx, [rbx - 2]
sub rcx, r15
mov dword [r10 + r8*4], ecx
movabs rcx, 0xcf1bbcdcbb000000
imul rax, rcx
mov cl, byte [rsp + 0x74]
shr rax, cl
mov rcx, qword [rsp + 0x40]
mov dword [rcx + rax*4], edx
mov cl, byte [rsp + 0x74]
lea rdx, [rbx - 1]
movabs rax, 0xcf1bbcdcbb000000
imul rax, qword [rbx - 1]
sub rdx, r15
shr rax, cl
mov rcx, qword [rsp + 0x40]
mov dword [rcx + rax*4], edx
mov eax, ebp
mov rdx, rbx
mov ecx, dword [rbx]
sub rdx, rax
cmp dword [rdx], ecx
jne 0x140144450
test ebp, ebp
je 0x140144450
mov rdx, r12
mov r8, qword [rsp + 0x28]
lea rcx, [rbx + 4]
sub rdx, rax
add rdx, rbx
call fcn.14015d2d0
mov cl, byte [rsp + 0x74]
mov rdx, rbx
movabs r8, 0xcf1bbcdcbb000000
mov r13, rax
lea r11, [rax + 4]
mov rax, qword [rbx]
sub rdx, r15
imul r8, rax
shr r8, cl
mov rcx, qword [rsp + 0x40]
mov dword [rcx + r8*4], edx
movabs rcx, 0xcf1bbcdcb7a56463
imul rax, rcx
mov cl, byte [rsp + 0x70]
shr rax, cl
mov rcx, qword [rsp + 0x30]
mov dword [rcx + rax*4], edx
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsi + 0x18]
lea r9, [rax - 0x20]
cmp r9, rbx
jb 0x140144439
movups xmm5, xmmword [rbx]
movups xmmword [rcx], xmm5
mov rdx, qword [rsi + 8]
inc r13
mov word [rdx + 4], 0
mov dword [rdx], 1
cmp r13, 0xffff
jbe 0x140143f72
mov rax, rdx
sub rax, qword [rsi]
mov dword [rsi + 0x48], 2
sar rax, 3
mov dword [rsi + 0x4c], eax
mov word [rdx + 6], r13w
add rdx, 8
add rbx, r11
mov qword [rsi + 8], rdx
cmp rbx, qword [rsp + 0x38]
jbe 0x140144449
mov r11, rbx
xchg edi, ebp
mov r12, rbx
mov rbx, r11
lea rax, [rbx + 0x100]
lea r9, [rbx + 1]
mov qword [rsp + 0x88], rax
cmp r9, qword [rsp + 0x38]
ja 0x140144d28
mov r8d, 0x40
mov qword [rsp + 0x80], 1
mov eax, r8d
sub eax, dword [rsp + 0x7c]
sub r8d, dword [rsp + 0x78]
mov dword [rsp + 0x70], eax
mov cl, byte [rsp + 0x70]
movabs rax, 0xcf1bbcdcb7a56463
imul rax, qword [rbx]
mov dword [rsp + 0x74], r8d
mov r8d, edi
shr rax, cl
mov ecx, 1
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x30]
sub rcx, r8
mov rdx, qword [rsp + 0x48]
mov qword [rsp + 0x98], rcx
mov r14d, dword [rax + rdx*4]
mov rax, r14
add r14, r15
mov r13, qword [rbx]
mov cl, byte [rsp + 0x74]
movabs r10, 0xcf1bbcdcbb000000
mov rdx, qword [rsp + 0x40]
imul r10, r13
shr r10, cl
mov rcx, rbx
lea r11, [rdx + r10*4]
sub rcx, r15
mov rdx, qword [rsp + 0x30]
mov r10d, dword [r11]
mov dword [r11], ecx
mov r11, qword [rsp + 0x48]
mov dword [rsp + 0x90], ecx
mov dword [rdx + r11*4], ecx
mov rdx, qword [rsp + 0x98]
mov ecx, dword [rbx + 1]
cmp dword [rbx + rdx], ecx
jne 0x140144173
test edi, edi
je 0x140144173
mov rax, rbx
lea rcx, [rbx + 5]
lea r13, [rbx + 1]
sub rax, r8
mov r8, qword [rsp + 0x28]
mov r14, r13
lea rdx, [rax + 5]
sub r14, r12
call fcn.14015d2d0
mov rcx, qword [rsi + 0x18]
mov rbx, rax
lea r11, [rax + 4]
mov rax, qword [rsp + 0x28]
lea r9, [rax - 0x20]
cmp r13, r9
ja 0x140144107
movups xmm3, xmmword [r12]
movups xmmword [rcx], xmm3
cmp r14, 0x10
jbe 0x140144112
mov rax, qword [rsi + 0x18]
movups xmm4, xmmword [r12 + 0x10]
movups xmmword [rax + 0x10], xmm4
cmp r14, 0x20
jle 0x140144112
lea rdx, [rax + r14]
add r12, 0x20
add rax, 0x20
movups xmm5, xmmword [r12]
add rax, 0x20
add r12, 0x20
movups xmmword [rax - 0x20], xmm5
movups xmm0, xmmword [r12 - 0x10]
movups xmmword [rax - 0x10], xmm0
cmp rdx, rax
ja 0x1401440e5
jmp 0x140144112
mov r8, r13
mov rdx, r12
call fcn.140164070
add qword [rsi + 0x18], r14
mov rdx, qword [rsi + 8]
cmp r14, 0xffff
jbe 0x140144137
mov rax, rdx
sub rax, qword [rsi]
mov dword [rsi + 0x48], 1
sar rax, 3
mov dword [rsi + 0x4c], eax
inc rbx
mov word [rdx + 4], r14w
mov dword [rdx], 1
cmp rbx, 0xffff
jbe 0x140144162
mov rax, rdx
sub rax, qword [rsi]
mov dword [rsi + 0x48], 2
sar rax, 3
mov dword [rsi + 0x4c], eax
mov word [rdx + 6], bx
add rdx, 8
mov qword [rsi + 8], rdx
jmp 0x140144421
movabs rcx, 0xcf1bbcdcb7a56463
mov r11, qword [r9]
imul rcx, r11
mov rdx, rcx
mov cl, byte [rsp + 0x70]
shr rdx, cl
mov qword [rsp + 0x48], rdx
cmp dword [rsp + 0x58], eax
jae 0x1401441f9
cmp qword [r14], r13
jne 0x1401441f9
mov r8, qword [rsp + 0x28]
lea rdx, [r14 + 8]
lea rcx, [rbx + 8]
mov r13, rbx
mov qword [rsp + 0x88], r9
call fcn.14015d2d0
mov r9, qword [rsp + 0x88]
lea r11, [rax + 8]
mov eax, ebx
sub eax, r14d
cmp r12, r13
jae 0x14014432a
cmp qword [rsp + 0x60], r14
jae 0x14014432a
mov bl, byte [r14 - 1]
cmp byte [r13 - 1], bl
jne 0x14014432a
dec r13
dec r14
inc r11
jmp 0x1401441cc
mov rax, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x48]
mov r14d, dword [rax + rdx*4]
mov rax, r14
add r14, r15
cmp dword [rsp + 0x58], r10d
jae 0x140144229
add r10, r15
mov edx, dword [rbx]
cmp dword [r10], edx
jne 0x140144229
cmp dword [rsp + 0x58], eax
jb 0x140144276
jmp 0x1401442cb
cmp r9, qword [rsp + 0x88]
jb 0x140144254
prefetcht0 byte [r9 + 0x40]
prefetcht0 byte [r9 + 0x80]
inc qword [rsp + 0x80]
add qword [rsp + 0x88], 0x100
mov rbx, qword [rsp + 0x80]
lea rcx, [r9 + rbx]
mov rbx, r9
cmp rcx, qword [rsp + 0x38]
ja 0x140144d28
mov r9, rcx
jmp 0x14014401e
cmp qword [r14], r11
jne 0x1401442cb
mov r8, qword [rsp + 0x28]
lea rcx, [r9 + 8]
lea rdx, [r14 + 8]
mov qword [rsp + 0x88], r9
call fcn.14015d2d0
mov r9, qword [rsp + 0x88]
lea r11, [rax + 8]
mov eax, r9d
mov r13, r9
sub eax, r14d
cmp r12, r13
jae 0x14014432a
cmp qword [rsp + 0x60], r14
jae 0x14014432a
mov bl, byte [r14 - 1]
cmp byte [r13 - 1], bl
jne 0x14014432a
dec r13
dec r14
inc r11
jmp 0x1401442aa
mov r8, qword [rsp + 0x28]
lea rdx, [r10 + 4]
lea rcx, [rbx + 4]
mov r13, rbx
mov qword [rsp + 0x98], r9
mov qword [rsp + 0x88], r10
call fcn.14015d2d0
mov r10, qword [rsp + 0x88]
mov r9, qword [rsp + 0x98]
lea r11, [rax + 4]
mov eax, ebx
sub eax, r10d
cmp r12, r13
jae 0x14014432a
cmp qword [rsp + 0x60], r10
jae 0x14014432a
mov bl, byte [r10 - 1]
cmp byte [r13 - 1], bl
jne 0x14014432a
dec r13
dec r10
inc r11
jmp 0x140144309
cmp qword [rsp + 0x80], 3
ja 0x140144346
mov rbx, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x48]
sub r9, r15
mov dword [rbx + rcx*4], r9d
mov rdx, qword [rsp + 0x28]
mov rbx, r13
mov rcx, qword [rsi + 0x18]
lea ebp, [rax + 3]
sub rbx, r12
lea r9, [rdx - 0x20]
cmp r13, r9
ja 0x1401443b1
movups xmm1, xmmword [r12]
movups xmmword [rcx], xmm1
cmp rbx, 0x10
jbe 0x1401443c4
mov rdx, qword [rsi + 0x18]
movups xmm2, xmmword [r12 + 0x10]
movups xmmword [rdx + 0x10], xmm2
cmp rbx, 0x20
jle 0x1401443c4
lea rcx, [rdx + rbx]
add r12, 0x20
add rdx, 0x20
movups xmm3, xmmword [r12]
add rdx, 0x20
add r12, 0x20
movups xmmword [rdx - 0x20], xmm3
movups xmm4, xmmword [r12 - 0x10]
movups xmmword [rdx - 0x10], xmm4
cmp rcx, rdx
ja 0x14014438f
jmp 0x1401443c4
mov r8, r13
mov rdx, r12
mov dword [rsp + 0x48], eax
call fcn.140164070
mov eax, dword [rsp + 0x48]
add qword [rsi + 0x18], rbx
mov rdx, qword [rsi + 8]
cmp rbx, 0xffff
jbe 0x1401443e9
mov rcx, rdx
sub rcx, qword [rsi]
mov dword [rsi + 0x48], 1
sar rcx, 3
mov dword [rsi + 0x4c], ecx
lea r8, [r11 - 3]
mov word [rdx + 4], bx
mov dword [rdx], ebp
cmp r8, 0xffff
jbe 0x140144410
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
mov ebp, edi
mov edi, eax
mov qword [rsi + 8], rdx
lea rbx, [r13 + r11]
cmp rbx, qword [rsp + 0x38]
jbe 0x140143e0d
mov r12, rbx
jmp 0x140143f98
mov r8, rbx
mov rdx, rbx
call fcn.140164070
jmp 0x140143f42
xchg ebp, edi
jmp 0x140143eaa
xchg edi, ebp
jmp 0x140143f8d
mov edx, r13d
mov ecx, r14d
xor r11d, r11d
call fcn.1401604d0
mov r9d, dword [rsp + 0x48]
mov edx, r13d
mov ecx, r14d
mov dword [rsp + 0x58], eax
mov eax, eax
add rax, r15
cmp rbx, rax
mov qword [rsp + 0x60], rax
sete r11b
add r11, rbx
mov r12, r11
sub r12, r15
mov r8d, r12d
call fcn.1401604d0
mov dword [rsp + 0x54], 0
sub r12d, eax
cmp r12d, ebp
jae 0x1401444ac
mov dword [rsp + 0x54], ebp
xor ebp, ebp
mov dword [rsp + 0x68], 0
cmp r12d, edi
jae 0x14014464d
mov dword [rsp + 0x68], edi
xor edi, edi
jmp 0x14014464d
mov cl, byte [rsp + 0x70]
mov r10, qword [rsp + 0x30]
movabs r8, 0xcf1bbcdcb7a56463
mov r12d, 4
mov edx, dword [rsp + 0x90]
lea eax, [rdx + 2]
mov rdx, rax
mov rax, qword [r15 + rax]
imul r8, rax
shr r8, cl
mov rcx, qword [rsp + 0x30]
mov dword [rcx + r8*4], edx
mov cl, byte [rsp + 0x70]
movabs r8, 0xcf1bbcdcb7a56463
imul r8, qword [rbx - 2]
shr r8, cl
lea rcx, [rbx - 2]
sub rcx, r15
mov dword [r10 + r8*4], ecx
movabs rcx, 0xcf1bbcdcbf9b0000
imul rax, rcx
mov cl, byte [rsp + 0x74]
shr rax, cl
mov rcx, qword [rsp + 0x40]
mov dword [rcx + rax*4], edx
mov cl, byte [rsp + 0x74]
lea rdx, [rbx - 1]
movabs rax, 0xcf1bbcdcbf9b0000
imul rax, qword [rbx - 1]
sub rdx, r15
shr rax, cl
mov rcx, qword [rsp + 0x40]
mov dword [rcx + rax*4], edx
mov eax, ebp
mov rdx, rbx
mov ecx, dword [rbx]
sub rdx, rax
cmp dword [rdx], ecx
jne 0x140144b0b
test ebp, ebp
je 0x140144b0b
mov rdx, r12
mov r8, qword [rsp + 0x28]
lea rcx, [rbx + 4]
sub rdx, rax
add rdx, rbx
call fcn.14015d2d0
mov cl, byte [rsp + 0x74]
mov rdx, rbx
movabs r8, 0xcf1bbcdcbf9b0000
mov r13, rax
lea r11, [rax + 4]
mov rax, qword [rbx]
sub rdx, r15
imul r8, rax
shr r8, cl
mov rcx, qword [rsp + 0x40]
mov dword [rcx + r8*4], edx
movabs rcx, 0xcf1bbcdcb7a56463
imul rax, rcx
mov cl, byte [rsp + 0x70]
shr rax, cl
mov rcx, qword [rsp + 0x30]
mov dword [rcx + rax*4], edx
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsi + 0x18]
lea r9, [rax - 0x20]
cmp r9, rbx
jb 0x140144af4
movups xmm2, xmmword [rbx]
movups xmmword [rcx], xmm2
mov rdx, qword [rsi + 8]
inc r13
mov word [rdx + 4], 0
mov dword [rdx], 1
cmp r13, 0xffff
jbe 0x14014462d
mov rax, rdx
sub rax, qword [rsi]
mov dword [rsi + 0x48], 2
sar rax, 3
mov dword [rsi + 0x4c], eax
mov word [rdx + 6], r13w
add rdx, 8
add rbx, r11
mov qword [rsi + 8], rdx
cmp rbx, qword [rsp + 0x38]
jbe 0x140144b04
mov r11, rbx
xchg edi, ebp
mov r12, rbx
mov rbx, r11
lea rax, [rbx + 0x100]
lea r9, [rbx + 1]
mov qword [rsp + 0x88], rax
cmp r9, qword [rsp + 0x38]
ja 0x140144d28
mov r8d, 0x40
mov qword [rsp + 0x80], 1
mov eax, r8d
sub eax, dword [rsp + 0x7c]
sub r8d, dword [rsp + 0x78]
mov dword [rsp + 0x70], eax
mov cl, byte [rsp + 0x70]
movabs rax, 0xcf1bbcdcb7a56463
imul rax, qword [rbx]
mov dword [rsp + 0x74], r8d
mov r8d, edi
shr rax, cl
mov ecx, 1
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x30]
sub rcx, r8
mov rdx, qword [rsp + 0x48]
mov qword [rsp + 0x98], rcx
mov r14d, dword [rax + rdx*4]
mov rax, r14
add r14, r15
mov r13, qword [rbx]
mov cl, byte [rsp + 0x74]
movabs r10, 0xcf1bbcdcbf9b0000
mov rdx, qword [rsp + 0x40]
imul r10, r13
shr r10, cl
mov rcx, rbx
lea r11, [rdx + r10*4]
sub rcx, r15
mov rdx, qword [rsp + 0x30]
mov r10d, dword [r11]
mov dword [r11], ecx
mov r11, qword [rsp + 0x48]
mov dword [rsp + 0x90], ecx
mov dword [rdx + r11*4], ecx
mov rdx, qword [rsp + 0x98]
mov ecx, dword [rbx + 1]
cmp dword [rbx + rdx], ecx
jne 0x14014482e
test edi, edi
je 0x14014482e
mov rax, rbx
lea rcx, [rbx + 5]
lea r13, [rbx + 1]
sub rax, r8
mov r8, qword [rsp + 0x28]
mov r14, r13
lea rdx, [rax + 5]
sub r14, r12
call fcn.14015d2d0
mov rcx, qword [rsi + 0x18]
mov rbx, rax
lea r11, [rax + 4]
mov rax, qword [rsp + 0x28]
lea r9, [rax - 0x20]
cmp r13, r9
ja 0x1401447c2
movups xmm0, xmmword [r12]
movups xmmword [rcx], xmm0
cmp r14, 0x10
jbe 0x1401447cd
mov rax, qword [rsi + 0x18]
movups xmm1, xmmword [r12 + 0x10]
movups xmmword [rax + 0x10], xmm1
cmp r14, 0x20
jle 0x1401447cd
lea rdx, [rax + r14]
add r12, 0x20
add rax, 0x20
movups xmm2, xmmword [r12]
add rax, 0x20
add r12, 0x20
movups xmmword [rax - 0x20], xmm2
movups xmm3, xmmword [r12 - 0x10]
movups xmmword [rax - 0x10], xmm3
cmp rdx, rax
ja 0x1401447a0
jmp 0x1401447cd
mov r8, r13
mov rdx, r12
call fcn.140164070
add qword [rsi + 0x18], r14
mov rdx, qword [rsi + 8]
cmp r14, 0xffff
jbe 0x1401447f2
mov rax, rdx
sub rax, qword [rsi]
mov dword [rsi + 0x48], 1
sar rax, 3
mov dword [rsi + 0x4c], eax
inc rbx
mov word [rdx + 4], r14w
mov dword [rdx], 1
cmp rbx, 0xffff
jbe 0x14014481d
mov rax, rdx
sub rax, qword [rsi]
mov dword [rsi + 0x48], 2
sar rax, 3
mov dword [rsi + 0x4c], eax
mov word [rdx + 6], bx
add rdx, 8
mov qword [rsi + 8], rdx
jmp 0x140144adc
movabs rcx, 0xcf1bbcdcb7a56463
mov r11, qword [r9]
imul rcx, r11
mov rdx, rcx
mov cl, byte [rsp + 0x70]
shr rdx, cl
mov qword [rsp + 0x48], rdx
cmp dword [rsp + 0x58], eax
jae 0x1401448b4
cmp qword [r14], r13
jne 0x1401448b4
mov r8, qword [rsp + 0x28]
lea rdx, [r14 + 8]
lea rcx, [rbx + 8]
mov r13, rbx
mov qword [rsp + 0x88], r9
call fcn.14015d2d0
mov r9, qword [rsp + 0x88]
lea r11, [rax + 8]
mov eax, ebx
sub eax, r14d
cmp r12, r13
jae 0x1401449e5
cmp qword [rsp + 0x60], r14
jae 0x1401449e5
mov bl, byte [r14 - 1]
cmp byte [r13 - 1], bl
jne 0x1401449e5
dec r13
dec r14
inc r11
jmp 0x140144887
mov rax, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x48]
mov r14d, dword [rax + rdx*4]
mov rax, r14
add r14, r15
cmp dword [rsp + 0x58], r10d
jae 0x1401448e4
add r10, r15
mov edx, dword [rbx]
cmp dword [r10], edx
jne 0x1401448e4
cmp dword [rsp + 0x58], eax
jb 0x140144931
jmp 0x140144986
cmp r9, qword [rsp + 0x88]
jb 0x14014490f
prefetcht0 byte [r9 + 0x40]
prefetcht0 byte [r9 + 0x80]
inc qword [rsp + 0x80]
add qword [rsp + 0x88], 0x100
mov rbx, qword [rsp + 0x80]
lea rcx, [r9 + rbx]
mov rbx, r9
cmp rcx, qword [rsp + 0x38]
ja 0x140144d28
mov r9, rcx
jmp 0x1401446d9
cmp qword [r14], r11
jne 0x140144986
mov r8, qword [rsp + 0x28]
lea rcx, [r9 + 8]
lea rdx, [r14 + 8]
mov qword [rsp + 0x88], r9
call fcn.14015d2d0
mov r9, qword [rsp + 0x88]
lea r11, [rax + 8]
mov eax, r9d
mov r13, r9
sub eax, r14d
cmp r12, r13
jae 0x1401449e5
cmp qword [rsp + 0x60], r14
jae 0x1401449e5
mov bl, byte [r14 - 1]
cmp byte [r13 - 1], bl
jne 0x1401449e5
dec r13
dec r14
inc r11
jmp 0x140144965
mov r8, qword [rsp + 0x28]
lea rdx, [r10 + 4]
lea rcx, [rbx + 4]
mov r13, rbx
mov qword [rsp + 0x98], r9
mov qword [rsp + 0x88], r10
call fcn.14015d2d0
mov r10, qword [rsp + 0x88]
mov r9, qword [rsp + 0x98]
lea r11, [rax + 4]
mov eax, ebx
sub eax, r10d
cmp r12, r13
jae 0x1401449e5
cmp qword [rsp + 0x60], r10
jae 0x1401449e5
mov bl, byte [r10 - 1]
cmp byte [r13 - 1], bl
jne 0x1401449e5
dec r13
dec r10
inc r11
jmp 0x1401449c4
cmp qword [rsp + 0x80], 3
ja 0x140144a01
mov rbx, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x48]
sub r9, r15
mov dword [rbx + rcx*4], r9d
mov rcx, qword [rsp + 0x28]
mov rbx, r13
lea ebp, [rax + 3]
sub rbx, r12
lea r9, [rcx - 0x20]
mov rcx, qword [rsi + 0x18]
cmp r13, r9
ja 0x140144a6c
movups xmm4, xmmword [r12]
movups xmmword [rcx], xmm4
cmp rbx, 0x10
jbe 0x140144a7f
mov rdx, qword [rsi + 0x18]
movups xmm5, xmmword [r12 + 0x10]
movups xmmword [rdx + 0x10], xmm5
cmp rbx, 0x20
jle 0x140144a7f
lea rcx, [rdx + rbx]
add r12, 0x20
add rdx, 0x20
movups xmm0, xmmword [r12]
add rdx, 0x20
add r12, 0x20
movups xmmword [rdx - 0x20], xmm0
movups xmm1, xmmword [r12 - 0x10]
movups xmmword [rdx - 0x10], xmm1
cmp rcx, rdx
ja 0x140144a4a
jmp 0x140144a7f
mov r8, r13
mov rdx, r12
mov dword [rsp + 0x48], eax
call fcn.140164070
mov eax, dword [rsp + 0x48]
add qword [rsi + 0x18], rbx
mov rdx, qword [rsi + 8]
cmp rbx, 0xffff
jbe 0x140144aa4
mov rcx, rdx
sub rcx, qword [rsi]
mov dword [rsi + 0x48], 1
sar rcx, 3
mov dword [rsi + 0x4c], ecx
lea r8, [r11 - 3]
mov word [rdx + 4], bx
mov dword [rdx], ebp
cmp r8, 0xffff
jbe 0x140144acb
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
mov ebp, edi
mov edi, eax
mov qword [rsi + 8], rdx
lea rbx, [r13 + r11]
cmp rbx, qword [rsp + 0x38]
jbe 0x1401444c8
mov r12, rbx
jmp 0x140144653
mov r8, rbx
mov rdx, rbx
call fcn.140164070
jmp 0x1401445fd
xchg ebp, edi
jmp 0x140144565
xchg edi, ebp
jmp 0x140144648
mov edx, r13d
mov ecx, r14d
xor r11d, r11d
call fcn.1401604d0
mov r9d, dword [rsp + 0x48]
mov edx, r13d
mov ecx, r14d
mov dword [rsp + 0x58], eax
mov eax, eax
add rax, r15
cmp rbx, rax
mov qword [rsp + 0x60], rax
sete r11b
add r11, rbx
mov r12, r11
sub r12, r15
mov r8d, r12d
call fcn.1401604d0
mov dword [rsp + 0x54], 0
sub r12d, eax
cmp r12d, ebp
jae 0x140144b67
mov dword [rsp + 0x54], ebp
xor ebp, ebp
mov dword [rsp + 0x68], 0
cmp r12d, edi
jae 0x140144d08
mov dword [rsp + 0x68], edi
xor edi, edi
jmp 0x140144d08
mov cl, byte [rsp + 0x70]
mov r10, qword [rsp + 0x30]
movabs r8, 0xcf1bbcdcb7a56463
mov r12d, 4
mov edx, dword [rsp + 0x90]
lea eax, [rdx + 2]
mov rdx, rax
mov rax, qword [r15 + rax]
imul r8, rax
shr r8, cl
mov rcx, qword [rsp + 0x30]
mov dword [rcx + r8*4], edx
mov cl, byte [rsp + 0x70]
movabs r8, 0xcf1bbcdcb7a56463
imul r8, qword [rbx - 2]
shr r8, cl
lea rcx, [rbx - 2]
sub rcx, r15
mov dword [r10 + r8*4], ecx
movabs rcx, 0xcf1bbcdcbfa56300
imul rax, rcx
mov cl, byte [rsp + 0x74]
shr rax, cl
mov rcx, qword [rsp + 0x40]
mov dword [rcx + rax*4], edx
mov cl, byte [rsp + 0x74]
lea rdx, [rbx - 1]
movabs rax, 0xcf1bbcdcbfa56300
imul rax, qword [rbx - 1]
sub rdx, r15
shr rax, cl
mov rcx, qword [rsp + 0x40]
mov dword [rcx + rax*4], edx
mov eax, ebp
mov rdx, rbx
mov ecx, dword [rbx]
sub rdx, rax
cmp dword [rdx], ecx
jne 0x140145223
test ebp, ebp
je 0x140145223
mov rdx, r12
mov r8, qword [rsp + 0x28]
lea rcx, [rbx + 4]
sub rdx, rax
add rdx, rbx
call fcn.14015d2d0
mov cl, byte [rsp + 0x74]
mov rdx, rbx
movabs r8, 0xcf1bbcdcbfa56300
mov r13, rax
lea r11, [rax + 4]
mov rax, qword [rbx]
sub rdx, r15
imul r8, rax
shr r8, cl
mov rcx, qword [rsp + 0x40]
mov dword [rcx + r8*4], edx
movabs rcx, 0xcf1bbcdcb7a56463
imul rax, rcx
mov cl, byte [rsp + 0x70]
shr rax, cl
mov rcx, qword [rsp + 0x30]
mov dword [rcx + rax*4], edx
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsi + 0x18]
lea r9, [rax - 0x20]
cmp r9, rbx
jb 0x14014520c
movups xmm5, xmmword [rbx]
movups xmmword [rcx], xmm5
mov rdx, qword [rsi + 8]
inc r13
mov word [rdx + 4], 0
mov dword [rdx], 1
cmp r13, 0xffff
jbe 0x140144ce8
mov rax, rdx
sub rax, qword [rsi]
mov dword [rsi + 0x48], 2
sar rax, 3
mov dword [rsi + 0x4c], eax
mov word [rdx + 6], r13w
add rdx, 8
add rbx, r11
mov qword [rsi + 8], rdx
cmp rbx, qword [rsp + 0x38]
jbe 0x14014521c
mov r11, rbx
xchg edi, ebp
mov r12, rbx
mov rbx, r11
lea rax, [rbx + 0x100]
lea r9, [rbx + 1]
mov qword [rsp + 0x88], rax
cmp r9, qword [rsp + 0x38]
jbe 0x140144d40
cmp dword [rsp + 0x68], 0
je 0x140145004
test edi, edi
jne 0x14014500d
jmp 0x140145004
mov r8d, 0x40
mov qword [rsp + 0x80], 1
mov eax, r8d
sub eax, dword [rsp + 0x7c]
sub r8d, dword [rsp + 0x78]
mov dword [rsp + 0x70], eax
mov cl, byte [rsp + 0x70]
movabs rax, 0xcf1bbcdcb7a56463
imul rax, qword [rbx]
mov dword [rsp + 0x74], r8d
mov r8d, edi
shr rax, cl
mov ecx, 1
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x30]
sub rcx, r8
mov rdx, qword [rsp + 0x48]
mov qword [rsp + 0x98], rcx
mov r14d, dword [rax + rdx*4]
mov rax, r14
add r14, r15
mov r13, qword [rbx]
mov cl, byte [rsp + 0x74]
movabs r10, 0xcf1bbcdcbfa56300
mov rdx, qword [rsp + 0x40]
imul r10, r13
shr r10, cl
mov rcx, rbx
lea r11, [rdx + r10*4]
sub rcx, r15
mov rdx, qword [rsp + 0x30]
mov r10d, dword [r11]
mov dword [r11], ecx
mov r11, qword [rsp + 0x48]
mov dword [rsp + 0x90], ecx
mov dword [rdx + r11*4], ecx
mov rdx, qword [rsp + 0x98]
mov ecx, dword [rbx + 1]
cmp dword [rbx + rdx], ecx
jne 0x140144efd
test edi, edi
je 0x140144efd
mov rax, rbx
lea rcx, [rbx + 5]
lea r13, [rbx + 1]
sub rax, r8
mov r8, qword [rsp + 0x28]
mov r14, r13
lea rdx, [rax + 5]
sub r14, r12
call fcn.14015d2d0
mov rcx, qword [rsi + 0x18]
mov rbx, rax
lea r11, [rax + 4]
mov rax, qword [rsp + 0x28]
lea r9, [rax - 0x20]
cmp r13, r9
ja 0x140144e91
movups xmm3, xmmword [r12]
movups xmmword [rcx], xmm3
cmp r14, 0x10
jbe 0x140144e9c
mov rax, qword [rsi + 0x18]
movups xmm4, xmmword [r12 + 0x10]
movups xmmword [rax + 0x10], xmm4
cmp r14, 0x20
jle 0x140144e9c
lea rdx, [rax + r14]
add r12, 0x20
add rax, 0x20
movups xmm5, xmmword [r12]
add rax, 0x20
add r12, 0x20
movups xmmword [rax - 0x20], xmm5
movups xmm0, xmmword [r12 - 0x10]
movups xmmword [rax - 0x10], xmm0
cmp rdx, rax
ja 0x140144e6f
jmp 0x140144e9c
mov r8, r13
mov rdx, r12
call fcn.140164070
add qword [rsi + 0x18], r14
mov rdx, qword [rsi + 8]
cmp r14, 0xffff
jbe 0x140144ec1
mov rax, rdx
sub rax, qword [rsi]
mov dword [rsi + 0x48], 1
sar rax, 3
mov dword [rsi + 0x4c], eax
inc rbx
mov word [rdx + 4], r14w
mov dword [rdx], 1
cmp rbx, 0xffff
jbe 0x140144eec
mov rax, rdx
sub rax, qword [rsi]
mov dword [rsi + 0x48], 2
sar rax, 3
mov dword [rsi + 0x4c], eax
mov word [rdx + 6], bx
add rdx, 8
mov qword [rsi + 8], rdx
jmp 0x1401451f4
movabs rcx, 0xcf1bbcdcb7a56463
mov r11, qword [r9]
imul rcx, r11
mov rdx, rcx
mov cl, byte [rsp + 0x70]
shr rdx, cl
mov qword [rsp + 0x48], rdx
cmp dword [rsp + 0x58], eax
jae 0x140144f83
cmp qword [r14], r13
jne 0x140144f83
mov r8, qword [rsp + 0x28]
lea rdx, [r14 + 8]
lea rcx, [rbx + 8]
mov r13, rbx
mov qword [rsp + 0x88], r9
call fcn.14015d2d0
mov r9, qword [rsp + 0x88]
lea r11, [rax + 8]
mov eax, ebx
sub eax, r14d
cmp r12, r13
jae 0x1401450fd
cmp qword [rsp + 0x60], r14
jae 0x1401450fd
mov bl, byte [r14 - 1]
cmp byte [r13 - 1], bl
jne 0x1401450fd
dec r13
dec r14
inc r11
jmp 0x140144f56
mov rax, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x48]
mov r14d, dword [rax + rdx*4]
mov rax, r14
add r14, r15
cmp dword [rsp + 0x58], r10d
jae 0x140144fb7
add r10, r15
mov edx, dword [rbx]
cmp dword [r10], edx
jne 0x140144fb7
cmp dword [rsp + 0x58], eax
jb 0x140145049
jmp 0x14014509e
cmp r9, qword [rsp + 0x88]
jb 0x140144fe2
prefetcht0 byte [r9 + 0x40]
prefetcht0 byte [r9 + 0x80]
inc qword [rsp + 0x80]
add qword [rsp + 0x88], 0x100
mov rbx, qword [rsp + 0x80]
lea rcx, [r9 + rbx]
mov rbx, r9
cmp rcx, qword [rsp + 0x38]
ja 0x140144d28
mov r9, rcx
jmp 0x140144da8
test edi, edi
cmove edi, dword [rsp + 0x68]
jmp 0x140145015
mov eax, dword [rsp + 0x68]
mov dword [rsp + 0x54], eax
mov rax, qword [rsp + 0x100]
test ebp, ebp
cmove ebp, dword [rsp + 0x54]
mov dword [rax], edi
mov dword [rsp + 0x54], ebp
mov dword [rax + 4], ebp
mov rax, qword [rsp + 0x28]
sub rax, r12
add rsp, 0xa8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
cmp qword [r14], r11
jne 0x14014509e
mov r8, qword [rsp + 0x28]
lea rcx, [r9 + 8]
lea rdx, [r14 + 8]
mov qword [rsp + 0x88], r9
call fcn.14015d2d0
mov r9, qword [rsp + 0x88]
lea r11, [rax + 8]
mov eax, r9d
mov r13, r9
sub eax, r14d
cmp r12, r13
jae 0x1401450fd
cmp qword [rsp + 0x60], r14
jae 0x1401450fd
mov bl, byte [r14 - 1]
cmp byte [r13 - 1], bl
jne 0x1401450fd
dec r13
dec r14
inc r11
jmp 0x14014507d
mov r8, qword [rsp + 0x28]
lea rdx, [r10 + 4]
lea rcx, [rbx + 4]
mov r13, rbx
mov qword [rsp + 0x98], r9
mov qword [rsp + 0x88], r10
call fcn.14015d2d0
mov r10, qword [rsp + 0x88]
mov r9, qword [rsp + 0x98]
lea r11, [rax + 4]
mov eax, ebx
sub eax, r10d
cmp r12, r13
jae 0x1401450fd
cmp qword [rsp + 0x60], r10
jae 0x1401450fd
mov bl, byte [r10 - 1]
cmp byte [r13 - 1], bl
jne 0x1401450fd
dec r13
dec r10
inc r11
jmp 0x1401450dc
cmp qword [rsp + 0x80], 3
ja 0x140145119
mov rbx, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x48]
sub r9, r15
mov dword [rbx + rcx*4], r9d
mov rdx, qword [rsp + 0x28]
mov rbx, r13
mov rcx, qword [rsi + 0x18]
lea ebp, [rax + 3]
sub rbx, r12
lea r9, [rdx - 0x20]
cmp r13, r9
ja 0x140145184
movups xmm1, xmmword [r12]
movups xmmword [rcx], xmm1
cmp rbx, 0x10
jbe 0x140145197
mov rdx, qword [rsi + 0x18]
movups xmm2, xmmword [r12 + 0x10]
movups xmmword [rdx + 0x10], xmm2
cmp rbx, 0x20
jle 0x140145197
lea rcx, [rdx + rbx]
add r12, 0x20
add rdx, 0x20
movups xmm3, xmmword [r12]
add rdx, 0x20
add r12, 0x20
movups xmmword [rdx - 0x20], xmm3
movups xmm4, xmmword [r12 - 0x10]
movups xmmword [rdx - 0x10], xmm4
cmp rcx, rdx
ja 0x140145162
jmp 0x140145197
mov r8, r13
mov rdx, r12
mov dword [rsp + 0x48], eax
call fcn.140164070
mov eax, dword [rsp + 0x48]
add qword [rsi + 0x18], rbx
mov rdx, qword [rsi + 8]
cmp rbx, 0xffff
jbe 0x1401451bc
mov rcx, rdx
sub rcx, qword [rsi]
mov dword [rsi + 0x48], 1
sar rcx, 3
mov dword [rsi + 0x4c], ecx
lea r8, [r11 - 3]
mov word [rdx + 4], bx
mov dword [rdx], ebp
cmp r8, 0xffff
jbe 0x1401451e3
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
mov ebp, edi
mov edi, eax
mov qword [rsi + 8], rdx
lea rbx, [r13 + r11]
cmp rbx, qword [rsp + 0x38]
jbe 0x140144b83
mov r12, rbx
jmp 0x140144d0e
mov r8, rbx
mov rdx, rbx
call fcn.140164070
jmp 0x140144cb8
xchg ebp, edi
jmp 0x140144c20
xchg edi, ebp
jmp 0x140144d03
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xb8
mov eax, dword [rsp + 0x128]
mov r12, rdx
mov dword [rsp + 0x40], eax
mov r10, rcx
mov rbx, r9
mov rdx, qword [rsp + 0x120]
mov qword [rsp + 0x78], r8
mov r8, r9
lea rsi, [r9 + rdx]
mov r9d, dword [rcx + 0x28]
lea rax, [rsi - 8]
mov qword [rsp + 0x90], rax
mov rax, qword [rcx + 8]
sub r8, rax
mov qword [rsp + 0x30], rax
mov eax, dword [rcx + 0x1c]
mov ecx, dword [rcx + 0x100]
add r8d, edx
mov dword [rsp + 0x38], eax
mov eax, 1
mov r11d, r8d
sub r11d, dword [rsp + 0x38]
shl eax, cl
mov ecx, dword [rsp + 0x38]
cmp eax, r11d
jae 0x1401478b4
mov ecx, r8d
sub ecx, eax
mov eax, dword [r10 + 0x18]
test r9d, r9d
cmovne ecx, dword [rsp + 0x38]
cmp eax, ecx
mov edi, ecx
mov dword [rsp + 0x38], ecx
mov r8d, dword [rsp + 0x38]
cmovae edi, eax
mov ecx, edi
mov dword [rsp + 0x3c], edi
mov rdi, qword [rsp + 0x30]
add rdi, rcx
mov qword [rsp + 0x48], rdi
mov rdi, qword [r10 + 0x10]
add r8, rdi
add rcx, rdi
mov qword [rsp + 0x58], rdi
mov qword [rsp + 0x98], r8
mov qword [rsp + 0x68], rcx
cmp eax, dword [rsp + 0x38]
jbe 0x14014795d
mov rax, qword [r10 + 0x70]
mov r13, rbx
mov qword [rsp + 0x60], rax
mov eax, dword [r10 + 0x108]
mov dword [rsp + 0xa4], eax
mov rax, qword [r10 + 0x80]
mov qword [rsp + 0x88], rax
mov eax, dword [r10 + 0x104]
mov dword [rsp + 0x70], eax
mov rax, qword [rsp + 0x78]
mov r15d, dword [rax]
mov eax, dword [rax + 4]
mov dword [rsp + 0x80], eax
mov eax, 0x40
sub eax, dword [rsp + 0x70]
mov dword [rsp + 0x44], eax
jmp 0x140147aa9
mov r8, qword [rsp + 0x78]
mov qword [rsp + 0x120], rdx
mov r9, rbx
mov rdx, r12
mov rcx, r10
add rsp, 0xb8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp 0x140143610
cmp dword [rsp + 0x40], 6
mov r8, qword [rbx]
je 0x140147ac8
cmp dword [rsp + 0x40], 7
je 0x140147ad4
cmp dword [rsp + 0x40], 5
je 0x140147abc
imul eax, dword [rbx], 0x9e3779b1
mov ecx, 0x20
sub ecx, dword [rsp + 0x70]
shr eax, cl
mov rdi, qword [rsp + 0x88]
mov r10, qword [rsp + 0x30]
mov r11, qword [rsp + 0x30]
lea r9, [rdi + rax*4]
mov eax, 0x40
mov rdi, qword [rsp + 0x60]
mov ebp, dword [r9]
cmp dword [rsp + 0x3c], ebp
cmova r10, qword [rsp + 0x58]
sub eax, dword [rsp + 0xa4]
mov dword [rsp + 0x74], eax
mov cl, byte [rsp + 0x74]
movabs rax, 0xcf1bbcdcb7a56463
imul rax, r8
shr rax, cl
lea rcx, [rdi + rax*4]
mov rax, rbx
mov rdi, qword [rsp + 0x30]
mov r14d, dword [rcx]
cmp dword [rsp + 0x3c], r14d
cmova r11, qword [rsp + 0x58]
sub rax, qword [rsp + 0x30]
mov qword [rsp + 0x50], rax
mov edx, dword [rsp + 0x50]
mov eax, 1
sub eax, r15d
add eax, dword [rsp + 0x50]
cmp dword [rsp + 0x3c], eax
mov dword [rcx], edx
cmova rdi, qword [rsp + 0x58]
mov dword [r9], edx
mov edx, dword [rsp + 0x3c]
dec edx
mov dword [rsp + 0xa0], edx
mov edx, 1
sub edx, dword [rsp + 0x38]
add edx, dword [rsp + 0x50]
cmp edx, r15d
jae 0x140147aee
cmp r14d, dword [rsp + 0x38]
ja 0x140147c38
cmp ebp, dword [rsp + 0x38]
ja 0x140147d40
mov rax, rbx
mov r11d, r15d
mov r15d, dword [rsp + 0x80]
sub rax, r13
sar rax, 8
lea rbx, [rbx + rax + 1]
mov dword [rsp + 0x80], r15d
mov r15d, r11d
cmp rbx, qword [rsp + 0x90]
jb 0x14014798b
jmp 0x140148232
movabs rax, 0xcf1bbcdcbb000000
jmp 0x140147ade
movabs rax, 0xcf1bbcdcbf9b0000
jmp 0x140147ade
movabs rax, 0xcf1bbcdcbfa56300
imul rax, r8
mov cl, byte [rsp + 0x44]
shr rax, cl
jmp 0x1401479c0
mov edx, dword [rsp + 0xa0]
sub edx, eax
cmp edx, 2
jbe 0x140147a6f
mov edx, eax
add rdx, rdi
mov edi, dword [rdx]
cmp dword [rbx + 1], edi
jne 0x140147a6f
cmp dword [rsp + 0x3c], eax
mov rax, qword [rsp + 0x48]
lea rcx, [rbx + 5]
mov r8, rsi
mov r9, qword [rsp + 0x68]
mov qword [rsp + 0x20], rax
cmovbe r9, rsi
add rdx, 4
inc rbx
mov rdi, rbx
call fcn.14015d720
lea r9, [rsi - 0x20]
sub rdi, r13
mov rcx, qword [r12 + 0x18]
cmp rbx, r9
mov r11, rax
lea rax, [rax + 4]
ja 0x140147ba4
movups xmm0, xmmword [r13]
movups xmmword [rcx], xmm0
cmp rdi, 0x10
jbe 0x140147bbf
mov rdx, qword [r12 + 0x18]
movups xmm1, xmmword [r13 + 0x10]
movups xmmword [rdx + 0x10], xmm1
cmp rdi, 0x20
jle 0x140147bbf
lea rcx, [rdx + rdi]
add r13, 0x20
add rdx, 0x20
movups xmm2, xmmword [r13]
add rdx, 0x20
add r13, 0x20
movups xmmword [rdx - 0x20], xmm2
movups xmm3, xmmword [r13 - 0x10]
movups xmmword [rdx - 0x10], xmm3
cmp rcx, rdx
ja 0x140147b83
jmp 0x140147bbf
mov r8, rbx
mov rdx, r13
mov qword [rsp + 0xa8], rax
call fcn.140164070
mov rax, qword [rsp + 0xa8]
add qword [r12 + 0x18], rdi
cmp rdi, 0xffff
mov rdx, qword [r12 + 8]
jbe 0x140147beb
mov dword [r12 + 0x48], 1
mov rcx, rdx
sub rcx, qword [r12]
sar rcx, 3
mov dword [r12 + 0x4c], ecx
inc r11
mov word [rdx + 4], di
mov dword [rdx], 1
cmp r11, 0xffff
jbe 0x140147c1a
mov dword [r12 + 0x48], 2
mov rcx, rdx
sub rcx, qword [r12]
sar rcx, 3
mov dword [r12 + 0x4c], ecx
mov word [rdx + 6], r11w
add rdx, 8
mov r11d, r15d
mov r15d, dword [rsp + 0x80]
mov qword [r12 + 8], rdx
jmp 0x140147f71
mov edi, r14d
add rdi, r11
cmp qword [rdi], r8
jne 0x140147a7a
cmp dword [rsp + 0x3c], r14d
ja 0x140147c58
mov rbp, qword [rsp + 0x48]
mov r9, rsi
jmp 0x140147c65
mov r9, qword [rsp + 0x68]
mov rbp, qword [rsp + 0x98]
mov rax, qword [rsp + 0x48]
lea rdx, [rdi + 8]
lea rcx, [rbx + 8]
mov r8, rsi
mov qword [rsp + 0x20], rax
call fcn.14015d720
mov r11d, dword [rsp + 0x50]
add rax, 8
sub r11d, r14d
cmp rbx, r13
jbe 0x140147ca8
cmp rdi, rbp
jbe 0x140147ca8
mov dl, byte [rdi - 1]
cmp byte [rbx - 1], dl
jne 0x140147ca8
dec rbx
dec rdi
inc rax
jmp 0x140147c8b
mov rdi, rbx
lea r9, [rsi - 0x20]
mov rcx, qword [r12 + 0x18]
lea ebp, [r11 + 3]
sub rdi, r13
cmp rbx, r9
ja 0x140147d0f
movups xmm4, xmmword [r13]
movups xmmword [rcx], xmm4
cmp rdi, 0x10
jbe 0x140147d2a
mov rdx, qword [r12 + 0x18]
movups xmm5, xmmword [r13 + 0x10]
movups xmmword [rdx + 0x10], xmm5
cmp rdi, 0x20
jle 0x140147d2a
lea rcx, [rdx + rdi]
add r13, 0x20
add rdx, 0x20
movups xmm0, xmmword [r13]
add rdx, 0x20
add r13, 0x20
movups xmmword [rdx - 0x20], xmm0
movups xmm1, xmmword [r13 - 0x10]
movups xmmword [rdx - 0x10], xmm1
cmp rcx, rdx
ja 0x140147cee
jmp 0x140147d2a
mov r8, rbx
mov rdx, r13
mov qword [rsp + 0x80], rax
call fcn.140164070
mov rax, qword [rsp + 0x80]
add qword [r12 + 0x18], rdi
mov rdx, qword [r12 + 8]
cmp rdi, 0xffff
jmp 0x140147f1c
mov edi, ebp
add rdi, r10
mov eax, dword [rdi]
cmp dword [rbx], eax
jne 0x140147a84
mov rdx, qword [rbx + 1]
mov cl, byte [rsp + 0x74]
movabs rax, 0xcf1bbcdcb7a56463
mov r14, qword [rsp + 0x30]
imul rax, rdx
shr rax, cl
mov rcx, qword [rsp + 0x60]
lea rax, [rcx + rax*4]
mov ecx, dword [rsp + 0x50]
mov r10d, dword [rax]
cmp dword [rsp + 0x3c], r10d
lea r11d, [rcx + 1]
cmova r14, qword [rsp + 0x58]
mov dword [rax], r11d
cmp r10d, dword [rsp + 0x38]
jbe 0x140147e29
mov eax, r10d
add r14, rax
cmp rdx, qword [r14]
jne 0x140147e29
cmp dword [rsp + 0x3c], r10d
ja 0x140147dba
mov rdi, qword [rsp + 0x48]
mov r9, rsi
jmp 0x140147dc7
mov r9, qword [rsp + 0x68]
mov rdi, qword [rsp + 0x98]
mov rax, qword [rsp + 0x48]
lea rcx, [rbx + 9]
lea rdx, [r14 + 8]
mov r8, rsi
mov dword [rsp + 0xa8], r10d
inc rbx
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x80], r11d
call fcn.14015d720
mov r11d, dword [rsp + 0x80]
mov r10d, dword [rsp + 0xa8]
add rax, 8
sub r11d, r10d
cmp rbx, r13
jbe 0x140147e89
cmp r14, rdi
jbe 0x140147e89
mov dl, byte [r14 - 1]
cmp byte [rbx - 1], dl
jne 0x140147e89
dec rbx
dec r14
inc rax
jmp 0x140147e0b
cmp dword [rsp + 0x3c], ebp
ja 0x140147e39
mov r14, qword [rsp + 0x48]
mov r9, rsi
jmp 0x140147e46
mov r9, qword [rsp + 0x68]
mov r14, qword [rsp + 0x98]
mov rax, qword [rsp + 0x48]
lea rdx, [rdi + 4]
lea rcx, [rbx + 4]
mov r8, rsi
mov qword [rsp + 0x20], rax
call fcn.14015d720
mov r11d, dword [rsp + 0x50]
add rax, 4
sub r11d, ebp
cmp rbx, r13
jbe 0x140147e89
cmp rdi, r14
jbe 0x140147e89
mov dl, byte [rdi - 1]
cmp byte [rbx - 1], dl
jne 0x140147e89
dec rbx
dec rdi
inc rax
jmp 0x140147e6c
mov rdi, rbx
lea r9, [rsi - 0x20]
mov rcx, qword [r12 + 0x18]
lea ebp, [r11 + 3]
sub rdi, r13
cmp rbx, r9
ja 0x140147ef0
movups xmm2, xmmword [r13]
movups xmmword [rcx], xmm2
cmp rdi, 0x10
jbe 0x140147f0b
mov rdx, qword [r12 + 0x18]
movups xmm3, xmmword [r13 + 0x10]
movups xmmword [rdx + 0x10], xmm3
cmp rdi, 0x20
jle 0x140147f0b
lea rcx, [rdx + rdi]
add r13, 0x20
add rdx, 0x20
movups xmm4, xmmword [r13]
add rdx, 0x20
add r13, 0x20
movups xmmword [rdx - 0x20], xmm4
movups xmm5, xmmword [r13 - 0x10]
movups xmmword [rdx - 0x10], xmm5
cmp rcx, rdx
ja 0x140147ecf
jmp 0x140147f0b
mov r8, rbx
mov rdx, r13
mov qword [rsp + 0x80], rax
call fcn.140164070
mov rax, qword [rsp + 0x80]
mov rdx, qword [r12 + 8]
add qword [r12 + 0x18], rdi
cmp rdi, 0xffff
jbe 0x140147f37
mov dword [r12 + 0x48], 1
mov rcx, rdx
sub rcx, qword [r12]
sar rcx, 3
mov dword [r12 + 0x4c], ecx
lea r8, [rax - 3]
mov word [rdx + 4], di
mov dword [rdx], ebp
cmp r8, 0xffff
jbe 0x140147f63
mov dword [r12 + 0x48], 2
mov rcx, rdx
sub rcx, qword [r12]
sar rcx, 3
mov dword [r12 + 0x4c], ecx
mov word [rdx + 6], r8w
add rdx, 8
mov qword [r12 + 8], rdx
add rbx, rax
mov r13, rbx
cmp qword [rsp + 0x90], rbx
jb 0x140147a9e
mov edx, dword [rsp + 0x50]
mov cl, byte [rsp + 0x74]
movabs r8, 0xcf1bbcdcb7a56463
mov rdi, qword [rsp + 0x60]
lea r9d, [rdx + 2]
mov rdx, r9
add r9, qword [rsp + 0x30]
mov rax, qword [r9]
mov r10, rax
imul r10, r8
imul r8, qword [rbx - 2]
shr r10, cl
shr r8, cl
lea rcx, [rbx - 2]
sub rcx, qword [rsp + 0x30]
mov dword [rdi + r10*4], edx
cmp dword [rsp + 0x40], 6
mov dword [rdi + r8*4], ecx
je 0x140148003
cmp dword [rsp + 0x40], 7
je 0x14014800f
cmp dword [rsp + 0x40], 5
je 0x140147ff7
imul eax, dword [r9], 0x9e3779b1
mov ecx, 0x20
sub ecx, dword [rsp + 0x70]
shr eax, cl
jmp 0x140148024
movabs rcx, 0xcf1bbcdcbb000000
jmp 0x140148019
movabs rcx, 0xcf1bbcdcbf9b0000
jmp 0x140148019
movabs rcx, 0xcf1bbcdcbfa56300
imul rax, rcx
mov cl, byte [rsp + 0x44]
shr rax, cl
mov rdi, qword [rsp + 0x88]
mov dword [rdi + rax*4], edx
lea rdx, [rbx - 1]
sub rdx, qword [rsp + 0x30]
cmp dword [rsp + 0x40], 6
je 0x14014806d
cmp dword [rsp + 0x40], 7
je 0x140148079
cmp dword [rsp + 0x40], 5
je 0x140148061
imul eax, dword [rbx - 1], 0x9e3779b1
mov ecx, 0x20
sub ecx, dword [rsp + 0x70]
shr eax, cl
jmp 0x14014808f
movabs rax, 0xcf1bbcdcbb000000
jmp 0x140148083
movabs rax, 0xcf1bbcdcbf9b0000
jmp 0x140148083
movabs rax, 0xcf1bbcdcbfa56300
imul rax, qword [rbx - 1]
mov cl, byte [rsp + 0x44]
shr rax, cl
mov rdi, qword [rsp + 0x88]
mov dword [rdi + rax*4], edx
movabs rdi, 0xcf1bbcdcbf9b0000
mov r13, rbx
sub r13, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x30]
mov eax, r13d
sub eax, r15d
mov ecx, eax
add rdx, rcx
cmp dword [rsp + 0x3c], eax
jbe 0x1401480ca
mov rdx, qword [rsp + 0x58]
add rdx, rcx
mov ecx, dword [rsp + 0xa0]
add ecx, r15d
sub ecx, r13d
cmp ecx, 2
jbe 0x14014822a
mov ecx, r13d
sub ecx, dword [rsp + 0x38]
cmp ecx, r15d
jb 0x14014822a
mov ecx, dword [rdx]
cmp dword [rbx], ecx
jne 0x14014822a
cmp dword [rsp + 0x3c], eax
mov rax, qword [rsp + 0x48]
lea rcx, [rbx + 4]
mov r8, rsi
mov r9, qword [rsp + 0x68]
mov dword [rsp + 0x50], r11d
mov qword [rsp + 0x20], rax
cmovbe r9, rsi
add rdx, 4
call fcn.14015d720
lea r9, [rsi - 0x20]
mov rcx, qword [r12 + 0x18]
mov r11d, dword [rsp + 0x50]
cmp r9, rbx
mov r14, rax
lea rbp, [rax + 4]
jb 0x140148148
movups xmm0, xmmword [rbx]
movups xmmword [rcx], xmm0
jmp 0x140148153
mov r8, rbx
mov rdx, rbx
call fcn.140164070
mov rdx, qword [r12 + 8]
inc r14
mov word [rdx + 4], 0
mov dword [rdx], 1
cmp r14, 0xffff
jbe 0x140148189
mov dword [r12 + 0x48], 2
mov rax, rdx
sub rax, qword [r12]
sar rax, 3
mov dword [r12 + 0x4c], eax
mov word [rdx + 6], r14w
add rdx, 8
cmp dword [rsp + 0x40], 6
mov qword [r12 + 8], rdx
mov rdx, qword [rbx]
je 0x1401481ce
cmp dword [rsp + 0x40], 7
je 0x1401481d7
cmp dword [rsp + 0x40], 5
je 0x1401481c2
imul eax, dword [rbx], 0x9e3779b1
mov ecx, 0x20
sub ecx, dword [rsp + 0x70]
shr eax, cl
jmp 0x1401481ec
movabs rax, 0xcf1bbcdcbb000000
jmp 0x1401481e1
mov rax, rdx
imul rax, rdi
jmp 0x1401481e5
movabs rax, 0xcf1bbcdcbfa56300
imul rax, rdx
mov cl, byte [rsp + 0x44]
shr rax, cl
mov rcx, qword [rsp + 0x88]
add rbx, rbp
xchg r11d, r15d
mov dword [rcx + rax*4], r13d
mov cl, byte [rsp + 0x74]
movabs rax, 0xcf1bbcdcb7a56463
imul rdx, rax
mov rax, qword [rsp + 0x60]
shr rdx, cl
mov dword [rax + rdx*4], r13d
cmp qword [rsp + 0x90], rbx
jae 0x1401480a4
mov r13, rbx
jmp 0x140147a9e
mov rax, qword [rsp + 0x78]
mov ebx, dword [rsp + 0x80]
mov dword [rax], r15d
mov dword [rax + 4], ebx
mov rax, rsi
sub rax, r13
add rsp, 0xb8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret