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

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], r8
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xa0
mov r13, qword [rcx + 8]
mov r10, rcx
mov rax, qword [rcx + 0x30]
mov rdi, r9
mov r9d, dword [rcx + 0xc8]
mov rbp, rdx
mov edx, dword [rcx + 0xc4]
mov ebx, 1
mov r14d, dword [r10 + 0x18]
mov rsi, rdi
mov r11, qword [rsp + 0x100]
mov r15d, dword [r10 + 0x20]
mov qword [rsp + 0x68], rax
mov rax, qword [rcx + 0x40]
mov ecx, dword [rcx + 0xc0]
lea r8, [rdi + r11]
sub r11d, r13d
shl ebx, cl
mov ecx, dword [r10 + 0x1c]
add r11d, edi
mov qword [rsp + 0x50], rax
lea rax, [r8 - 8]
mov qword [rsp + 0x88], rax
mov eax, r11d
sub eax, ecx
mov qword [rsp + 0x60], r13
sub r11d, ebx
mov qword [rsp + 0x30], r8
cmp eax, ebx
cmovbe r11d, ecx
test r15d, r15d
cmovne r11d, ecx
cmp r14d, r11d
mov dword [rsp + 0x48], r11d
mov r12d, r11d
cmova r12d, r14d
mov eax, r12d
mov dword [rsp + 0x40], r12d
lea rcx, [r12 + r13]
mov r13, qword [r10 + 0x10]
mov r10, qword [rsp + 0xf0]
add rax, r13
mov qword [rsp + 0x78], rcx
mov qword [rsp + 0x80], rax
mov ecx, r11d
mov eax, dword [r10]
add rcx, r13
mov dword [rsp + 0xe0], eax
mov eax, dword [r10 + 4]
mov dword [rsp + 0xf8], eax
mov qword [rsp + 0x70], r13
mov qword [rsp + 0x90], rcx
cmp r12d, r11d
jne 0x18004bc31
mov rcx, qword [rsp + 0x100]
mov rsi, qword [rsp + 0x60]
sub ecx, esi
add ecx, edi
mov eax, ecx
sub ecx, ebx
sub eax, r14d
cmp eax, ebx
cmovbe ecx, r14d
test r15d, r15d
cmovne ecx, r14d
xor r12d, r12d
mov qword [rsp + 0x100], rcx
mov eax, r12d
add rcx, rsi
mov dword [rsp + 0x3c], r12d
cmp edi, ecx
mov qword [rsp + 0x70], rcx
mov r10d, r12d
sete al
lea r11, [rax + rdi]
mov r8d, r11d
sub r8d, esi
mov eax, r8d
mov ecx, r8d
sub ecx, ebx
sub eax, r14d
cmp eax, ebx
mov eax, dword [rsp + 0xf8]
cmovbe ecx, r14d
test r15d, r15d
cmovne ecx, r14d
sub r8d, ecx
cmp eax, r8d
jbe 0x18004b043
mov r10d, eax
mov dword [rsp + 0x3c], eax
mov eax, r12d
mov dword [rsp + 0xf8], eax
mov r14d, dword [rsp + 0xe0]
cmp r14d, r8d
jbe 0x18004b063
mov r10d, r14d
mov dword [rsp + 0x3c], r14d
mov r14d, r12d
mov dword [rsp + 0xe0], r12d
cmp r11, qword [rsp + 0x88]
jae 0x18004bbdb
mov r13d, dword [rsp + 0x108]
mov ecx, 0x40
mov r15d, ecx
mov ebx, 0x20
sub r15d, edx
sub ebx, edx
sub ecx, r9d
mov dword [rsp + 0x58], r15d
mov dword [rsp + 0x38], ecx
movabs rsi, 0xcf1bbcdcb7a56463
mov qword [rsp + 0x40], rbx
movabs r9, 0xcf1bbcdcbfa56300
mov r8, qword [r11]
mov eax, r13d
mov rdx, r8
imul rdx, rsi
mov r10, rdx
shr r10, cl
sub eax, 4
je 0x18004b119
sub eax, 1
je 0x18004b103
sub eax, 1
je 0x18004b0ed
sub eax, 1
je 0x18004b0e1
cmp eax, 1
jne 0x18004b119
mov ecx, r15d
jmp 0x18004b123
mov rdx, r8
mov ecx, r15d
imul rdx, r9
jmp 0x18004b123
mov rdx, r8
movabs rax, 0xcf1bbcdcbf9b0000
imul rdx, rax
mov ecx, r15d
jmp 0x18004b123
mov rdx, r8
movabs rax, 0xcf1bbcdcbb000000
imul rdx, rax
mov ecx, r15d
jmp 0x18004b123
imul edx, r8d, 0x9e3779b1
mov rcx, rbx
mov rax, qword [rsp + 0x68]
mov r13d, r11d
mov r9, qword [rsp + 0x60]
shr rdx, cl
sub r13d, r9d
mov rcx, qword [rsp + 0x50]
mov r8d, dword [rax + r10*4]
add r9, r8
mov esi, dword [rcx + rdx*4]
mov dword [rcx + rdx*4], r13d
mov ebx, esi
add rbx, qword [rsp + 0x60]
mov ecx, r12d
mov dword [rax + r10*4], r13d
mov rdx, r11
mov eax, r14d
lea r14, [r11 + 1]
sub rdx, rax
mov eax, dword [r14]
cmp dword [rdx + 1], eax
mov eax, r12d
sete cl
cmp dword [rsp + 0xe0], r12d
seta al
test eax, ecx
je 0x18004b3a3
mov r9, qword [rsp + 0x30]
lea rcx, [rdx + 5]
add r11, 5
mov r8, r11
lea rdx, [r9 - 7]
cmp r11, rdx
jae 0x18004b1e9
mov rax, qword [rcx]
xor rax, qword [r11]
je 0x18004b1bb
bsf rax, rax
je 0x18004b1b4
shr eax, 3
mov edx, eax
jmp 0x18004b231
mov eax, r12d
mov edx, eax
jmp 0x18004b231
add r11, 8
add rcx, 8
cmp r11, rdx
jae 0x18004b1e9
nop dword [rax + rax]
mov rax, qword [rcx]
xor rax, qword [r11]
jne 0x18004b2b0
add r11, 8
add rcx, 8
cmp r11, rdx
jb 0x18004b1d0
lea rax, [r9 - 3]
cmp r11, rax
jae 0x18004b201
mov eax, dword [r11]
cmp dword [rcx], eax
jne 0x18004b201
add r11, 4
add rcx, 4
lea rax, [r9 - 1]
cmp r11, rax
jae 0x18004b21b
movzx eax, word [r11]
cmp word [rcx], ax
jne 0x18004b21b
add r11, 2
add rcx, 2
cmp r11, r9
jae 0x18004b22b
movzx eax, byte [r11]
cmp byte [rcx], al
jne 0x18004b22b
inc r11
mov rdx, r11
sub rdx, r8
mov r8, qword [rbp + 0x18]
add rdx, 4
mov rbx, r14
add r9, 0xffffffffffffffe0
sub rbx, rdi
mov r11, r14
lea rsi, [rdx - 3]
cmp r14, r9
ja 0x18004b2d6
movups xmm0, xmmword [rdi]
movups xmmword [r8], xmm0
cmp rbx, 0x10
jbe 0x18004b342
mov rcx, qword [rbp + 0x18]
lea rax, [rbx - 0x10]
movups xmm0, xmmword [rdi + 0x10]
add rcx, 0x10
lea r8, [rcx + rax]
movups xmmword [rcx], xmm0
cmp rax, 0x10
jle 0x18004b342
add rcx, 0x10
add rdi, 0x20
nop dword [rax]
movups xmm0, xmmword [rdi]
lea rdi, [rdi + 0x20]
movups xmmword [rcx], xmm0
movups xmm0, xmmword [rdi - 0x10]
movups xmmword [rcx + 0x10], xmm0
add rcx, 0x20
cmp rcx, r8
jb 0x18004b290
jmp 0x18004b342
bsf rcx, rax
je 0x18004b2c6
shr ecx, 3
mov edx, ecx
sub rdx, r8
add rdx, r11
jmp 0x18004b231
mov ecx, r12d
mov edx, ecx
sub rdx, r8
add rdx, r11
jmp 0x18004b231
cmp rdi, r9
ja 0x18004b327
movups xmm0, xmmword [rdi]
mov rax, r9
sub rax, rdi
movups xmmword [r8], xmm0
lea r10, [rax + r8]
cmp rax, 0x10
jle 0x18004b31b
lea rax, [r8 + 0x10]
lea rcx, [rdi + 0x10]
nop word [rax + rax]
movups xmm0, xmmword [rcx]
lea rcx, [rcx + 0x20]
movups xmmword [rax], xmm0
movups xmm0, xmmword [rcx - 0x10]
movups xmmword [rax + 0x10], xmm0
add rax, 0x20
cmp rax, r10
jb 0x18004b300
mov rax, r9
sub rax, rdi
mov rdi, r9
add r8, rax
cmp rdi, r14
jae 0x18004b342
nop dword [rax]
movzx eax, byte [rdi]
inc rdi
mov byte [r8], al
lea r8, [r8 + 1]
cmp rdi, r14
jb 0x18004b330
add qword [rbp + 0x18], rbx
cmp rbx, 0xffff
jbe 0x18004b365
mov rax, qword [rbp + 8]
sub rax, qword [rbp]
sar rax, 3
mov dword [rbp + 0x4c], eax
mov dword [rbp + 0x48], 1
mov rax, qword [rbp + 8]
mov word [rax + 4], bx
mov rax, qword [rbp + 8]
mov dword [rax], 1
cmp rsi, 0xffff
jbe 0x18004b396
mov rax, qword [rbp + 8]
sub rax, qword [rbp]
sar rax, 3
mov dword [rbp + 0x4c], eax
mov dword [rbp + 0x48], 2
mov rax, qword [rbp + 8]
mov word [rax + 6], si
jmp 0x18004b784
mov r10, qword [rsp + 0x100]
cmp r8d, r10d
jbe 0x18004b502
mov rax, qword [r11]
cmp qword [r9], rax
jne 0x18004b502
mov rbx, qword [rsp + 0x30]
lea rcx, [r11 + 8]
lea rdx, [r9 + 8]
mov r10, rcx
lea r8, [rbx - 7]
cmp rcx, r8
jae 0x18004b429
mov rax, qword [rcx]
xor rax, qword [rdx]
je 0x18004b3fd
bsf rax, rax
mov dword [rsp + 0xf8], r12d
je 0x18004b3f6
shr eax, 3
mov edx, eax
jmp 0x18004b46e
mov eax, r12d
mov edx, eax
jmp 0x18004b46e
add rcx, 8
add rdx, 8
cmp rcx, r8
jae 0x18004b429
nop word [rax + rax]
mov rax, qword [rcx]
xor rax, qword [rdx]
jne 0x18004b4d8
add rcx, 8
add rdx, 8
cmp rcx, r8
jb 0x18004b410
lea rax, [rbx - 3]
cmp rcx, rax
jae 0x18004b440
mov eax, dword [rcx]
cmp dword [rdx], eax
jne 0x18004b440
add rcx, 4
add rdx, 4
lea rax, [rbx - 1]
cmp rcx, rax
jae 0x18004b459
movzx eax, word [rcx]
cmp word [rdx], ax
jne 0x18004b459
add rcx, 2
add rdx, 2
cmp rcx, rbx
jae 0x18004b468
movzx eax, byte [rcx]
cmp byte [rdx], al
jne 0x18004b468
inc rcx
mov rdx, rcx
sub rdx, r10
mov rsi, qword [rsp + 0x70]
add rdx, 8
mov ecx, r12d
mov eax, r12d
mov r15d, r11d
sub r15d, r9d
cmp r11, rdi
seta cl
cmp r9, rsi
seta al
test eax, ecx
je 0x18004b62f
nop word [rax + rax]
lea rax, [r9 - 1]
mov r9, rax
lea r8, [r11 - 1]
movzx eax, byte [rax]
cmp byte [r8], al
jne 0x18004b62f
inc rdx
mov ecx, r12d
cmp r9, rsi
mov eax, r12d
mov r11, r8
seta cl
cmp r8, rdi
seta al
test eax, ecx
jne 0x18004b4a0
jmp 0x18004b62f
bsf rdx, rax
mov dword [rsp + 0xf8], r12d
je 0x18004b4f4
shr edx, 3
sub rdx, r10
add rdx, rcx
jmp 0x18004b46e
mov edx, r12d
sub rdx, r10
add rdx, rcx
jmp 0x18004b46e
cmp esi, r10d
jbe 0x18004bc07
mov eax, dword [r11]
cmp dword [rbx], eax
jne 0x18004bc07
mov rax, qword [r14]
movabs rcx, 0xcf1bbcdcb7a56463
imul rax, rcx
mov ecx, dword [rsp + 0x38]
shr rax, cl
mov rcx, qword [rsp + 0x68]
mov edx, dword [rcx + rax*4]
lea rcx, [rcx + rax*4]
mov esi, edx
lea eax, [r13 + 1]
add rsi, qword [rsp + 0x60]
mov dword [rcx], eax
cmp edx, r10d
jbe 0x18004b5c7
mov rax, qword [r14]
cmp qword [rsi], rax
jne 0x18004b5c7
mov r8, qword [rsp + 0x30]
lea rdx, [rsi + 8]
lea rcx, [r11 + 9]
call fcn.1800576e0
mov r9, qword [rsp + 0x70]
mov ecx, r12d
mov r15d, r14d
mov r11, r14
sub r15d, esi
cmp rsi, r9
lea rdx, [rax + 8]
mov eax, r12d
seta cl
cmp r14, rdi
seta al
test eax, ecx
je 0x18004b62f
lea rax, [rsi - 1]
mov rsi, rax
lea r8, [r11 - 1]
movzx eax, byte [rax]
cmp byte [r8], al
jne 0x18004b62f
inc rdx
mov ecx, r12d
cmp rsi, r9
mov eax, r12d
mov r11, r8
seta cl
cmp r8, rdi
seta al
test eax, ecx
jne 0x18004b592
jmp 0x18004b62f
mov r8, qword [rsp + 0x30]
lea rdx, [rbx + 4]
lea rcx, [r11 + 4]
call fcn.1800576e0
mov rsi, qword [rsp + 0x70]
mov ecx, r12d
mov r15d, r11d
sub r15d, ebx
cmp r11, rdi
lea rdx, [rax + 4]
mov eax, r12d
seta cl
cmp rbx, rsi
seta al
test eax, ecx
je 0x18004b62f
nop
lea rax, [rbx - 1]
mov rbx, rax
lea r8, [r11 - 1]
movzx eax, byte [rax]
cmp byte [r8], al
jne 0x18004b62f
inc rdx
mov ecx, r12d
cmp r8, rdi
mov eax, r12d
mov r11, r8
seta cl
cmp rbx, rsi
seta al
test eax, ecx
jne 0x18004b600
mov eax, dword [rsp + 0xe0]
lea r14, [rdx - 3]
mov r10, qword [rsp + 0x30]
mov rbx, r11
mov r8, qword [rbp + 0x18]
sub rbx, rdi
add r10, 0xffffffffffffffe0
mov dword [rsp + 0xf8], eax
mov dword [rsp + 0xe0], r15d
lea r9, [rdi + rbx]
cmp r9, r10
ja 0x18004b6bd
movups xmm0, xmmword [rdi]
movups xmmword [r8], xmm0
cmp rbx, 0x10
jbe 0x18004b722
mov rcx, qword [rbp + 0x18]
lea rax, [rbx - 0x10]
movups xmm0, xmmword [rdi + 0x10]
add rcx, 0x10
lea r8, [rcx + rax]
movups xmmword [rcx], xmm0
cmp rax, 0x10
jle 0x18004b722
add rcx, 0x10
add rdi, 0x20
nop
movups xmm0, xmmword [rdi]
lea rdi, [rdi + 0x20]
movups xmmword [rcx], xmm0
movups xmm0, xmmword [rdi - 0x10]
movups xmmword [rcx + 0x10], xmm0
add rcx, 0x20
cmp rcx, r8
jb 0x18004b6a0
jmp 0x18004b722
cmp rdi, r10
ja 0x18004b708
movups xmm0, xmmword [rdi]
mov rax, r10
sub rax, rdi
movups xmmword [r8], xmm0
lea rsi, [rax + r8]
cmp rax, 0x10
jle 0x18004b6fc
lea rax, [r8 + 0x10]
lea rcx, [rdi + 0x10]
movups xmm0, xmmword [rcx]
lea rcx, [rcx + 0x20]
movups xmmword [rax], xmm0
movups xmm0, xmmword [rcx - 0x10]
movups xmmword [rax + 0x10], xmm0
add rax, 0x20
cmp rax, rsi
jb 0x18004b6e1
mov rax, r10
sub rax, rdi
mov rdi, r10
add r8, rax
cmp rdi, r9
jae 0x18004b722
nop dword [rax]
movzx eax, byte [rdi]
inc rdi
mov byte [r8], al
lea r8, [r8 + 1]
cmp rdi, r9
jb 0x18004b710
add qword [rbp + 0x18], rbx
cmp rbx, 0xffff
jbe 0x18004b745
mov rax, qword [rbp + 8]
sub rax, qword [rbp]
sar rax, 3
mov dword [rbp + 0x4c], eax
mov dword [rbp + 0x48], 1
mov rax, qword [rbp + 8]
lea ecx, [r15 + 3]
mov word [rax + 4], bx
mov rax, qword [rbp + 8]
mov dword [rax], ecx
cmp r14, 0xffff
jbe 0x18004b776
mov rax, qword [rbp + 8]
sub rax, qword [rbp]
sar rax, 3
mov dword [rbp + 0x4c], eax
mov dword [rbp + 0x48], 2
mov rax, qword [rbp + 8]
mov r15d, dword [rsp + 0x58]
mov word [rax + 6], r14w
add qword [rbp + 8], 8
add r11, rdx
movabs rsi, 0xcf1bbcdcb7a56463
mov rdi, r11
cmp r11, qword [rsp + 0x88]
ja 0x18004bc24
mov rbx, qword [rsp + 0x60]
lea r8d, [r13 + 2]
mov ecx, dword [rsp + 0x38]
mov edx, r11d
mov rdi, qword [rsp + 0x68]
sub edx, ebx
mov r13d, dword [rsp + 0x108]
sub edx, 2
mov r9d, r8d
mov r10d, r11d
add r9, rbx
sub r10d, ebx
mov rax, qword [r9]
imul rax, rsi
shr rax, cl
mov dword [rdi + rax*4], r8d
mov rax, qword [r11 - 2]
imul rax, rsi
shr rax, cl
mov dword [rdi + rax*4], edx
mov eax, r13d
sub eax, 4
je 0x18004b8fb
sub eax, 1
je 0x18004b8bf
sub eax, 1
je 0x18004b880
sub eax, 1
je 0x18004b841
cmp eax, 1
jne 0x18004b8fb
mov rax, qword [r9]
mov ecx, r15d
mov r9, qword [rsp + 0x50]
mov r14, qword [rsp + 0x40]
imul rax, rsi
shr rax, cl
mov dword [r9 + rax*4], r8d
mov rdx, qword [r11 - 1]
imul rdx, rsi
jmp 0x18004b94f
mov rax, qword [r9]
movabs rcx, 0xcf1bbcdcbfa56300
mov r9, qword [rsp + 0x50]
mov r14, qword [rsp + 0x40]
imul rax, rcx
mov ecx, r15d
shr rax, cl
mov dword [r9 + rax*4], r8d
mov rdx, qword [r11 - 1]
movabs rax, 0xcf1bbcdcbfa56300
imul rdx, rax
mov ecx, r15d
jmp 0x18004b94f
mov rax, qword [r9]
movabs rcx, 0xcf1bbcdcbf9b0000
mov r9, qword [rsp + 0x50]
mov r14, qword [rsp + 0x40]
imul rax, rcx
mov ecx, r15d
shr rax, cl
mov dword [r9 + rax*4], r8d
mov rdx, qword [r11 - 1]
movabs rax, 0xcf1bbcdcbf9b0000
imul rdx, rax
mov ecx, r15d
jmp 0x18004b94f
mov rax, qword [r9]
movabs rcx, 0xcf1bbcdcbb000000
mov r9, qword [rsp + 0x50]
mov r14, qword [rsp + 0x40]
imul rax, rcx
mov ecx, r15d
shr rax, cl
mov dword [r9 + rax*4], r8d
mov rdx, qword [r11 - 1]
movabs rax, 0xcf1bbcdcbb000000
imul rdx, rax
mov ecx, r15d
jmp 0x18004b94f
imul edx, dword [r9], 0x9e3779b1
mov eax, r13d
mov r14, qword [rsp + 0x40]
mov r9, qword [rsp + 0x50]
mov rcx, r14
shr rdx, cl
mov dword [r9 + rdx*4], r8d
sub eax, 4
je 0x18004b947
sub eax, 1
je 0x18004b8e4
sub eax, 1
je 0x18004b8a5
sub eax, 1
je 0x18004b866
cmp eax, 1
jne 0x18004b947
mov rdx, qword [r11 - 1]
mov ecx, r15d
imul rdx, rsi
jmp 0x18004b94f
imul edx, dword [r11 - 1], 0x9e3779b1
shr rdx, cl
lea eax, [r10 - 1]
mov rdi, r11
mov dword [r9 + rdx*4], eax
cmp r11, qword [rsp + 0x88]
ja 0x18004bbae
mov rsi, qword [rsp + 0x30]
mov r9d, dword [rsp + 0xf8]
lea rbx, [rsi - 0x20]
nop dword [rax]
mov r10d, dword [r11]
mov ecx, r12d
mov eax, r9d
mov rdx, r11
sub rdx, rax
mov eax, r12d
cmp r10d, dword [rdx]
sete cl
test r9d, r9d
setne al
test eax, ecx
je 0x18004bb9c
lea rax, [r11 + 4]
add rdx, 4
lea r8, [rsi - 7]
mov r9, rax
cmp rax, r8
jae 0x18004b9fc
mov rcx, qword [rax]
xor rcx, qword [rdx]
je 0x18004b9d6
bsf rax, rcx
je 0x18004b9cf
shr eax, 3
mov ecx, eax
jmp 0x18004ba41
mov eax, r12d
mov ecx, eax
jmp 0x18004ba41
add rax, 8
add rdx, 8
cmp rax, r8
jae 0x18004b9fc
mov rcx, qword [rax]
xor rcx, qword [rdx]
jne 0x18004ba99
add rax, 8
add rdx, 8
cmp rax, r8
jb 0x18004b9e3
lea rcx, [rsi - 3]
cmp rax, rcx
jae 0x18004ba13
mov ecx, dword [rax]
cmp dword [rdx], ecx
jne 0x18004ba13
add rax, 4
add rdx, 4
lea rcx, [rsi - 1]
cmp rax, rcx
jae 0x18004ba2c
movzx ecx, word [rax]
cmp word [rdx], cx
jne 0x18004ba2c
add rax, 2
add rdx, 2
cmp rax, rsi
jae 0x18004ba3b
movzx ecx, byte [rax]
cmp byte [rdx], cl
jne 0x18004ba3b
inc rax
mov rcx, rax
sub rcx, r9
mov eax, dword [rsp + 0xf8]
lea r8, [rcx + 4]
mov r9d, dword [rsp + 0xe0]
mov dword [rsp + 0xe0], eax
mov eax, r13d
mov dword [rsp + 0xf8], r9d
sub eax, 4
je 0x18004bafb
sub eax, 1
je 0x18004bae5
sub eax, 1
je 0x18004bacf
sub eax, 1
je 0x18004bab9
cmp eax, 1
jne 0x18004bafb
mov rax, qword [r11]
movabs rcx, 0xcf1bbcdcb7a56463
imul rax, rcx
mov ecx, r15d
jmp 0x18004bb05
bsf rdx, rcx
je 0x18004baac
shr edx, 3
mov ecx, edx
sub rcx, r9
add rcx, rax
jmp 0x18004ba41
mov edx, r12d
mov ecx, edx
sub rcx, r9
add rcx, rax
jmp 0x18004ba41
mov rax, qword [r11]
movabs rcx, 0xcf1bbcdcbfa56300
imul rax, rcx
mov ecx, r15d
jmp 0x18004bb05
mov rax, qword [r11]
movabs rcx, 0xcf1bbcdcbf9b0000
imul rax, rcx
mov ecx, r15d
jmp 0x18004bb05
mov rax, qword [r11]
movabs rcx, 0xcf1bbcdcbb000000
imul rax, rcx
mov ecx, r15d
jmp 0x18004bb05
imul eax, r10d, 0x9e3779b1
mov rcx, r14
shr rax, cl
mov edx, r11d
sub edx, dword [rsp + 0x60]
mov rcx, qword [rsp + 0x50]
mov dword [rcx + rax*4], edx
movabs rcx, 0xcf1bbcdcb7a56463
mov rax, qword [r11]
imul rax, rcx
mov ecx, dword [rsp + 0x38]
shr rax, cl
mov rcx, qword [rsp + 0x68]
mov dword [rcx + rax*4], edx
lea rcx, [r8 - 3]
cmp rdi, rbx
ja 0x18004bb4a
mov rax, qword [rbp + 0x18]
movups xmm0, xmmword [rdi]
movups xmmword [rax], xmm0
mov rax, qword [rbp + 8]
mov word [rax + 4], r12w
mov rax, qword [rbp + 8]
mov dword [rax], 1
cmp rcx, 0xffff
jbe 0x18004bb7c
mov rax, qword [rbp + 8]
sub rax, qword [rbp]
sar rax, 3
mov dword [rbp + 0x4c], eax
mov dword [rbp + 0x48], 2
mov rax, qword [rbp + 8]
add r11, r8
mov rdi, r11
mov word [rax + 6], cx
lea rax, [rsi - 8]
add qword [rbp + 8], 8
cmp r11, rax
jbe 0x18004b980
movabs rsi, 0xcf1bbcdcb7a56463
cmp r11, qword [rsp + 0x88]
mov rbx, qword [rsp + 0x40]
movabs r9, 0xcf1bbcdcbfa56300
mov r14d, dword [rsp + 0xe0]
mov ecx, dword [rsp + 0x38]
jb 0x18004b0b0
mov r10d, dword [rsp + 0x3c]
mov eax, dword [rsp + 0xf8]
mov r8, qword [rsp + 0xf0]
test r14d, r14d
mov ecx, r10d
cmovne ecx, r14d
test eax, eax
cmovne r10d, eax
mov dword [r8], ecx
mov rax, qword [rsp + 0x30]
sub rax, rdi
mov dword [r8 + 4], r10d
jmp 0x18004c950
mov r13d, dword [rsp + 0x108]
mov rax, r11
sub rax, rdi
inc r11
sar rax, 8
add r11, rax
jmp 0x18004bb9c
mov r13d, dword [rsp + 0x108]
jmp 0x18004bba6
lea rcx, [r8 - 8]
cmp rdi, rcx
jae 0x18004c93c
mov r11d, dword [rsp + 0x108]
mov ebx, 0x40
mov ecx, ebx
mov r8d, 0x20
sub ebx, r9d
sub ecx, edx
sub r8d, edx
mov dword [rsp + 0x100], ecx
xor r10d, r10d
mov qword [rsp + 0x98], r8
mov dword [rsp + 0x38], ebx
movabs r9, 0xcf1bbcdcb7a56463
movabs r14, 0xcf1bbcdcbfa56300
movabs r15, 0xcf1bbcdcbf9b0000
nop
mov eax, r11d
sub eax, 4
je 0x18004bcda
sub eax, 1
je 0x18004bcc7
sub eax, 1
je 0x18004bcbe
sub eax, 1
je 0x18004bcb5
cmp eax, 1
jne 0x18004bcda
mov rdx, qword [rdi]
imul rdx, r9
jmp 0x18004bce3
mov rdx, qword [rdi]
imul rdx, r14
jmp 0x18004bce3
mov rdx, qword [rdi]
imul rdx, r15
jmp 0x18004bce3
mov rdx, qword [rdi]
movabs rax, 0xcf1bbcdcbb000000
imul rdx, rax
jmp 0x18004bce3
imul edx, dword [rdi], 0x9e3779b1
mov rcx, r8
mov r11, qword [rsp + 0x60]
mov rax, qword [rsp + 0x50]
mov r15, r11
shr rdx, cl
mov r14, r11
mov ecx, ebx
mov ebx, edi
mov r8d, dword [rax + rdx*4]
mov rax, qword [rdi]
cmp r8d, r12d
mov dword [rsp + 0x58], r8d
cmovb r15, r13
imul rax, r9
add r15, r8
shr rax, cl
mov rcx, qword [rsp + 0x68]
mov r13d, dword [rcx + rax*4]
lea rcx, [rcx + rax*4]
cmp r13d, r12d
cmovb r14, qword [rsp + 0x70]
sub ebx, r11d
add r14, r13
mov dword [rcx], ebx
mov ecx, r10d
mov dword [rsp + 0x3c], ebx
mov r9d, ebx
sub r9d, dword [rsp + 0xe0]
inc r9d
cmp r9d, r12d
mov eax, r9d
cmovb r11, qword [rsp + 0x70]
add r11, rax
mov rax, qword [rsp + 0x50]
mov dword [rax + rdx*4], ebx
mov eax, r12d
sub eax, r9d
dec eax
cmp eax, 3
mov eax, r10d
setae cl
cmp r9d, dword [rsp + 0x48]
seta al
test eax, ecx
je 0x18004bf50
mov eax, dword [rdi + 1]
lea r12, [rdi + 1]
cmp dword [r11], eax
jne 0x18004bf4b
mov rdx, qword [rsp + 0x30]
lea r14, [rdi + 5]
mov r15d, dword [rsp + 0x40]
mov rbx, rdx
cmp r9d, r15d
mov r8, rdx
mov rcx, r14
cmovb rbx, qword [rsp + 0x80]
add r11, 4
sub rcx, r11
add rcx, rbx
cmp rcx, rdx
mov rdx, r11
cmovb r8, rcx
mov rcx, r14
call fcn.1800576e0
mov rdi, rax
lea rcx, [rax + r11]
cmp rcx, rbx
je 0x18004bde4
mov r14, qword [rsp + 0x30]
jmp 0x18004bdfd
mov rdx, qword [rsp + 0x78]
lea rcx, [rax + r14]
mov r14, qword [rsp + 0x30]
mov r8, r14
call fcn.1800576e0
add rdi, rax
mov rdx, qword [rbp + 0x18]
lea r8, [rdi + 4]
mov r11, r12
lea r9, [r14 - 0x20]
sub r11, rsi
lea rbx, [r8 - 3]
mov rdi, r12
cmp r12, r9
ja 0x18004be7d
movups xmm0, xmmword [rsi]
movups xmmword [rdx], xmm0
cmp r11, 0x10
jbe 0x18004bee1
mov rcx, qword [rbp + 0x18]
lea rax, [r11 - 0x10]
movups xmm0, xmmword [rsi + 0x10]
add rcx, 0x10
lea rdx, [rcx + rax]
movups xmmword [rcx], xmm0
cmp rax, 0x10
jle 0x18004bee1
add rcx, 0x10
add rsi, 0x20
nop dword [rax]
nop dword [rax + rax]
movups xmm0, xmmword [rsi]
lea rsi, [rsi + 0x20]
movups xmmword [rcx], xmm0
movups xmm0, xmmword [rsi - 0x10]
movups xmmword [rcx + 0x10], xmm0
add rcx, 0x20
cmp rcx, rdx
jb 0x18004be60
jmp 0x18004bee1
cmp rsi, r9
ja 0x18004bec7
movups xmm0, xmmword [rsi]
mov rax, r9
sub rax, rsi
movups xmmword [rdx], xmm0
lea r10, [rax + rdx]
cmp rax, 0x10
jle 0x18004bebb
lea rax, [rdx + 0x10]
lea rcx, [rsi + 0x10]
movups xmm0, xmmword [rcx]
lea rcx, [rcx + 0x20]
movups xmmword [rax], xmm0
movups xmm0, xmmword [rcx - 0x10]
movups xmmword [rax + 0x10], xmm0
add rax, 0x20
cmp rax, r10
jb 0x18004bea0
mov rax, r9
sub rax, rsi
mov rsi, r9
add rdx, rax
cmp rsi, r12
jae 0x18004bee1
nop dword [rax]
movzx eax, byte [rsi]
inc rsi
mov byte [rdx], al
lea rdx, [rdx + 1]
cmp rsi, r12
jb 0x18004bed0
add qword [rbp + 0x18], r11
cmp r11, 0xffff
jbe 0x18004bf04
mov rax, qword [rbp + 8]
sub rax, qword [rbp]
sar rax, 3
mov dword [rbp + 0x4c], eax
mov dword [rbp + 0x48], 1
mov rax, qword [rbp + 8]
mov word [rax + 4], r11w
mov rax, qword [rbp + 8]
mov dword [rax], 1
cmp rbx, 0xffff
jbe 0x18004bf36
mov rax, qword [rbp + 8]
sub rax, qword [rbp]
sar rax, 3
mov dword [rbp + 0x4c], eax
mov dword [rbp + 0x48], 2
mov rax, qword [rbp + 8]
mov word [rax + 6], bx
add qword [rbp + 8], 8
xor r13d, r13d
jmp 0x18004c4a8
mov r12d, dword [rsp + 0x40]
mov r11d, dword [rsp + 0x48]
cmp r13d, r11d
jbe 0x18004c180
mov rax, qword [rdi]
cmp qword [r14], rax
jne 0x18004c180
mov rdx, qword [rsp + 0x30]
lea r11, [r14 + 8]
mov r15, qword [rsp + 0x78]
lea rcx, [rdi + 8]
cmp r13d, r12d
mov rbx, rdx
mov r8, rdx
cmovb rbx, qword [rsp + 0x80]
cmovb r15, qword [rsp + 0x90]
sub rcx, r11
add rcx, rbx
cmp rcx, rdx
mov rdx, r11
cmovb r8, rcx
lea rcx, [rdi + 8]
call fcn.1800576e0
mov r12, rax
lea rcx, [rax + r11]
mov r11, qword [rsp + 0x30]
cmp rcx, rbx
jne 0x18004bfd8
mov rdx, qword [rsp + 0x78]
lea rcx, [rdi + 8]
add rcx, rax
mov r8, r11
call fcn.1800576e0
add r12, rax
lea r8, [r12 + 8]
mov r12d, dword [rsp + 0x3c]
sub r12d, r13d
xor r13d, r13d
cmp r14, r15
mov ecx, r13d
mov eax, r13d
seta cl
cmp rdi, rsi
seta al
test eax, ecx
je 0x18004c02e
nop
lea rax, [r14 - 1]
mov r14, rax
lea rdx, [rdi - 1]
movzx eax, byte [rax]
cmp byte [rdx], al
jne 0x18004c02e
inc r8
mov ecx, r13d
cmp r14, r15
mov eax, r13d
mov rdi, rdx
seta cl
cmp rdx, rsi
seta al
test eax, ecx
jne 0x18004c000
mov eax, dword [rsp + 0xe0]
lea r10, [r11 - 0x20]
mov rdx, qword [rbp + 0x18]
lea r14, [r8 - 3]
mov rbx, rdi
mov dword [rsp + 0xf8], eax
sub rbx, rsi
mov dword [rsp + 0xe0], r12d
lea r9, [rbx + rsi]
cmp r9, r10
ja 0x18004c0bd
movups xmm0, xmmword [rsi]
movups xmmword [rdx], xmm0
cmp rbx, 0x10
jbe 0x18004c121
mov rcx, qword [rbp + 0x18]
lea rax, [rbx - 0x10]
movups xmm0, xmmword [rsi + 0x10]
add rcx, 0x10
lea rdx, [rcx + rax]
movups xmmword [rcx], xmm0
cmp rax, 0x10
jle 0x18004c121
add rcx, 0x10
add rsi, 0x20
nop dword [rax + rax]
movups xmm0, xmmword [rsi]
lea rsi, [rsi + 0x20]
movups xmmword [rcx], xmm0
movups xmm0, xmmword [rsi - 0x10]
movups xmmword [rcx + 0x10], xmm0
add rcx, 0x20
cmp rcx, rdx
jb 0x18004c0a0
jmp 0x18004c121
cmp rsi, r10
ja 0x18004c107
movups xmm0, xmmword [rsi]
mov rax, r10
sub rax, rsi
movups xmmword [rdx], xmm0
lea r11, [rax + rdx]
cmp rax, 0x10
jle 0x18004c0fb
lea rax, [rdx + 0x10]
lea rcx, [rsi + 0x10]
movups xmm0, xmmword [rcx]
lea rcx, [rcx + 0x20]
movups xmmword [rax], xmm0
movups xmm0, xmmword [rcx - 0x10]
movups xmmword [rax + 0x10], xmm0
add rax, 0x20
cmp rax, r11
jb 0x18004c0e0
mov rax, r10
sub rax, rsi
mov rsi, r10
add rdx, rax
cmp rsi, r9
jae 0x18004c121
nop dword [rax]
movzx eax, byte [rsi]
inc rsi
mov byte [rdx], al
lea rdx, [rdx + 1]
cmp rsi, r9
jb 0x18004c110
add qword [rbp + 0x18], rbx
cmp rbx, 0xffff
jbe 0x18004c144
mov rax, qword [rbp + 8]
sub rax, qword [rbp]
sar rax, 3
mov dword [rbp + 0x4c], eax
mov dword [rbp + 0x48], 1
mov rax, qword [rbp + 8]
lea ecx, [r12 + 3]
mov word [rax + 4], bx
mov rax, qword [rbp + 8]
mov dword [rax], ecx
cmp r14, 0xffff
jbe 0x18004c176
mov rax, qword [rbp + 8]
sub rax, qword [rbp]
sar rax, 3
mov dword [rbp + 0x4c], eax
mov dword [rbp + 0x48], 2
mov r15d, dword [rsp + 0x40]
jmp 0x18004c495
cmp r8d, r11d
jbe 0x18004c8ad
mov eax, dword [rdi]
cmp dword [r15], eax
jne 0x18004c8ad
mov rax, qword [rdi + 1]
lea r13, [rdi + 1]
mov edx, dword [rsp + 0x40]
movabs rcx, 0xcf1bbcdcb7a56463
mov rbx, qword [rsp + 0x60]
mov r14d, dword [rsp + 0x3c]
imul rax, rcx
mov ecx, dword [rsp + 0x38]
shr rax, cl
mov rcx, qword [rsp + 0x68]
mov r12d, dword [rcx + rax*4]
lea rcx, [rcx + rax*4]
cmp r12d, edx
lea eax, [r14 + 1]
mov dword [rcx], eax
cmovb rbx, qword [rsp + 0x70]
add rbx, r12
cmp r12d, r11d
jbe 0x18004c2a7
mov rax, qword [r13]
cmp qword [rbx], rax
jne 0x18004c2a7
mov rax, qword [rsp + 0x78]
lea rcx, [rdi + 9]
mov r8, qword [rsp + 0x30]
cmp r12d, edx
mov r9, r8
mov qword [rsp + 0x20], rax
cmovb r9, qword [rsp + 0x80]
mov r14, rax
cmovb r14, qword [rsp + 0x90]
mov r15d, edx
lea rdx, [rbx + 8]
call fcn.1800577a0
mov r11d, dword [rsp + 0x3c]
xor edx, edx
sub r11d, r12d
mov rdi, r13
inc r11d
cmp r13, rsi
mov dword [rsp + 0x58], r11d
lea r8, [rax + 8]
seta dl
xor r13d, r13d
cmp rbx, r14
mov ecx, r13d
seta cl
test ecx, edx
je 0x18004c343
nop dword [rax]
nop word [rax + rax]
lea rax, [rbx - 1]
mov rbx, rax
lea rdx, [rdi - 1]
movzx eax, byte [rax]
cmp byte [rdx], al
jne 0x18004c343
inc r8
mov ecx, r13d
cmp rdx, rsi
mov eax, r13d
mov rdi, rdx
seta cl
cmp rbx, r14
seta al
test eax, ecx
jne 0x18004c270
jmp 0x18004c343
mov rax, qword [rsp + 0x78]
lea rcx, [rdi + 4]
mov r9, qword [rsp + 0x30]
cmp r8d, edx
mov r8, qword [rsp + 0x30]
lea rdx, [r15 + 4]
cmovb r9, qword [rsp + 0x80]
mov rbx, rax
cmovb rbx, qword [rsp + 0x90]
mov qword [rsp + 0x20], rax
call fcn.1800577a0
xor r13d, r13d
mov r11d, r14d
sub r11d, dword [rsp + 0x58]
mov ecx, r13d
cmp r15, rbx
mov dword [rsp + 0x58], r11d
lea r8, [rax + 4]
mov eax, r13d
seta cl
cmp rdi, rsi
seta al
test eax, ecx
je 0x18004c33e
nop word [rax + rax]
lea rax, [r15 - 1]
mov r15, rax
lea rdx, [rdi - 1]
movzx eax, byte [rax]
cmp byte [rdx], al
jne 0x18004c33e
inc r8
mov ecx, r13d
cmp rdx, rsi
mov eax, r13d
mov rdi, rdx
seta cl
cmp r15, rbx
seta al
test eax, ecx
jne 0x18004c310
mov r15d, dword [rsp + 0x40]
mov eax, dword [rsp + 0xe0]
lea r14, [r8 - 3]
mov r10, qword [rsp + 0x30]
mov rbx, rdi
mov rdx, qword [rbp + 0x18]
sub rbx, rsi
add r10, 0xffffffffffffffe0
mov dword [rsp + 0xf8], eax
mov dword [rsp + 0xe0], r11d
lea r9, [rbx + rsi]
cmp r9, r10
ja 0x18004c3cf
movups xmm0, xmmword [rsi]
movups xmmword [rdx], xmm0
cmp rbx, 0x10
jbe 0x18004c441
mov rcx, qword [rbp + 0x18]
lea rax, [rbx - 0x10]
movups xmm0, xmmword [rsi + 0x10]
add rcx, 0x10
lea rdx, [rcx + rax]
movups xmmword [rcx], xmm0
cmp rax, 0x10
jle 0x18004c441
add rcx, 0x10
add rsi, 0x20
movups xmm0, xmmword [rsi]
lea rsi, [rsi + 0x20]
movups xmmword [rcx], xmm0
movups xmm0, xmmword [rsi - 0x10]
movups xmmword [rcx + 0x10], xmm0
add rcx, 0x20
cmp rcx, rdx
jb 0x18004c3b2
jmp 0x18004c441
cmp rsi, r10
ja 0x18004c41e
movups xmm0, xmmword [rsi]
mov rax, r10
sub rax, rsi
movups xmmword [rdx], xmm0
lea r11, [rax + rdx]
cmp rax, 0x10
jle 0x18004c40d
lea rax, [rdx + 0x10]
lea rcx, [rsi + 0x10]
movups xmm0, xmmword [rcx]
lea rcx, [rcx + 0x20]
movups xmmword [rax], xmm0
movups xmm0, xmmword [rcx - 0x10]
movups xmmword [rax + 0x10], xmm0
add rax, 0x20
cmp rax, r11
jb 0x18004c3f2
mov r11d, dword [rsp + 0x58]
mov rax, r10
sub rax, rsi
mov rsi, r10
add rdx, rax
cmp rsi, r9
jae 0x18004c441
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rsi]
inc rsi
mov byte [rdx], al
lea rdx, [rdx + 1]
cmp rsi, r9
jb 0x18004c430
add qword [rbp + 0x18], rbx
cmp rbx, 0xffff
jbe 0x18004c464
mov rax, qword [rbp + 8]
sub rax, qword [rbp]
sar rax, 3
mov dword [rbp + 0x4c], eax
mov dword [rbp + 0x48], 1
mov rax, qword [rbp + 8]
lea ecx, [r11 + 3]
mov word [rax + 4], bx
mov rax, qword [rbp + 8]
mov dword [rax], ecx
cmp r14, 0xffff
jbe 0x18004c495
mov rax, qword [rbp + 8]
sub rax, qword [rbp]
sar rax, 3
mov dword [rbp + 0x4c], eax
mov dword [rbp + 0x48], 2
mov rax, qword [rbp + 8]
mov word [rax + 6], r14w
mov r14, qword [rsp + 0x30]
add qword [rbp + 8], 8
add rdi, r8
lea r10, [r14 - 8]
mov rsi, rdi
cmp rdi, r10
ja 0x18004c8d4
mov rbx, qword [rsp + 0x60]
movabs rsi, 0xcf1bbcdcb7a56463
mov r11, qword [rsp + 0x68]
mov edx, edi
mov ecx, dword [rsp + 0x38]
sub edx, ebx
mov r8d, dword [rsp + 0x3c]
sub edx, 2
add r8d, 2
mov r10d, edi
mov r9d, r8d
sub r10d, ebx
add r9, rbx
mov rax, qword [r9]
imul rax, rsi
shr rax, cl
mov dword [r11 + rax*4], r8d
mov rax, qword [rdi - 2]
imul rax, rsi
shr rax, cl
mov dword [r11 + rax*4], edx
mov r11d, dword [rsp + 0x108]
mov eax, r11d
sub eax, 4
je 0x18004c626
sub eax, 1
je 0x18004c5e7
sub eax, 1
je 0x18004c5a5
sub eax, 1
je 0x18004c563
cmp eax, 1
jne 0x18004c626
mov rax, qword [r9]
mov ecx, dword [rsp + 0x100]
mov r9, qword [rsp + 0x50]
imul rax, rsi
shr rax, cl
mov dword [r9 + rax*4], r8d
mov rdx, qword [rdi - 1]
imul rdx, rsi
jmp 0x18004c67d
mov rax, qword [r9]
movabs rcx, 0xcf1bbcdcbfa56300
mov r9, qword [rsp + 0x50]
imul rax, rcx
mov ecx, dword [rsp + 0x100]
shr rax, cl
mov dword [r9 + rax*4], r8d
mov rdx, qword [rdi - 1]
movabs rax, 0xcf1bbcdcbfa56300
mov ecx, dword [rsp + 0x100]
imul rdx, rax
jmp 0x18004c67d
mov rax, qword [r9]
movabs rcx, 0xcf1bbcdcbf9b0000
mov r9, qword [rsp + 0x50]
imul rax, rcx
mov ecx, dword [rsp + 0x100]
shr rax, cl
mov dword [r9 + rax*4], r8d
mov rdx, qword [rdi - 1]
movabs rax, 0xcf1bbcdcbf9b0000
mov ecx, dword [rsp + 0x100]
imul rdx, rax
jmp 0x18004c67d
mov rax, qword [r9]
movabs rcx, 0xcf1bbcdcbb000000
mov r9, qword [rsp + 0x50]
imul rax, rcx
mov ecx, dword [rsp + 0x100]
shr rax, cl
mov dword [r9 + rax*4], r8d
mov rdx, qword [rdi - 1]
movabs rax, 0xcf1bbcdcbb000000
mov ecx, dword [rsp + 0x100]
imul rdx, rax
jmp 0x18004c67d
imul edx, dword [r9], 0x9e3779b1
mov eax, r11d
mov rcx, qword [rsp + 0x98]
mov r9, qword [rsp + 0x50]
shr rdx, cl
mov dword [r9 + rdx*4], r8d
sub eax, 4
je 0x18004c676
sub eax, 1
je 0x18004c60b
sub eax, 1
je 0x18004c5c9
sub eax, 1
je 0x18004c587
cmp eax, 1
jne 0x18004c676
mov rdx, qword [rdi - 1]
mov ecx, dword [rsp + 0x100]
imul rdx, rsi
jmp 0x18004c67d
imul edx, dword [rdi - 1], 0x9e3779b1
shr rdx, cl
lea eax, [r10 - 1]
lea r10, [r14 - 8]
mov rsi, rdi
mov dword [r9 + rdx*4], eax
cmp rdi, r10
ja 0x18004c8dc
jmp 0x18004c6a3
mov r14, r8
mov r12d, edi
sub r12d, ebx
mov edx, r12d
sub edx, dword [rsp + 0xf8]
mov eax, edx
cmp edx, r15d
jae 0x18004c6c4
mov r11, qword [rsp + 0x70]
add r11, rax
jmp 0x18004c6c8
lea r11, [rdx + rbx]
mov ecx, r13d
mov eax, r15d
sub eax, edx
dec eax
cmp eax, 3
mov eax, r13d
setae cl
cmp edx, dword [rsp + 0x48]
seta al
test eax, ecx
je 0x18004c8d4
mov eax, dword [rdi]
cmp dword [r11], eax
jne 0x18004c8c7
cmp edx, r15d
mov rbx, r14
lea r15, [rdi + 4]
mov r8, r14
cmovb rbx, qword [rsp + 0x80]
mov rcx, r15
add r11, 4
sub rcx, r11
mov rdx, r11
add rcx, rbx
cmp rcx, r14
cmovb r8, rcx
mov rcx, r15
call fcn.1800576e0
mov r14, rax
lea rcx, [rax + r11]
cmp rcx, rbx
jne 0x18004c74c
mov r8, qword [rsp + 0x30]
lea rcx, [rax + r15]
mov rdx, qword [rsp + 0x78]
call fcn.1800576e0
add r14, rax
mov eax, dword [rsp + 0xf8]
add r14, 4
mov ecx, dword [rsp + 0xe0]
mov r8, qword [rsp + 0x30]
mov dword [rsp + 0xe0], eax
mov dword [rsp + 0xf8], ecx
lea rcx, [r14 - 3]
lea rax, [r8 - 0x20]
cmp rsi, rax
ja 0x18004c788
mov rax, qword [rbp + 0x18]
movups xmm0, xmmword [rsi]
movups xmmword [rax], xmm0
mov rax, qword [rbp + 8]
mov word [rax + 4], r13w
mov rax, qword [rbp + 8]
mov dword [rax], 1
cmp rcx, 0xffff
jbe 0x18004c7ba
mov rax, qword [rbp + 8]
sub rax, qword [rbp]
sar rax, 3
mov dword [rbp + 0x4c], eax
mov dword [rbp + 0x48], 2
mov rax, qword [rbp + 8]
mov r11d, dword [rsp + 0x108]
mov word [rax + 6], cx
mov eax, r11d
add qword [rbp + 8], 8
sub eax, 4
je 0x18004c853
sub eax, 1
je 0x18004c839
sub eax, 1
je 0x18004c81f
sub eax, 1
je 0x18004c805
cmp eax, 1
jne 0x18004c853
mov rax, qword [rdi]
movabs rcx, 0xcf1bbcdcb7a56463
imul rax, rcx
mov ecx, dword [rsp + 0x100]
jmp 0x18004c861
mov rax, qword [rdi]
movabs rcx, 0xcf1bbcdcbfa56300
imul rax, rcx
mov ecx, dword [rsp + 0x100]
jmp 0x18004c861
mov rax, qword [rdi]
movabs rcx, 0xcf1bbcdcbf9b0000
imul rax, rcx
mov ecx, dword [rsp + 0x100]
jmp 0x18004c861
mov rax, qword [rdi]
movabs rcx, 0xcf1bbcdcbb000000
imul rax, rcx
mov ecx, dword [rsp + 0x100]
jmp 0x18004c861
imul eax, dword [rdi], 0x9e3779b1
mov rcx, qword [rsp + 0x98]
mov r9, qword [rsp + 0x50]
lea r10, [r8 - 8]
mov r15d, dword [rsp + 0x40]
mov rbx, qword [rsp + 0x60]
shr rax, cl
movabs rcx, 0xcf1bbcdcb7a56463
mov dword [r9 + rax*4], r12d
mov rax, qword [rdi]
add rdi, r14
imul rax, rcx
mov ecx, dword [rsp + 0x38]
mov rsi, rdi
shr rax, cl
mov rcx, qword [rsp + 0x68]
mov dword [rcx + rax*4], r12d
cmp rdi, r10
jbe 0x18004c6a0
jmp 0x18004c8dc
mov r11d, dword [rsp + 0x108]
mov rax, rdi
sub rax, rsi
inc rdi
sar rax, 8
add rdi, rax
jmp 0x18004c8df
mov r11d, dword [rsp + 0x108]
xor r10d, r10d
jmp 0x18004c8df
mov r11d, dword [rsp + 0x108]
xor r10d, r10d
movabs r9, 0xcf1bbcdcb7a56463
mov ecx, dword [rsp + 0x100]
movabs r14, 0xcf1bbcdcbfa56300
mov r12d, dword [rsp + 0x40]
movabs r15, 0xcf1bbcdcbf9b0000
mov r8, qword [rsp + 0x98]
mov r13, qword [rsp + 0x70]
mov ebx, dword [rsp + 0x38]
cmp rdi, qword [rsp + 0x88]
jb 0x18004bc90
mov r8, qword [rsp + 0x30]
mov eax, dword [rsp + 0xf8]
mov r10, qword [rsp + 0xf0]
mov ecx, dword [rsp + 0xe0]
sub r8, rsi
mov dword [r10 + 4], eax
mov rax, r8
mov dword [r10], ecx
mov rbx, qword [rsp + 0xe8]
add rsp, 0xa0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret