Function at 0x1401638f0
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 0x140160517
cmp edx, 7
je 0x140160bd2
cmp edx, 5
mov ecx, r14d
mov edx, r13d
je 0x14015fe62
call fcn.14017c590
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.14017c590
mov dword [rsp + 0x48], 0
sub r12d, eax
cmp r12d, ebp
jae 0x14015f7d7
mov dword [rsp + 0x48], ebp
xor ebp, ebp
mov dword [rsp + 0x60], 0
cmp r12d, edi
jae 0x14015f964
mov dword [rsp + 0x60], edi
xor edi, edi
jmp 0x14015f964
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 0x14015fe5b
test ebp, ebp
je 0x14015fe5b
mov rdx, r13
mov r8, qword [rsp + 0x28]
lea rcx, [rbx + 4]
sub rdx, rax
imul r14d, r14d, 0x9e3779b1
add rdx, rbx
call fcn.140179390
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 0x14015fe41
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 0x14015f943
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 0x14015fe54
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 0x14015f994
cmp dword [rsp + 0x60], 0
je 0x14015fc3d
test edi, edi
jne 0x14015fc46
jmp 0x14015fc3d
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 0x14015fb40
test edi, edi
je 0x14015fb40
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.140179390
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 0x14015faca
movups xmm0, xmmword [r12]
movups xmmword [rcx], xmm0
cmp rbx, 0x10
jbe 0x14015fadf
mov rdx, qword [rsi + 0x18]
movups xmm1, xmmword [r12 + 0x10]
movups xmmword [rdx + 0x10], xmm1
cmp rbx, 0x20
jle 0x14015fadf
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 0x14015faa8
jmp 0x14015fadf
mov r8, r13
mov rdx, r12
mov qword [rsp + 0x68], rax
call fcn.140180130
mov rax, qword [rsp + 0x68]
add qword [rsi + 0x18], rbx
mov rdx, qword [rsi + 8]
cmp rbx, 0xffff
jbe 0x14015fb04
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 0x14015fb2e
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 0x14015fe29
mov r13, qword [r10]
mov cl, byte [rsp + 0x54]
movabs r14, 0xcf1bbcdcb7a56463
imul r14, r13
shr r14, cl
cmp dword [rsp + 0x70], eax
jae 0x14015fbcf
mov rax, qword [rbx]
cmp qword [r9], rax
jne 0x14015fbcf
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.140179390
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 0x14015fd28
cmp qword [rsp + 0x58], r9
jae 0x14015fd28
mov bl, byte [r9 - 1]
cmp byte [r13 - 1], bl
jne 0x14015fd28
dec r13
dec r9
inc rax
jmp 0x14015fba2
mov rax, qword [rsp + 0x30]
mov r9d, dword [rax + r14*4]
mov rax, r9
add r9, r15
cmp dword [rsp + 0x70], r11d
jae 0x14015fbfa
add r11, r15
mov ecx, dword [rbx]
cmp dword [r11], ecx
jne 0x14015fbfa
cmp dword [rsp + 0x70], eax
jb 0x14015fc68
jmp 0x14015fccb
cmp r10, rdx
jb 0x14015fc1b
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 0x14015f97c
mov r10, rcx
jmp 0x14015f9ee
test edi, edi
cmove edi, dword [rsp + 0x60]
jmp 0x14015fc4e
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 0x1401610ea
cmp qword [r9], r13
jne 0x14015fccb
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.140179390
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 0x14015fd28
cmp qword [rsp + 0x58], r9
jae 0x14015fd28
mov bl, byte [r9 - 1]
cmp byte [r13 - 1], bl
jne 0x14015fd28
dec r13
dec r9
inc rax
jmp 0x14015fcaa
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.140179390
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 0x14015fd28
cmp qword [rsp + 0x58], r11
jae 0x14015fd28
mov bl, byte [r11 - 1]
cmp byte [r13 - 1], bl
jne 0x14015fd28
dec r13
dec r11
inc rax
jmp 0x14015fd07
cmp qword [rsp + 0x80], 3
ja 0x14015fd3f
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 0x14015fdae
movups xmm4, xmmword [r12]
movups xmmword [rcx], xmm4
cmp r11, 0x10
jbe 0x14015fdc9
mov rdx, qword [rsi + 0x18]
movups xmm5, xmmword [r12 + 0x10]
movups xmmword [rdx + 0x10], xmm5
cmp r11, 0x20
jle 0x14015fdc9
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 0x14015fd8c
jmp 0x14015fdc9
mov r8, r13
mov rdx, r12
mov qword [rsp + 0x80], rax
call fcn.140180130
mov rax, qword [rsp + 0x80]
add qword [rsi + 0x18], r11
mov rdx, qword [rsi + 8]
cmp r11, 0xffff
jbe 0x14015fdee
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 0x14015fe16
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 0x14015f7f3
mov r12, rbx
jmp 0x14015f96a
mov r9, r12
mov r8, rbx
mov rdx, rbx
call fcn.140180130
jmp 0x14015f912
xchg ebp, edi
jmp 0x14015f886
xchg edi, ebp
jmp 0x14015f95f
call fcn.14017c590
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.14017c590
mov dword [rsp + 0x54], 0
sub r12d, eax
cmp r12d, ebp
jae 0x14015feb1
mov dword [rsp + 0x54], ebp
xor ebp, ebp
mov dword [rsp + 0x68], 0
cmp r12d, edi
jae 0x140160052
mov dword [rsp + 0x68], edi
xor edi, edi
jmp 0x140160052
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 0x140160510
test ebp, ebp
je 0x140160510
mov rdx, r12
mov r8, qword [rsp + 0x28]
lea rcx, [rbx + 4]
sub rdx, rax
add rdx, rbx
call fcn.140179390
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 0x1401604f9
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 0x140160032
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 0x140160509
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 0x140160de8
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 0x140160233
test edi, edi
je 0x140160233
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.140179390
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 0x1401601c7
movups xmm3, xmmword [r12]
movups xmmword [rcx], xmm3
cmp r14, 0x10
jbe 0x1401601d2
mov rax, qword [rsi + 0x18]
movups xmm4, xmmword [r12 + 0x10]
movups xmmword [rax + 0x10], xmm4
cmp r14, 0x20
jle 0x1401601d2
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 0x1401601a5
jmp 0x1401601d2
mov r8, r13
mov rdx, r12
call fcn.140180130
add qword [rsi + 0x18], r14
mov rdx, qword [rsi + 8]
cmp r14, 0xffff
jbe 0x1401601f7
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 0x140160222
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 0x1401604e1
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 0x1401602b9
cmp qword [r14], r13
jne 0x1401602b9
mov r8, qword [rsp + 0x28]
lea rdx, [r14 + 8]
lea rcx, [rbx + 8]
mov r13, rbx
mov qword [rsp + 0x88], r9
call fcn.140179390
mov r9, qword [rsp + 0x88]
lea r11, [rax + 8]
mov eax, ebx
sub eax, r14d
cmp r12, r13
jae 0x1401603ea
cmp qword [rsp + 0x60], r14
jae 0x1401603ea
mov bl, byte [r14 - 1]
cmp byte [r13 - 1], bl
jne 0x1401603ea
dec r13
dec r14
inc r11
jmp 0x14016028c
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 0x1401602e9
add r10, r15
mov edx, dword [rbx]
cmp dword [r10], edx
jne 0x1401602e9
cmp dword [rsp + 0x58], eax
jb 0x140160336
jmp 0x14016038b
cmp r9, qword [rsp + 0x88]
jb 0x140160314
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 0x140160de8
mov r9, rcx
jmp 0x1401600de
cmp qword [r14], r11
jne 0x14016038b
mov r8, qword [rsp + 0x28]
lea rcx, [r9 + 8]
lea rdx, [r14 + 8]
mov qword [rsp + 0x88], r9
call fcn.140179390
mov r9, qword [rsp + 0x88]
lea r11, [rax + 8]
mov eax, r9d
mov r13, r9
sub eax, r14d
cmp r12, r13
jae 0x1401603ea
cmp qword [rsp + 0x60], r14
jae 0x1401603ea
mov bl, byte [r14 - 1]
cmp byte [r13 - 1], bl
jne 0x1401603ea
dec r13
dec r14
inc r11
jmp 0x14016036a
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.140179390
mov r10, qword [rsp + 0x88]
mov r9, qword [rsp + 0x98]
lea r11, [rax + 4]
mov eax, ebx
sub eax, r10d
cmp r12, r13
jae 0x1401603ea
cmp qword [rsp + 0x60], r10
jae 0x1401603ea
mov bl, byte [r10 - 1]
cmp byte [r13 - 1], bl
jne 0x1401603ea
dec r13
dec r10
inc r11
jmp 0x1401603c9
cmp qword [rsp + 0x80], 3
ja 0x140160406
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 0x140160471
movups xmm1, xmmword [r12]
movups xmmword [rcx], xmm1
cmp rbx, 0x10
jbe 0x140160484
mov rdx, qword [rsi + 0x18]
movups xmm2, xmmword [r12 + 0x10]
movups xmmword [rdx + 0x10], xmm2
cmp rbx, 0x20
jle 0x140160484
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 0x14016044f
jmp 0x140160484
mov r8, r13
mov rdx, r12
mov dword [rsp + 0x48], eax
call fcn.140180130
mov eax, dword [rsp + 0x48]
add qword [rsi + 0x18], rbx
mov rdx, qword [rsi + 8]
cmp rbx, 0xffff
jbe 0x1401604a9
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 0x1401604d0
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 0x14015fecd
mov r12, rbx
jmp 0x140160058
mov r8, rbx
mov rdx, rbx
call fcn.140180130
jmp 0x140160002
xchg ebp, edi
jmp 0x14015ff6a
xchg edi, ebp
jmp 0x14016004d
mov edx, r13d
mov ecx, r14d
xor r11d, r11d
call fcn.14017c590
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.14017c590
mov dword [rsp + 0x54], 0
sub r12d, eax
cmp r12d, ebp
jae 0x14016056c
mov dword [rsp + 0x54], ebp
xor ebp, ebp
mov dword [rsp + 0x68], 0
cmp r12d, edi
jae 0x14016070d
mov dword [rsp + 0x68], edi
xor edi, edi
jmp 0x14016070d
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 0x140160bcb
test ebp, ebp
je 0x140160bcb
mov rdx, r12
mov r8, qword [rsp + 0x28]
lea rcx, [rbx + 4]
sub rdx, rax
add rdx, rbx
call fcn.140179390
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 0x140160bb4
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 0x1401606ed
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 0x140160bc4
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 0x140160de8
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 0x1401608ee
test edi, edi
je 0x1401608ee
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.140179390
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 0x140160882
movups xmm0, xmmword [r12]
movups xmmword [rcx], xmm0
cmp r14, 0x10
jbe 0x14016088d
mov rax, qword [rsi + 0x18]
movups xmm1, xmmword [r12 + 0x10]
movups xmmword [rax + 0x10], xmm1
cmp r14, 0x20
jle 0x14016088d
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 0x140160860
jmp 0x14016088d
mov r8, r13
mov rdx, r12
call fcn.140180130
add qword [rsi + 0x18], r14
mov rdx, qword [rsi + 8]
cmp r14, 0xffff
jbe 0x1401608b2
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 0x1401608dd
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 0x140160b9c
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 0x140160974
cmp qword [r14], r13
jne 0x140160974
mov r8, qword [rsp + 0x28]
lea rdx, [r14 + 8]
lea rcx, [rbx + 8]
mov r13, rbx
mov qword [rsp + 0x88], r9
call fcn.140179390
mov r9, qword [rsp + 0x88]
lea r11, [rax + 8]
mov eax, ebx
sub eax, r14d
cmp r12, r13
jae 0x140160aa5
cmp qword [rsp + 0x60], r14
jae 0x140160aa5
mov bl, byte [r14 - 1]
cmp byte [r13 - 1], bl
jne 0x140160aa5
dec r13
dec r14
inc r11
jmp 0x140160947
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 0x1401609a4
add r10, r15
mov edx, dword [rbx]
cmp dword [r10], edx
jne 0x1401609a4
cmp dword [rsp + 0x58], eax
jb 0x1401609f1
jmp 0x140160a46
cmp r9, qword [rsp + 0x88]
jb 0x1401609cf
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 0x140160de8
mov r9, rcx
jmp 0x140160799
cmp qword [r14], r11
jne 0x140160a46
mov r8, qword [rsp + 0x28]
lea rcx, [r9 + 8]
lea rdx, [r14 + 8]
mov qword [rsp + 0x88], r9
call fcn.140179390
mov r9, qword [rsp + 0x88]
lea r11, [rax + 8]
mov eax, r9d
mov r13, r9
sub eax, r14d
cmp r12, r13
jae 0x140160aa5
cmp qword [rsp + 0x60], r14
jae 0x140160aa5
mov bl, byte [r14 - 1]
cmp byte [r13 - 1], bl
jne 0x140160aa5
dec r13
dec r14
inc r11
jmp 0x140160a25
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.140179390
mov r10, qword [rsp + 0x88]
mov r9, qword [rsp + 0x98]
lea r11, [rax + 4]
mov eax, ebx
sub eax, r10d
cmp r12, r13
jae 0x140160aa5
cmp qword [rsp + 0x60], r10
jae 0x140160aa5
mov bl, byte [r10 - 1]
cmp byte [r13 - 1], bl
jne 0x140160aa5
dec r13
dec r10
inc r11
jmp 0x140160a84
cmp qword [rsp + 0x80], 3
ja 0x140160ac1
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 0x140160b2c
movups xmm4, xmmword [r12]
movups xmmword [rcx], xmm4
cmp rbx, 0x10
jbe 0x140160b3f
mov rdx, qword [rsi + 0x18]
movups xmm5, xmmword [r12 + 0x10]
movups xmmword [rdx + 0x10], xmm5
cmp rbx, 0x20
jle 0x140160b3f
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 0x140160b0a
jmp 0x140160b3f
mov r8, r13
mov rdx, r12
mov dword [rsp + 0x48], eax
call fcn.140180130
mov eax, dword [rsp + 0x48]
add qword [rsi + 0x18], rbx
mov rdx, qword [rsi + 8]
cmp rbx, 0xffff
jbe 0x140160b64
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 0x140160b8b
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 0x140160588
mov r12, rbx
jmp 0x140160713
mov r8, rbx
mov rdx, rbx
call fcn.140180130
jmp 0x1401606bd
xchg ebp, edi
jmp 0x140160625
xchg edi, ebp
jmp 0x140160708
mov edx, r13d
mov ecx, r14d
xor r11d, r11d
call fcn.14017c590
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.14017c590
mov dword [rsp + 0x54], 0
sub r12d, eax
cmp r12d, ebp
jae 0x140160c27
mov dword [rsp + 0x54], ebp
xor ebp, ebp
mov dword [rsp + 0x68], 0
cmp r12d, edi
jae 0x140160dc8
mov dword [rsp + 0x68], edi
xor edi, edi
jmp 0x140160dc8
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 0x1401612e3
test ebp, ebp
je 0x1401612e3
mov rdx, r12
mov r8, qword [rsp + 0x28]
lea rcx, [rbx + 4]
sub rdx, rax
add rdx, rbx
call fcn.140179390
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 0x1401612cc
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 0x140160da8
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 0x1401612dc
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 0x140160e00
cmp dword [rsp + 0x68], 0
je 0x1401610c4
test edi, edi
jne 0x1401610cd
jmp 0x1401610c4
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 0x140160fbd
test edi, edi
je 0x140160fbd
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.140179390
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 0x140160f51
movups xmm3, xmmword [r12]
movups xmmword [rcx], xmm3
cmp r14, 0x10
jbe 0x140160f5c
mov rax, qword [rsi + 0x18]
movups xmm4, xmmword [r12 + 0x10]
movups xmmword [rax + 0x10], xmm4
cmp r14, 0x20
jle 0x140160f5c
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 0x140160f2f
jmp 0x140160f5c
mov r8, r13
mov rdx, r12
call fcn.140180130
add qword [rsi + 0x18], r14
mov rdx, qword [rsi + 8]
cmp r14, 0xffff
jbe 0x140160f81
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 0x140160fac
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 0x1401612b4
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 0x140161043
cmp qword [r14], r13
jne 0x140161043
mov r8, qword [rsp + 0x28]
lea rdx, [r14 + 8]
lea rcx, [rbx + 8]
mov r13, rbx
mov qword [rsp + 0x88], r9
call fcn.140179390
mov r9, qword [rsp + 0x88]
lea r11, [rax + 8]
mov eax, ebx
sub eax, r14d
cmp r12, r13
jae 0x1401611bd
cmp qword [rsp + 0x60], r14
jae 0x1401611bd
mov bl, byte [r14 - 1]
cmp byte [r13 - 1], bl
jne 0x1401611bd
dec r13
dec r14
inc r11
jmp 0x140161016
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 0x140161077
add r10, r15
mov edx, dword [rbx]
cmp dword [r10], edx
jne 0x140161077
cmp dword [rsp + 0x58], eax
jb 0x140161109
jmp 0x14016115e
cmp r9, qword [rsp + 0x88]
jb 0x1401610a2
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 0x140160de8
mov r9, rcx
jmp 0x140160e68
test edi, edi
cmove edi, dword [rsp + 0x68]
jmp 0x1401610d5
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 0x14016115e
mov r8, qword [rsp + 0x28]
lea rcx, [r9 + 8]
lea rdx, [r14 + 8]
mov qword [rsp + 0x88], r9
call fcn.140179390
mov r9, qword [rsp + 0x88]
lea r11, [rax + 8]
mov eax, r9d
mov r13, r9
sub eax, r14d
cmp r12, r13
jae 0x1401611bd
cmp qword [rsp + 0x60], r14
jae 0x1401611bd
mov bl, byte [r14 - 1]
cmp byte [r13 - 1], bl
jne 0x1401611bd
dec r13
dec r14
inc r11
jmp 0x14016113d
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.140179390
mov r10, qword [rsp + 0x88]
mov r9, qword [rsp + 0x98]
lea r11, [rax + 4]
mov eax, ebx
sub eax, r10d
cmp r12, r13
jae 0x1401611bd
cmp qword [rsp + 0x60], r10
jae 0x1401611bd
mov bl, byte [r10 - 1]
cmp byte [r13 - 1], bl
jne 0x1401611bd
dec r13
dec r10
inc r11
jmp 0x14016119c
cmp qword [rsp + 0x80], 3
ja 0x1401611d9
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 0x140161244
movups xmm1, xmmword [r12]
movups xmmword [rcx], xmm1
cmp rbx, 0x10
jbe 0x140161257
mov rdx, qword [rsi + 0x18]
movups xmm2, xmmword [r12 + 0x10]
movups xmmword [rdx + 0x10], xmm2
cmp rbx, 0x20
jle 0x140161257
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 0x140161222
jmp 0x140161257
mov r8, r13
mov rdx, r12
mov dword [rsp + 0x48], eax
call fcn.140180130
mov eax, dword [rsp + 0x48]
add qword [rsi + 0x18], rbx
mov rdx, qword [rsi + 8]
cmp rbx, 0xffff
jbe 0x14016127c
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 0x1401612a3
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 0x140160c43
mov r12, rbx
jmp 0x140160dce
mov r8, rbx
mov rdx, rbx
call fcn.140180130
jmp 0x140160d78
xchg ebp, edi
jmp 0x140160ce0
xchg edi, ebp
jmp 0x140160dc3
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 0x140163974
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 0x140163a1d
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 0x140163b69
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 0x14015f6d0
cmp dword [rsp + 0x40], 6
mov r8, qword [rbx]
je 0x140163b88
cmp dword [rsp + 0x40], 7
je 0x140163b94
cmp dword [rsp + 0x40], 5
je 0x140163b7c
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 0x140163bae
cmp r14d, dword [rsp + 0x38]
ja 0x140163cf8
cmp ebp, dword [rsp + 0x38]
ja 0x140163e00
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 0x140163a4b
jmp 0x1401642f2
movabs rax, 0xcf1bbcdcbb000000
jmp 0x140163b9e
movabs rax, 0xcf1bbcdcbf9b0000
jmp 0x140163b9e
movabs rax, 0xcf1bbcdcbfa56300
imul rax, r8
mov cl, byte [rsp + 0x44]
shr rax, cl
jmp 0x140163a80
mov edx, dword [rsp + 0xa0]
sub edx, eax
cmp edx, 2
jbe 0x140163b2f
mov edx, eax
add rdx, rdi
mov edi, dword [rdx]
cmp dword [rbx + 1], edi
jne 0x140163b2f
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.1401797e0
lea r9, [rsi - 0x20]
sub rdi, r13
mov rcx, qword [r12 + 0x18]
cmp rbx, r9
mov r11, rax
lea rax, [rax + 4]
ja 0x140163c64
movups xmm0, xmmword [r13]
movups xmmword [rcx], xmm0
cmp rdi, 0x10
jbe 0x140163c7f
mov rdx, qword [r12 + 0x18]
movups xmm1, xmmword [r13 + 0x10]
movups xmmword [rdx + 0x10], xmm1
cmp rdi, 0x20
jle 0x140163c7f
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 0x140163c43
jmp 0x140163c7f
mov r8, rbx
mov rdx, r13
mov qword [rsp + 0xa8], rax
call fcn.140180130
mov rax, qword [rsp + 0xa8]
add qword [r12 + 0x18], rdi
cmp rdi, 0xffff
mov rdx, qword [r12 + 8]
jbe 0x140163cab
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 0x140163cda
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 0x140164031
mov edi, r14d
add rdi, r11
cmp qword [rdi], r8
jne 0x140163b3a
cmp dword [rsp + 0x3c], r14d
ja 0x140163d18
mov rbp, qword [rsp + 0x48]
mov r9, rsi
jmp 0x140163d25
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.1401797e0
mov r11d, dword [rsp + 0x50]
add rax, 8
sub r11d, r14d
cmp rbx, r13
jbe 0x140163d68
cmp rdi, rbp
jbe 0x140163d68
mov dl, byte [rdi - 1]
cmp byte [rbx - 1], dl
jne 0x140163d68
dec rbx
dec rdi
inc rax
jmp 0x140163d4b
mov rdi, rbx
lea r9, [rsi - 0x20]
mov rcx, qword [r12 + 0x18]
lea ebp, [r11 + 3]
sub rdi, r13
cmp rbx, r9
ja 0x140163dcf
movups xmm4, xmmword [r13]
movups xmmword [rcx], xmm4
cmp rdi, 0x10
jbe 0x140163dea
mov rdx, qword [r12 + 0x18]
movups xmm5, xmmword [r13 + 0x10]
movups xmmword [rdx + 0x10], xmm5
cmp rdi, 0x20
jle 0x140163dea
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 0x140163dae
jmp 0x140163dea
mov r8, rbx
mov rdx, r13
mov qword [rsp + 0x80], rax
call fcn.140180130
mov rax, qword [rsp + 0x80]
add qword [r12 + 0x18], rdi
mov rdx, qword [r12 + 8]
cmp rdi, 0xffff
jmp 0x140163fdc
mov edi, ebp
add rdi, r10
mov eax, dword [rdi]
cmp dword [rbx], eax
jne 0x140163b44
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 0x140163ee9
mov eax, r10d
add r14, rax
cmp rdx, qword [r14]
jne 0x140163ee9
cmp dword [rsp + 0x3c], r10d
ja 0x140163e7a
mov rdi, qword [rsp + 0x48]
mov r9, rsi
jmp 0x140163e87
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.1401797e0
mov r11d, dword [rsp + 0x80]
mov r10d, dword [rsp + 0xa8]
add rax, 8
sub r11d, r10d
cmp rbx, r13
jbe 0x140163f49
cmp r14, rdi
jbe 0x140163f49
mov dl, byte [r14 - 1]
cmp byte [rbx - 1], dl
jne 0x140163f49
dec rbx
dec r14
inc rax
jmp 0x140163ecb
cmp dword [rsp + 0x3c], ebp
ja 0x140163ef9
mov r14, qword [rsp + 0x48]
mov r9, rsi
jmp 0x140163f06
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.1401797e0
mov r11d, dword [rsp + 0x50]
add rax, 4
sub r11d, ebp
cmp rbx, r13
jbe 0x140163f49
cmp rdi, r14
jbe 0x140163f49
mov dl, byte [rdi - 1]
cmp byte [rbx - 1], dl
jne 0x140163f49
dec rbx
dec rdi
inc rax
jmp 0x140163f2c
mov rdi, rbx
lea r9, [rsi - 0x20]
mov rcx, qword [r12 + 0x18]
lea ebp, [r11 + 3]
sub rdi, r13
cmp rbx, r9
ja 0x140163fb0
movups xmm2, xmmword [r13]
movups xmmword [rcx], xmm2
cmp rdi, 0x10
jbe 0x140163fcb
mov rdx, qword [r12 + 0x18]
movups xmm3, xmmword [r13 + 0x10]
movups xmmword [rdx + 0x10], xmm3
cmp rdi, 0x20
jle 0x140163fcb
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 0x140163f8f
jmp 0x140163fcb
mov r8, rbx
mov rdx, r13
mov qword [rsp + 0x80], rax
call fcn.140180130
mov rax, qword [rsp + 0x80]
mov rdx, qword [r12 + 8]
add qword [r12 + 0x18], rdi
cmp rdi, 0xffff
jbe 0x140163ff7
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 0x140164023
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 0x140163b5e
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 0x1401640c3
cmp dword [rsp + 0x40], 7
je 0x1401640cf
cmp dword [rsp + 0x40], 5
je 0x1401640b7
imul eax, dword [r9], 0x9e3779b1
mov ecx, 0x20
sub ecx, dword [rsp + 0x70]
shr eax, cl
jmp 0x1401640e4
movabs rcx, 0xcf1bbcdcbb000000
jmp 0x1401640d9
movabs rcx, 0xcf1bbcdcbf9b0000
jmp 0x1401640d9
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 0x14016412d
cmp dword [rsp + 0x40], 7
je 0x140164139
cmp dword [rsp + 0x40], 5
je 0x140164121
imul eax, dword [rbx - 1], 0x9e3779b1
mov ecx, 0x20
sub ecx, dword [rsp + 0x70]
shr eax, cl
jmp 0x14016414f
movabs rax, 0xcf1bbcdcbb000000
jmp 0x140164143
movabs rax, 0xcf1bbcdcbf9b0000
jmp 0x140164143
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 0x14016418a
mov rdx, qword [rsp + 0x58]
add rdx, rcx
mov ecx, dword [rsp + 0xa0]
add ecx, r15d
sub ecx, r13d
cmp ecx, 2
jbe 0x1401642ea
mov ecx, r13d
sub ecx, dword [rsp + 0x38]
cmp ecx, r15d
jb 0x1401642ea
mov ecx, dword [rdx]
cmp dword [rbx], ecx
jne 0x1401642ea
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.1401797e0
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 0x140164208
movups xmm0, xmmword [rbx]
movups xmmword [rcx], xmm0
jmp 0x140164213
mov r8, rbx
mov rdx, rbx
call fcn.140180130
mov rdx, qword [r12 + 8]
inc r14
mov word [rdx + 4], 0
mov dword [rdx], 1
cmp r14, 0xffff
jbe 0x140164249
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 0x14016428e
cmp dword [rsp + 0x40], 7
je 0x140164297
cmp dword [rsp + 0x40], 5
je 0x140164282
imul eax, dword [rbx], 0x9e3779b1
mov ecx, 0x20
sub ecx, dword [rsp + 0x70]
shr eax, cl
jmp 0x1401642ac
movabs rax, 0xcf1bbcdcbb000000
jmp 0x1401642a1
mov rax, rdx
imul rax, rdi
jmp 0x1401642a5
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 0x140164164
mov r13, rbx
jmp 0x140163b5e
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