Function at 0x14002ceb0
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 r8, qword [rcx + 8]
mov r10, rcx
mov r13, qword [rcx + 0x60]
mov rsi, rdx
mov r14, qword [rcx + 0x70]
mov rdi, r9
mov ebx, dword [rcx + 0xf8]
mov rbp, r9
mov r11d, dword [rcx + 0xf4]
mov edx, 1
mov ecx, dword [rcx + 0xf0]
mov r9, qword [rsp + 0x100]
shl edx, cl
mov r15d, r9d
mov ecx, dword [r10 + 0x1c]
sub r15d, r8d
add r15d, edi
mov qword [rsp + 0x78], r8
lea r12, [rbp + r9]
mov qword [rsp + 0x80], r13
lea rax, [r12 - 8]
mov qword [rsp + 0x50], r14
mov qword [rsp + 0x98], rax
mov eax, r15d
sub eax, ecx
mov qword [rsp + 0x30], r12
sub r15d, edx
cmp eax, edx
cmovbe r15d, ecx
cmp dword [r10 + 0x28], 0
cmovne r15d, ecx
cmp dword [r10 + 0x18], r15d
mov ecx, r15d
mov dword [rsp + 0x58], r15d
cmova ecx, dword [r10 + 0x18]
mov eax, ecx
mov dword [rsp + 0x3c], ecx
lea rdx, [rcx + r8]
mov r8d, r15d
mov qword [rsp + 0x48], rdx
mov rdx, qword [r10 + 0x10]
add r8, rdx
mov qword [rsp + 0x70], rdx
add rax, rdx
mov qword [rsp + 0x88], r8
mov rdx, qword [rsp + 0xf0]
mov qword [rsp + 0x60], rax
mov r8d, dword [rdx]
mov eax, dword [rdx + 4]
mov dword [rsp + 0xe0], r8d
mov dword [rsp + 0x38], eax
cmp ecx, r15d
jne 0x14002d03c
mov ecx, dword [r10 + 0x100]
sub ecx, 4
je 0x14002d021
sub ecx, 1
je 0x14002d006
sub ecx, 1
je 0x14002cfeb
cmp ecx, 1
jne 0x14002d021
mov qword [rsp + 0x20], r9
mov r8, rdx
mov r9, rbp
mov rdx, rsi
mov rcx, r10
call fcn.1400300c0
jmp 0x14002dcca
mov qword [rsp + 0x20], r9
mov r8, rdx
mov r9, rdi
mov rdx, rsi
mov rcx, r10
call fcn.14002f4c0
jmp 0x14002dcca
mov qword [rsp + 0x20], r9
mov r8, rdx
mov r9, rdi
mov rdx, rsi
mov rcx, r10
call fcn.14002e8c0
jmp 0x14002dcca
mov qword [rsp + 0x20], r9
mov r8, rdx
mov r9, rdi
mov rdx, rsi
mov rcx, r10
call fcn.14002dcf0
jmp 0x14002dcca
lea rcx, [r12 - 8]
cmp rdi, rcx
jae 0x14002dcbe
mov r9d, 0x40
mov r8d, 0x20
sub r8d, r11d
mov ecx, r9d
sub ecx, r11d
mov qword [rsp + 0x90], r8
sub r9d, ebx
mov dword [rsp + 0x100], ecx
mov ebx, dword [rsp + 0x108]
movabs r10, 0xcf1bbcdcb7a56463
mov dword [rsp + 0xf8], r9d
movabs r11, 0xcf1bbcdcbfa56300
movabs r15, 0xcf1bbcdcbf9b0000
nop
mov eax, ebx
sub eax, 4
je 0x14002d0e9
sub eax, 1
je 0x14002d0d6
sub eax, 1
je 0x14002d0cd
sub eax, 1
je 0x14002d0c4
cmp eax, 1
jne 0x14002d0e9
mov rdx, qword [rdi]
imul rdx, r10
jmp 0x14002d0f2
mov rdx, qword [rdi]
imul rdx, r11
jmp 0x14002d0f2
mov rdx, qword [rdi]
imul rdx, r15
jmp 0x14002d0f2
mov rdx, qword [rdi]
movabs rax, 0xcf1bbcdcbb000000
imul rdx, rax
jmp 0x14002d0f2
imul edx, dword [rdi], 0x9e3779b1
mov rcx, r8
mov r11, qword [rsp + 0x78]
mov r10d, edi
mov ebx, dword [rsp + 0x3c]
mov r15, r11
mov rax, qword [rdi]
shr rdx, cl
movabs rcx, 0xcf1bbcdcb7a56463
mov r8d, dword [r14 + rdx*4]
mov r14, r11
cmp r8d, ebx
mov dword [rsp + 0x44], r8d
cmovb r15, qword [rsp + 0x70]
imul rax, rcx
mov ecx, r9d
add r15, r8
shr rax, cl
lea rcx, [rax*4]
add rcx, r13
mov r13d, dword [rcx]
cmp r13d, ebx
cmovb r14, qword [rsp + 0x70]
sub r10d, r11d
add r14, r13
mov dword [rcx], r10d
mov r9d, r10d
mov dword [rsp + 0x40], r10d
sub r9d, dword [rsp + 0xe0]
mov ecx, ebx
inc r9d
cmp r9d, ebx
mov eax, r9d
cmovb r11, qword [rsp + 0x70]
add r11, rax
mov rax, qword [rsp + 0x50]
mov dword [rax + rdx*4], r10d
xor edx, edx
mov eax, r10d
sub eax, dword [rsp + 0x58]
inc eax
cmp dword [rsp + 0xe0], eax
setbe dl
sub ecx, r9d
xor eax, eax
dec ecx
cmp ecx, 3
setae al
test eax, edx
je 0x14002d316
mov eax, dword [rdi + 1]
lea r12, [rdi + 1]
cmp dword [r11], eax
jne 0x14002d311
mov rdx, qword [rsp + 0x30]
lea r14, [rdi + 5]
cmp r9d, dword [rsp + 0x3c]
mov rbx, rdx
mov r8, rdx
mov rcx, r14
cmovb rbx, qword [rsp + 0x60]
add r11, 4
sub rcx, r11
add rcx, rbx
cmp rcx, rdx
mov rdx, r11
cmovb r8, rcx
mov rcx, r14
call fcn.140020fb0
mov rdi, rax
add rax, r11
cmp rax, rbx
je 0x14002d205
mov r14, qword [rsp + 0x30]
jmp 0x14002d21e
mov rdx, qword [rsp + 0x48]
lea rcx, [rdi + r14]
mov r14, qword [rsp + 0x30]
mov r8, r14
call fcn.140020fb0
add rdi, rax
lea r9, [r14 - 0x20]
lea rbx, [rdi + 4]
mov qword [rsp + 0x68], r9
mov rdi, r12
sub r12, rbp
lea r8, [r12 + rbp]
cmp r8, r9
ja 0x14002d2a2
mov rax, qword [rsi + 0x18]
movdqu xmm0, xmmword [rbp]
movdqu xmmword [rax], xmm0
cmp r12, 0x10
jbe 0x14002d2ae
mov rcx, qword [rsi + 0x18]
lea rax, [r12 - 0x10]
movdqu xmm0, xmmword [rbp + 0x10]
add rcx, 0x10
lea rdx, [rcx + rax]
movdqu xmmword [rcx], xmm0
cmp rax, 0x10
jle 0x14002d2ae
add rcx, 0x10
add rbp, 0x20
nop word [rax + rax]
movdqu xmm0, xmmword [rbp]
lea rbp, [rbp + 0x20]
movdqu xmmword [rcx], xmm0
movdqu xmm0, xmmword [rbp - 0x10]
movdqu xmmword [rcx + 0x10], xmm0
add rcx, 0x20
cmp rcx, rdx
jb 0x14002d280
jmp 0x14002d2ae
mov rcx, qword [rsi + 0x18]
mov rdx, rbp
call fcn.140029a90
add qword [rsi + 0x18], r12
mov rcx, qword [rsi + 8]
cmp r12, 0xffff
jbe 0x14002d2d3
mov rax, rcx
mov dword [rsi + 0x48], 1
sub rax, qword [rsi]
sar rax, 3
mov dword [rsi + 0x4c], eax
mov word [rcx + 4], r12w
lea rdx, [rbx - 3]
mov rax, qword [rsi + 8]
mov dword [rax], 1
mov rcx, qword [rsi + 8]
cmp rdx, 0xffff
jbe 0x14002d307
mov rax, rcx
mov dword [rsi + 0x48], 2
sub rax, qword [rsi]
sar rax, 3
mov dword [rsi + 0x4c], eax
mov r15d, dword [rsp + 0x38]
jmp 0x14002d7c7
mov r12, qword [rsp + 0x30]
mov edx, dword [rsp + 0x58]
cmp r13d, edx
jbe 0x14002d4b5
mov rax, qword [rdi]
cmp qword [r14], rax
jne 0x14002d4b5
cmp r13d, dword [rsp + 0x3c]
lea r11, [r14 + 8]
mov r15, qword [rsp + 0x48]
lea rcx, [rdi + 8]
cmovb r15, qword [rsp + 0x88]
mov rbx, r12
cmovb rbx, qword [rsp + 0x60]
mov r8, r12
sub rcx, r11
mov rdx, r11
add rcx, rbx
cmp rcx, r12
cmovb r8, rcx
lea rcx, [rdi + 8]
call fcn.140020fb0
mov r12, rax
add rax, r11
mov r11, qword [rsp + 0x30]
cmp rax, rbx
jne 0x14002d396
mov rdx, qword [rsp + 0x48]
lea rcx, [rdi + 8]
add rcx, r12
mov r8, r11
call fcn.140020fb0
add r12, rax
lea rbx, [r12 + 8]
mov r12d, dword [rsp + 0x40]
sub r12d, r13d
xor r13d, r13d
cmp r14, r15
mov ecx, r13d
mov eax, r13d
seta cl
cmp rdi, rbp
seta al
test eax, ecx
je 0x14002d3ec
nop dword [rax]
movzx eax, byte [r14 - 1]
lea rdx, [rdi - 1]
dec r14
cmp byte [rdx], al
jne 0x14002d3ec
inc rbx
mov ecx, r13d
cmp r14, r15
mov eax, r13d
mov rdi, rdx
seta cl
cmp rdx, rbp
seta al
test eax, ecx
jne 0x14002d3c0
mov r15d, dword [rsp + 0xe0]
lea r9, [r11 - 0x20]
mov r14, rdi
mov dword [rsp + 0x38], r15d
sub r14, rbp
mov dword [rsp + 0xe0], r12d
mov qword [rsp + 0x68], r9
lea r8, [r14 + rbp]
cmp r8, r9
ja 0x14002d475
mov rax, qword [rsi + 0x18]
movdqu xmm0, xmmword [rbp]
movdqu xmmword [rax], xmm0
cmp r14, 0x10
jbe 0x14002d481
mov rcx, qword [rsi + 0x18]
lea rax, [r14 - 0x10]
movdqu xmm0, xmmword [rbp + 0x10]
add rcx, 0x10
lea rdx, [rcx + rax]
movdqu xmmword [rcx], xmm0
cmp rax, 0x10
jle 0x14002d481
add rcx, 0x10
add rbp, 0x20
movdqu xmm0, xmmword [rbp]
lea rbp, [rbp + 0x20]
movdqu xmmword [rcx], xmm0
movdqu xmm0, xmmword [rbp - 0x10]
movdqu xmmword [rcx + 0x10], xmm0
add rcx, 0x20
cmp rcx, rdx
jb 0x14002d453
jmp 0x14002d481
mov rcx, qword [rsi + 0x18]
mov rdx, rbp
call fcn.140029a90
add qword [rsi + 0x18], r14
mov rcx, qword [rsi + 8]
cmp r14, 0xffff
jbe 0x14002d4a6
mov rax, rcx
mov dword [rsi + 0x48], 1
sub rax, qword [rsi]
sar rax, 3
mov dword [rsi + 0x4c], eax
mov word [rcx + 4], r14w
lea ecx, [r12 + 3]
jmp 0x14002d797
cmp r8d, edx
jbe 0x14002dc3e
mov eax, dword [rdi]
cmp dword [r15], eax
jne 0x14002dc3e
mov rax, qword [rdi + 1]
lea r13, [rdi + 1]
mov r14, qword [rsp + 0x78]
movabs rcx, 0xcf1bbcdcb7a56463
imul rax, rcx
mov ecx, dword [rsp + 0xf8]
mov r9d, ebx
shr rax, cl
mov rcx, qword [rsp + 0x80]
mov r12d, dword [rcx + rax*4]
lea rcx, [rcx + rax*4]
cmp r12d, ebx
lea eax, [r10 + 1]
mov dword [rcx], eax
cmovb r14, qword [rsp + 0x70]
add r14, r12
cmp r12d, edx
jbe 0x14002d605
mov rax, qword [r13]
cmp qword [r14], rax
jne 0x14002d605
mov rdx, qword [rsp + 0x30]
lea r11, [r14 + 8]
mov r15, qword [rsp + 0x48]
cmp r12d, r9d
lea r9, [rdi + 9]
mov rbx, rdx
cmovb rbx, qword [rsp + 0x60]
mov r8, rdx
cmovb r15, qword [rsp + 0x88]
mov rcx, r9
sub rcx, r11
mov qword [rsp + 0x68], r9
add rcx, rbx
cmp rcx, rdx
mov rdx, r11
cmovb r8, rcx
mov rcx, r9
call fcn.140020fb0
mov rdi, rax
add rax, r11
mov r11, qword [rsp + 0x30]
cmp rax, rbx
jne 0x14002d59b
mov rcx, qword [rsp + 0x68]
mov r8, r11
mov rdx, qword [rsp + 0x48]
add rcx, rdi
call fcn.140020fb0
add rdi, rax
mov r8d, dword [rsp + 0x40]
lea rbx, [rdi + 8]
xor eax, eax
sub r8d, r12d
inc r8d
mov ecx, eax
cmp r13, rbp
mov dword [rsp + 0x44], r8d
mov rdi, r13
seta cl
xor r13d, r13d
cmp r14, r15
seta al
test eax, ecx
je 0x14002d6cc
nop dword [rax]
movzx eax, byte [r14 - 1]
lea rdx, [rdi - 1]
dec r14
cmp byte [rdx], al
jne 0x14002d6cc
inc rbx
mov ecx, r13d
cmp r14, r15
mov eax, r13d
mov rdi, rdx
seta cl
cmp rdx, rbp
seta al
test eax, ecx
jne 0x14002d5d0
jmp 0x14002d6cc
mov rdx, qword [rsp + 0x30]
lea r13, [rdi + 4]
mov r14, qword [rsp + 0x48]
lea r11, [r15 + 4]
cmp r8d, r9d
mov rbx, rdx
mov r8, rdx
mov rcx, r13
cmovb rbx, qword [rsp + 0x60]
cmovb r14, qword [rsp + 0x88]
sub rcx, r11
add rcx, rbx
cmp rcx, rdx
mov rdx, r11
cmovb r8, rcx
mov rcx, r13
call fcn.140020fb0
mov r12, rax
add rax, r11
mov r11, qword [rsp + 0x30]
cmp rax, rbx
jne 0x14002d66e
mov rdx, qword [rsp + 0x48]
lea rcx, [r12 + r13]
mov r8, r11
call fcn.140020fb0
add r12, rax
mov r8d, dword [rsp + 0x40]
lea rbx, [r12 + 4]
sub r8d, dword [rsp + 0x44]
xor r13d, r13d
cmp r15, r14
mov dword [rsp + 0x44], r8d
mov ecx, r13d
mov eax, r13d
seta cl
cmp rdi, rbp
seta al
test eax, ecx
je 0x14002d6cc
nop dword [rax + rax]
movzx eax, byte [r15 - 1]
lea rdx, [rdi - 1]
dec r15
cmp byte [rdx], al
jne 0x14002d6cc
inc rbx
mov ecx, r13d
cmp r15, r14
mov eax, r13d
mov rdi, rdx
seta cl
cmp rdx, rbp
seta al
test eax, ecx
jne 0x14002d6a0
mov r15d, dword [rsp + 0xe0]
lea r9, [r11 - 0x20]
mov r14, rdi
mov dword [rsp + 0x38], r15d
sub r14, rbp
mov dword [rsp + 0xe0], r8d
mov qword [rsp + 0x68], r9
lea rax, [r14 + rbp]
cmp rax, r9
ja 0x14002d755
mov rax, qword [rsi + 0x18]
movdqu xmm0, xmmword [rbp]
movdqu xmmword [rax], xmm0
cmp r14, 0x10
jbe 0x14002d769
mov rcx, qword [rsi + 0x18]
lea rax, [r14 - 0x10]
movdqu xmm0, xmmword [rbp + 0x10]
add rcx, 0x10
lea rdx, [rcx + rax]
movdqu xmmword [rcx], xmm0
cmp rax, 0x10
jle 0x14002d769
add rcx, 0x10
add rbp, 0x20
movdqu xmm0, xmmword [rbp]
lea rbp, [rbp + 0x20]
movdqu xmmword [rcx], xmm0
movdqu xmm0, xmmword [rbp - 0x10]
movdqu xmmword [rcx + 0x10], xmm0
add rcx, 0x20
cmp rcx, rdx
jb 0x14002d733
jmp 0x14002d769
mov rcx, qword [rsi + 0x18]
mov r8, rax
mov rdx, rbp
call fcn.140029a90
mov r8d, dword [rsp + 0x44]
add qword [rsi + 0x18], r14
mov rcx, qword [rsi + 8]
cmp r14, 0xffff
jbe 0x14002d78e
mov rax, rcx
mov dword [rsi + 0x48], 1
sub rax, qword [rsi]
sar rax, 3
mov dword [rsi + 0x4c], eax
mov word [rcx + 4], r14w
lea ecx, [r8 + 3]
mov rax, qword [rsi + 8]
lea rdx, [rbx - 3]
mov dword [rax], ecx
mov rcx, qword [rsi + 8]
cmp rdx, 0xffff
jbe 0x14002d7c2
mov rax, rcx
mov dword [rsi + 0x48], 2
sub rax, qword [rsi]
sar rax, 3
mov dword [rsi + 0x4c], eax
mov r14, qword [rsp + 0x30]
add rdi, rbx
mov word [rcx + 6], dx
add qword [rsi + 8], 8
lea r9, [r14 - 8]
mov rbp, rdi
cmp rdi, r9
ja 0x14002dc4e
mov r11, qword [rsp + 0x78]
movabs r12, 0xcf1bbcdcb7a56463
mov rbx, qword [rsp + 0x80]
mov edx, edi
mov ecx, dword [rsp + 0xf8]
sub edx, r11d
mov r8d, dword [rsp + 0x40]
sub edx, 2
add r8d, 2
mov r10d, edi
mov r9d, r8d
sub r10d, r11d
add r9, r11
mov rax, qword [r9]
imul rax, r12
shr rax, cl
mov dword [rbx + rax*4], r8d
mov rax, qword [rdi - 2]
imul rax, r12
shr rax, cl
mov dword [rbx + rax*4], edx
mov ebx, dword [rsp + 0x108]
mov eax, ebx
sub eax, 4
je 0x14002d928
sub eax, 1
je 0x14002d8fb
sub eax, 1
je 0x14002d8ce
sub eax, 1
je 0x14002d8a1
cmp eax, 1
jne 0x14002d928
mov rax, qword [r9]
mov r9, qword [rsp + 0x50]
mov r13d, dword [rsp + 0x100]
mov ecx, r13d
imul rax, r12
shr rax, cl
mov dword [r9 + rax*4], r8d
lea eax, [r10 - 1]
mov rdx, qword [rdi - 1]
imul rdx, r12
shr rdx, cl
xor r10d, r10d
mov dword [r9 + rdx*4], eax
jmp 0x14002da45
mov rax, qword [r9]
movabs rcx, 0xcf1bbcdcbfa56300
mov r13d, dword [rsp + 0x100]
mov r9, qword [rsp + 0x50]
imul rax, rcx
mov ecx, r13d
shr rax, cl
mov dword [r9 + rax*4], r8d
jmp 0x14002d998
mov rax, qword [r9]
movabs rcx, 0xcf1bbcdcbf9b0000
mov r13d, dword [rsp + 0x100]
mov r9, qword [rsp + 0x50]
imul rax, rcx
mov ecx, r13d
shr rax, cl
mov dword [r9 + rax*4], r8d
jmp 0x14002d9c8
mov rax, qword [r9]
movabs rcx, 0xcf1bbcdcbb000000
mov r13d, dword [rsp + 0x100]
mov r9, qword [rsp + 0x50]
imul rax, rcx
mov ecx, r13d
shr rax, cl
mov dword [r9 + rax*4], r8d
jmp 0x14002d9f5
imul edx, dword [r9], 0x9e3779b1
mov eax, ebx
mov rcx, qword [rsp + 0x90]
mov r9, qword [rsp + 0x50]
shr rdx, cl
mov dword [r9 + rdx*4], r8d
sub eax, 4
je 0x14002da1a
sub eax, 1
je 0x14002d9ed
sub eax, 1
je 0x14002d9c0
sub eax, 1
je 0x14002d990
cmp eax, 1
jne 0x14002da1a
mov rdx, qword [rdi - 1]
lea eax, [r10 - 1]
mov r13d, dword [rsp + 0x100]
mov ecx, r13d
imul rdx, r12
shr rdx, cl
xor r10d, r10d
mov dword [r9 + rdx*4], eax
jmp 0x14002da45
mov r13d, dword [rsp + 0x100]
mov rdx, qword [rdi - 1]
movabs rax, 0xcf1bbcdcbfa56300
imul rdx, rax
lea eax, [r10 - 1]
mov ecx, r13d
shr rdx, cl
xor r10d, r10d
mov dword [r9 + rdx*4], eax
jmp 0x14002da45
mov r13d, dword [rsp + 0x100]
mov rdx, qword [rdi - 1]
movabs rax, 0xcf1bbcdcbf9b0000
imul rdx, rax
lea eax, [r10 - 1]
mov ecx, r13d
shr rdx, cl
xor r10d, r10d
mov dword [r9 + rdx*4], eax
jmp 0x14002da45
mov r13d, dword [rsp + 0x100]
mov rdx, qword [rdi - 1]
movabs rax, 0xcf1bbcdcbb000000
imul rdx, rax
lea eax, [r10 - 1]
mov ecx, r13d
shr rdx, cl
xor r10d, r10d
mov dword [r9 + rdx*4], eax
jmp 0x14002da45
imul edx, dword [rdi - 1], 0x9e3779b1
lea eax, [r10 - 1]
mov r13d, dword [rsp + 0x100]
shr rdx, cl
xor r10d, r10d
mov dword [r9 + rdx*4], eax
jmp 0x14002da45
mov r14, qword [rsp + 0x30]
mov r9d, dword [rsp + 0x3c]
mov edx, r10d
mov rcx, qword [rsp + 0x70]
mov r12d, edi
sub r12d, r11d
mov r8d, r12d
mov eax, r12d
sub r8d, r15d
cmp r8d, r9d
cmovae rcx, r11
sub eax, dword [rsp + 0x58]
mov r11d, r8d
add r11, rcx
mov ecx, r9d
cmp r15d, eax
mov eax, r10d
setbe dl
sub ecx, r8d
dec ecx
cmp ecx, 3
setae al
test eax, edx
je 0x14002dc55
mov eax, dword [rdi]
cmp dword [r11], eax
jne 0x14002dc55
cmp r8d, r9d
lea r15, [rdi + 4]
mov rbx, r14
mov rcx, r15
cmovb rbx, qword [rsp + 0x60]
mov r8, r14
add r11, 4
sub rcx, r11
mov rdx, r11
add rcx, rbx
cmp rcx, r14
cmovb r8, rcx
mov rcx, r15
call fcn.140020fb0
mov r14, rax
add rax, r11
cmp rax, rbx
jne 0x14002daef
mov r8, qword [rsp + 0x30]
lea rcx, [r14 + r15]
mov rdx, qword [rsp + 0x48]
call fcn.140020fb0
add r14, rax
mov eax, dword [rsp + 0x38]
add r14, 4
mov r15d, dword [rsp + 0xe0]
mov dword [rsp + 0x38], r15d
mov dword [rsp + 0xe0], eax
cmp rbp, qword [rsp + 0x68]
ja 0x14002db20
mov rax, qword [rsi + 0x18]
movdqu xmm0, xmmword [rbp]
movdqu xmmword [rax], xmm0
nop
mov rax, qword [rsi + 8]
lea rdx, [r14 - 3]
xor r10d, r10d
mov word [rax + 4], r10w
mov rax, qword [rsi + 8]
mov dword [rax], 1
mov rcx, qword [rsi + 8]
cmp rdx, 0xffff
jbe 0x14002db5b
mov rax, rcx
mov dword [rsi + 0x48], 2
sub rax, qword [rsi]
sar rax, 3
mov dword [rsi + 0x4c], eax
mov ebx, dword [rsp + 0x108]
mov eax, ebx
mov word [rcx + 6], dx
add qword [rsi + 8], 8
sub eax, 4
je 0x14002dbde
sub eax, 1
je 0x14002dbc8
sub eax, 1
je 0x14002dbb2
sub eax, 1
je 0x14002db9c
cmp eax, 1
jne 0x14002dbde
mov rax, qword [rdi]
movabs rcx, 0xcf1bbcdcb7a56463
imul rax, rcx
mov ecx, r13d
jmp 0x14002dbec
mov rax, qword [rdi]
movabs rcx, 0xcf1bbcdcbfa56300
imul rax, rcx
mov ecx, r13d
jmp 0x14002dbec
mov rax, qword [rdi]
movabs rcx, 0xcf1bbcdcbf9b0000
imul rax, rcx
mov ecx, r13d
jmp 0x14002dbec
mov rax, qword [rdi]
movabs rcx, 0xcf1bbcdcbb000000
imul rax, rcx
mov ecx, r13d
jmp 0x14002dbec
imul eax, dword [rdi], 0x9e3779b1
mov rcx, qword [rsp + 0x90]
mov r9d, dword [rsp + 0xf8]
mov r11, qword [rsp + 0x78]
shr rax, cl
mov rcx, qword [rsp + 0x50]
mov dword [rcx + rax*4], r12d
movabs rcx, 0xcf1bbcdcb7a56463
mov rax, qword [rdi]
add rdi, r14
imul rax, rcx
mov ecx, r9d
mov rbp, rdi
shr rax, cl
mov rcx, qword [rsp + 0x80]
mov dword [rcx + rax*4], r12d
cmp rdi, qword [rsp + 0x98]
jbe 0x14002da40
jmp 0x14002dc5d
mov rcx, rdi
inc rdi
sub rcx, rbp
sar rcx, 8
add rdi, rcx
mov ebx, dword [rsp + 0x108]
mov r9d, dword [rsp + 0xf8]
movabs r10, 0xcf1bbcdcb7a56463
mov ecx, dword [rsp + 0x100]
movabs r11, 0xcf1bbcdcbfa56300
mov r12, qword [rsp + 0x30]
movabs r15, 0xcf1bbcdcbf9b0000
mov r14, qword [rsp + 0x50]
mov r8, qword [rsp + 0x90]
mov r13, qword [rsp + 0x80]
cmp rdi, qword [rsp + 0x98]
jb 0x14002d0a0
mov eax, dword [rsp + 0x38]
mov r8d, dword [rsp + 0xe0]
mov rdx, qword [rsp + 0xf0]
sub r12, rbp
mov dword [rdx + 4], eax
mov rax, r12
mov dword [rdx], r8d
mov rbx, qword [rsp + 0xe8]
add rsp, 0xa0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret