Function at 0x14000d190
Capabilities:
Hash data using fnv

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x98
mov rdi, r8
mov r12d, edx
mov rsi, rcx
mov r15d, r12d
shr r15d, 0xc
and r15b, 7
mov eax, dword [rcx]
add eax, eax
lea eax, [rax + rax*2]
add al, r15b
cmp r15b, 6
movzx eax, al
mov ecx, 0xc
cmovne ecx, eax
mov dword [rsp + 0x3c], ecx
movzx r14d, dx
mov ebx, r14d
shr ebx, 6
mov qword [rsp + 0x80], rbx
and ebx, 0x3f
movzx eax, byte [rsi + rbx + 0x78]
mov byte [rsp + 0x3a], al
lea r8, [rsi + 8]
mov rdx, qword [rsi + 0x8108]
cmp rdx, qword [rsi + 0x8110]
je 0x14000d21d
mov r13, r8
mov rax, qword [rsi + 8]
mov qword [rdx], rax
add rdx, 8
mov qword [rsi + 0x8108], rdx
jmp 0x14000d22c
lea rcx, [rsi + 0x8100]
mov r13, r8
call fcn.14000b640
movzx eax, byte [rsi + 3]
movzx ecx, word [rsi + 1]
mov word [rsp + 0x70], cx
mov byte [rsp + 0x72], al
movzx eax, byte [rsp + 0x3a]
mov byte [rsp + 0x73], al
mov rdx, qword [rsi + 0x8138]
cmp rdx, qword [rsi + 0x8140]
je 0x14000d266
mov eax, dword [rsp + 0x70]
mov dword [rdx], eax
add qword [rsi + 0x8138], 4
jmp 0x14000d277
lea rcx, [rsi + 0x8130]
lea r8, [rsp + 0x70]
call fcn.14000c580
and r14d, 0x3f
lea r8, [rsi + 0x10]
mov rdx, qword [rsi + 0x8120]
cmp rdx, qword [rsi + 0x8128]
mov dword [rsp + 0x40], r12d
mov qword [rsp + 0x58], r8
je 0x14000d2ad
mov rax, qword [rsi + 0x10]
mov qword [rdx], rax
add rdx, 8
mov qword [rsi + 0x8120], rdx
jmp 0x14000d2b9
lea rcx, [rsi + 0x8118]
call fcn.14000b640
movzx ebp, byte [rsp + 0x3a]
movsxd r12, dword [rdi]
shl r12, 0xb
lea rcx, [rdi + r12]
add rcx, 0x820
lea rdx, [rdi + r12]
add rdx, 0x20
mov r8d, 0x400
call fcn.1400555f0
lea rcx, [rdi + r12]
add rcx, 0xc20
lea rdx, [rdi + r12]
add rdx, 0x420
mov r8d, 0x400
call fcn.1400555f0
inc dword [rdi]
inc byte [rsi + 3]
inc word [rsi + 4]
movzx edx, byte [rsi + 1]
cmp r15b, 5
mov qword [rsp + 0x68], rbp
jne 0x14000d34b
cmp ebp, 9
je 0x14000d326
cmp ebp, 3
jne 0x14000d34b
movzx eax, byte [rsi + r14 + 0x78]
imul eax, eax, 0xab
shr eax, 0xa
movzx ecx, byte [rsi + rbx + 0x78]
imul ecx, ecx, 0xab
shr ecx, 0xa
cmp al, cl
sete r11b
jmp 0x14000d34e
xor r11d, r11d
mov ebp, dword [rsp + 0x40]
mov r12, r13
cmp dl, 0x40
mov qword [rsp + 0x60], rdx
jne 0x14000d365
mov rcx, qword [r12]
jmp 0x14000d37d
mov eax, edx
and eax, 7
lea rdx, str.Amw3_9
mov rcx, qword [r12]
xor rcx, qword [rdx + rax*8 + 0x1820]
movzx r13d, bl
mov byte [rsi + 1], 0x40
movzx eax, byte [rsi + 2]
lea rdx, [0x14010ec00]
xor rcx, qword [rdx + rax*8]
mov qword [rsi + 8], rcx
test r11b, r11b
je 0x14000d3f3
mov edx, ebp
and dl, 0x38
cmp r13b, r14b
seta r8b
add r8b, r8b
or r8b, dl
add r8b, 3
cmp byte [rsi], 0
lea rdx, [0x14010ebdc]
lea r9, [0x14010ebf4]
cmove r9, rdx
movsxd rdx, dword [r9]
shl rdx, 6
lea r9, [rdx + r13]
lea r10, str.Amw3_9
mov r9, qword [r10 + r9*8]
movzx r8d, r8b
or r8d, edx
movsxd rdx, r8d
xor r9, qword [r10 + rdx*8]
xor rcx, r9
mov qword [rsi + 8], rcx
xor edx, edx
tzcnt rdx, qword [rsi + 0x40]
mov qword [rsp + 0x48], rdx
xor edx, edx
tzcnt rdx, qword [rsi + 0x70]
mov qword [rsp + 0x50], rdx
cmp r15b, 5
mov dword [rsp + 0x44], r11d
jne 0x14000d433
movzx ecx, byte [rsi]
test ecx, ecx
je 0x14000d4db
cmp ecx, 1
jne 0x14000d4e4
mov cl, 0xf3
jmp 0x14000d4dd
test r15b, r15b
je 0x14000d94e
movzx ecx, r15b
cmp ecx, 3
jne 0x14000d4e4
mov byte [rsp + 0x3b], r14b
movzx ecx, r14b
movabs rdx, 0x4bf29ce484222325
xor rdx, rcx
movabs r8, 0x100000001b3
imul r8, rdx
and r8, qword [0x14032db28]
mov r9, qword [0x14032db10]
mov rcx, r8
shl rcx, 4
mov rcx, qword [r9 + rcx + 8]
mov rdx, qword [0x14032db00]
cmp rcx, rdx
je 0x14000d4e4
cmp byte [rcx + 0x10], r14b
je 0x14000d4af
add r8, r8
mov r8, qword [r9 + r8*8]
cmp rcx, r8
je 0x14000d4e4
mov rcx, qword [rcx + 8]
cmp byte [rcx + 0x10], r14b
jne 0x14000d4a0
cmp rcx, rdx
je 0x14000d4e4
lea rcx, [rsp + 0x70]
lea rdx, [rsp + 0x3b]
call fcn.14000cef0
mov r11d, dword [rsp + 0x44]
mov rax, qword [rsp + 0x70]
movzx eax, byte [rax + 0x11]
not al
and al, byte [rsi + 2]
mov byte [rsi + 2], al
jmp 0x14000d4e4
mov cl, 0xfc
and cl, al
mov byte [rsi + 2], cl
mov eax, ecx
cmp byte [rsp + 0x3a], 0xc
sete cl
or cl, r11b
jne 0x14000d5d3
mov byte [rsi + 3], 0
lea rcx, [0x14010ebd0]
mov r8, qword [rsp + 0x68]
movsxd rcx, dword [rcx + r8*4]
shl rcx, 9
lea rcx, [rcx + r13*8]
lea rdx, str.Amw3_9
mov rcx, qword [rdx + rcx]
xor qword [rsi + 8], rcx
cmp r8d, 9
je 0x14000d530
cmp r8d, 3
jne 0x14000d5d3
mov byte [rsp + 0x3b], bl
movabs rcx, 0x4bf29ce484222325
xor rcx, rbx
movabs r8, 0x100000001b3
imul r8, rcx
and r8, qword [0x14032db28]
mov r9, qword [0x14032db10]
mov rcx, r8
shl rcx, 4
mov rcx, qword [r9 + rcx + 8]
mov rdx, qword [0x14032db00]
cmp rcx, rdx
je 0x14000d5d3
cmp byte [rcx + 0x10], bl
je 0x14000d59e
add r8, r8
mov r8, qword [r9 + r8*8]
nop word cs:[rax + rax]
cmp rcx, r8
je 0x14000d5d3
mov rcx, qword [rcx + 8]
cmp byte [rcx + 0x10], bl
jne 0x14000d590
cmp rcx, rdx
je 0x14000d5d3
lea rcx, [rsp + 0x70]
lea rdx, [rsp + 0x3b]
mov rbp, r12
mov r12d, r11d
call fcn.14000cef0
mov r11d, r12d
mov r12, rbp
mov ebp, dword [rsp + 0x40]
mov rax, qword [rsp + 0x70]
movzx eax, byte [rax + 0x11]
not al
and al, byte [rsi + 2]
mov byte [rsi + 2], al
test bp, bp
js 0x14000d611
movzx ecx, byte [rsp + 0x3c]
lea rdx, [0x14010ebd0]
movsxd r8, dword [rdx + rcx*4]
shl r8, 6
movzx ecx, r14b
or rcx, r8
lea r9, str.Amw3_9
mov rdx, qword [r9 + rcx*8]
mov rcx, qword [r12]
xor rcx, rdx
add r8d, r13d
movsxd r8, r8d
mov r8, qword [r9 + r8*8]
jmp 0x14000d65e
mov byte [rsi + 3], 0
mov ecx, dword [rsi]
add ecx, ecx
lea ecx, [rcx + rcx*2]
movzx ecx, cl
lea r8, [0x14010ebd0]
movsxd rcx, dword [r8 + rcx*4]
movzx edx, r14b
shl rcx, 9
lea rcx, [rcx + rdx*8]
lea r9, str.Amw3_9
mov rdx, qword [r9 + rcx]
mov rcx, qword [rsi + 8]
xor rcx, rdx
movzx r10d, byte [rsp + 0x3c]
movsxd r8, dword [r8 + r10*4]
shl r8, 9
lea r8, [r8 + r13*8]
mov r8, qword [r9 + r8]
xor rcx, r8
test r15b, r15b
jne 0x14000d674
mov r9, qword [rsp + 0x58]
xor rdx, qword [r9]
xor rdx, r8
mov qword [r9], rdx
lea rdx, [rdi + 0x20]
mov qword [rsp + 0x88], rdx
movzx eax, al
lea rdx, [0x14010ec00]
xor rcx, qword [rdx + rax*8]
movabs rax, 0xf8d626aaaf278509
xor rax, rcx
mov qword [r12], rax
test r11b, r11b
je 0x14000d85e
movzx eax, byte [rsi]
mov edx, ebp
and dl, 0x38
cmp bl, r14b
seta cl
mov r12d, ebp
lea ebp, [rcx + rcx]
or bpl, dl
add bpl, 3
shl cl, 2
or cl, 2
or dl, cl
xor r8d, r8d
test al, al
mov r9d, 9
mov r13d, 3
cmovne r13d, r9d
mov r9d, 0x38
cmove r9, r8
mov r8, r9
xor r8, r14
lea r10, [0x14010eec0]
mov r8d, dword [r10 + r8*4]
movzx r15d, dl
xor r9, r15
cmp r8d, dword [r10 + r9*4]
jne 0x14000d719
mov edx, r12d
and dl, 7
add cl, dl
cmp cl, 7
jne 0x14000d9dd
mov rax, 0xfffffffffffffffe
mov rdx, 0xfffffffffffffffe
mov ecx, r14d
rol rdx, cl
mov r9d, dword [rsp + 0x3c]
movzx r8d, r9b
and qword [rsi + r8*8 + 0x18], rdx
mov byte [rsi + r14 + 0x78], 0xc
mov ecx, ebx
rol rax, cl
movzx ecx, r13b
and qword [rsi + rcx*8 + 0x18], rax
mov byte [rsi + rbx + 0x78], 0xc
mov eax, 1
shlx rdx, rax, r15
or qword [rsi + r8*8 + 0x18], rdx
mov byte [rsi + r15 + 0x78], r9b
movzx edx, bpl
shlx rax, rax, rbp
or qword [rsi + rcx*8 + 0x18], rax
mov byte [rsi + rdx + 0x78], r13b
movsxd r12, dword [rdi]
shl r12, 0xb
mov r13, qword [rsp + 0x88]
lea rcx, [r12 + r13]
lea r15, [0x140f2e7c0]
mov r8d, 0x400
mov rdx, r15
call fcn.1400555f0
lea rcx, [r12 + r13]
add rcx, 0x400
mov r8d, 0x400
mov rdx, r15
call fcn.1400555f0
mov rax, qword [rsi + 0x40]
vmovdqu ymm0, ymmword [rsi + 0x20]
vpor ymm0, ymm0, ymmword [rsi + 0x48]
mov rcx, qword [rsi + 0x70]
vextracti128 xmm1, ymm0, 1
vpor xmm0, xmm0, xmm1
vpshufd xmm1, xmm0, 0xee
vpor xmm0, xmm0, xmm1
vmovq rdx, xmm0
or rdx, qword [rsi + 0x18]
mov r15, qword [rsi + 0x68]
or r15, rax
or r15, rdx
or r15, rcx
je 0x14000db10
xor r12d, r12d
tzcnt r12, rax
xor r13d, r13d
tzcnt r13, rcx
lea rbp, [0x1403187c8]
nop word cs:[rax + rax]
xor r9d, r9d
tzcnt r9, r15
movzx eax, byte [rsi + r9 + 0x78]
movzx edx, byte [rax + rbp]
imul r8d, eax, 0xab
shr r8d, 0xa
mov byte [rsp + 0x28], r13b
mov byte [rsp + 0x20], r12b
mov rcx, rdi
vzeroupper
call fcn.1400139b0
blsr r15, r15
jne 0x14000d820
jmp 0x14000db10
test r15b, r15b
jne 0x14000d8c3
cmp bl, byte [rsp + 0x60]
jne 0x14000d8c3
xor r13, 8
movzx eax, byte [rsi]
xor al, 1
movzx eax, al
add eax, eax
lea eax, [rax + rax*2]
mov rdx, 0xfffffffffffffffe
mov ecx, r13d
rol rdx, cl
movzx ecx, al
and qword [rsi + rcx*8 + 0x18], rdx
mov byte [rsi + r13 + 0x78], 0xc
cmp al, 6
setae r8b
lea rax, [0x1403187c8]
movzx edx, byte [rcx + rax]
mov rax, qword [rsp + 0x50]
mov byte [rsp + 0x28], al
mov rax, qword [rsp + 0x48]
mov byte [rsp + 0x20], al
mov rcx, rdi
mov r9d, r13d
jmp 0x14000d944
cmp byte [rsp + 0x3a], 0xc
je 0x14000db10
mov rdx, qword [rsp + 0x68]
test edx, edx
je 0x14000d8dc
cmp edx, 6
jne 0x14000d902
lea rax, [0x14010ebd0]
movsxd rax, dword [rax + rdx*4]
shl rax, 9
lea rax, [rax + r13*8]
lea rcx, str.Amw3_9
mov rax, qword [rcx + rax]
mov rcx, qword [rsp + 0x58]
xor qword [rcx], rax
mov rax, 0xfffffffffffffffe
mov ecx, ebx
rol rax, cl
and qword [rsi + rdx*8 + 0x18], rax
mov byte [rsi + rbx + 0x78], 0xc
cmp byte [rsp + 0x3a], 6
setae r8b
lea rax, [0x1403187c8]
movzx edx, byte [rdx + rax]
mov rax, qword [rsp + 0x50]
mov byte [rsp + 0x28], al
mov rax, qword [rsp + 0x48]
mov byte [rsp + 0x20], al
mov rcx, rdi
mov r9d, ebx
call fcn.14001acf0
jmp 0x14000db10
mov byte [rsi + 3], 0
mov rdx, qword [rsp + 0x60]
cmp bl, dl
je 0x14000df43
movzx edx, r14b
sub edx, r13d
mov r8d, edx
neg r8d
cmovs r8d, edx
cmp r8d, 0x10
jne 0x14000d4e4
movzx r8d, byte [rsi]
mov edx, ebx
xor dl, 8
movzx r9d, dl
mov r10, r8
shl r10, 9
lea r11, [0x14026a890]
add r11, r10
xor r8, 1
lea r8, [r8 + r8*2]
shl r8, 4
mov r8, qword [rsi + r8 + 0x18]
test qword [r11 + r9*8], r8
je 0x14000d9d3
mov byte [rsi + 1], dl
mov rdx, qword [rsp + 0x80]
and dl, 7
movzx edx, dl
lea r8, str.Amw3_9
xor rcx, qword [r8 + rdx*8 + 0x1820]
mov qword [rsi + 8], rcx
mov r11d, dword [rsp + 0x44]
jmp 0x14000d4e4
test al, al
setne byte [rsp + 0x3a]
mov r12, 0xfffffffffffffffe
mov rax, 0xfffffffffffffffe
mov ecx, r14d
rol rax, cl
mov ecx, dword [rsp + 0x3c]
movzx edx, cl
mov qword [rsp + 0x90], rdx
and qword [rsi + rdx*8 + 0x18], rax
mov byte [rsi + r14 + 0x78], 0xc
cmp cl, 6
setae r8b
mov byte [rsp + 0x68], r8b
lea rax, [0x1403187c8]
movzx edx, byte [rdx + rax]
mov byte [rsp + 0x60], dl
mov rax, qword [rsp + 0x50]
mov byte [rsp + 0x28], al
mov rax, qword [rsp + 0x48]
mov byte [rsp + 0x20], al
mov rcx, rdi
mov r9d, r14d
call fcn.14001acf0
mov ecx, ebx
rol r12, cl
movzx r13d, r13b
and qword [rsi + r13*8 + 0x18], r12
mov byte [rsi + rbx + 0x78], 0xc
lea rax, [0x1403187c8]
movzx edx, byte [r13 + rax]
mov byte [rsp + 0x58], dl
mov r12, qword [rsp + 0x50]
mov byte [rsp + 0x28], r12b
mov rax, qword [rsp + 0x48]
mov byte [rsp + 0x20], al
mov rcx, rdi
movzx r8d, byte [rsp + 0x3a]
mov r9d, ebx
call fcn.14001acf0
mov eax, 1
shlx rax, rax, r15
mov rcx, qword [rsp + 0x90]
or qword [rsi + rcx*8 + 0x18], rax
mov eax, dword [rsp + 0x3c]
mov byte [rsi + r15 + 0x78], al
mov byte [rsp + 0x28], r12b
mov r12, qword [rsp + 0x48]
mov byte [rsp + 0x20], r12b
mov rcx, rdi
movzx edx, byte [rsp + 0x60]
movzx r8d, byte [rsp + 0x68]
mov r9d, r15d
call fcn.1400139b0
movzx r9d, bpl
mov eax, 1
shlx rax, rax, r9
or qword [rsi + r13*8 + 0x18], rax
mov byte [rsi + r9 + 0x78], r13b
mov rax, qword [rsp + 0x50]
mov byte [rsp + 0x28], al
mov byte [rsp + 0x20], r12b
mov rcx, rdi
movzx edx, byte [rsp + 0x58]
movzx r8d, byte [rsp + 0x3a]
call fcn.1400139b0
mov r9d, dword [rsp + 0x40]
test r9w, r9w
js 0x14000dc7f
cmp byte [rsp + 0x44], 0
jne 0x14000df29
mov edx, dword [rsp + 0x3c]
movzx ecx, dl
mov rax, qword [rsi + rcx*8 + 0x18]
btr rax, r14
bts rax, rbx
mov qword [rsi + rcx*8 + 0x18], rax
mov byte [rsi + r14 + 0x78], 0xc
mov byte [rsi + rbx + 0x78], dl
lea r15, [0x1403187c8]
movzx eax, byte [rcx + r15]
cmp dl, 0xb
je 0x14000db67
cmp ecx, 5
jne 0x14000dd15
xor ecx, ecx
cmp byte [rsi], 0
mov edx, 0x38
cmove rdx, rcx
mov rcx, r14
xor rcx, rdx
lea r8, [0x14010eec0]
mov ecx, dword [r8 + rcx*4]
xor rdx, rbx
cmp ecx, dword [r8 + rdx*4]
jne 0x14000dbaa
and r9b, 7
mov rcx, qword [rsp + 0x80]
and cl, 7
add cl, r9b
cmp cl, 7
jne 0x14000dd15
movsxd r14, dword [rdi]
shl r14, 0xb
mov r12, qword [rsp + 0x88]
lea rcx, [r12 + r14]
lea rbx, [0x140f2e7c0]
mov r8d, 0x400
mov rdx, rbx
vzeroupper
call fcn.1400555f0
lea rcx, [r12 + r14]
add rcx, 0x400
mov r8d, 0x400
mov rdx, rbx
call fcn.1400555f0
mov rax, qword [rsi + 0x40]
vmovdqu ymm0, ymmword [rsi + 0x20]
vpor ymm0, ymm0, ymmword [rsi + 0x48]
mov rcx, qword [rsi + 0x70]
vextracti128 xmm1, ymm0, 1
vpor xmm0, xmm0, xmm1
vpshufd xmm1, xmm0, 0xee
vpor xmm0, xmm0, xmm1
vmovq rdx, xmm0
or rdx, qword [rsi + 0x18]
mov rbx, qword [rsi + 0x68]
or rbx, rax
or rbx, rdx
or rbx, rcx
je 0x14000df29
xor r14d, r14d
tzcnt r14, rax
xor r12d, r12d
tzcnt r12, rcx
nop
xor r9d, r9d
tzcnt r9, rbx
movzx eax, byte [rsi + r9 + 0x78]
movzx edx, byte [rax + r15]
imul r8d, eax, 0xab
shr r8d, 0xa
mov byte [rsp + 0x28], r12b
mov byte [rsp + 0x20], r14b
mov rcx, rdi
vzeroupper
call fcn.1400139b0
blsr rbx, rbx
jne 0x14000dc40
jmp 0x14000df29
mov eax, dword [rsi]
add eax, eax
lea eax, [rax + rax*2]
mov rdx, 0xfffffffffffffffe
mov ecx, r14d
rol rdx, cl
movzx ecx, al
and qword [rsi + rcx*8 + 0x18], rdx
mov byte [rsi + r14 + 0x78], 0xc
cmp al, 6
setae r8b
lea r15, [0x1403187c8]
movzx edx, byte [rcx + r15]
mov r12, qword [rsp + 0x50]
mov byte [rsp + 0x28], r12b
mov r13, qword [rsp + 0x48]
mov byte [rsp + 0x20], r13b
mov rcx, rdi
mov r9d, r14d
vzeroupper
call fcn.14001acf0
mov eax, 1
shlx rax, rax, rbx
mov edx, dword [rsp + 0x3c]
movzx ecx, dl
or qword [rsi + rcx*8 + 0x18], rax
mov byte [rsi + rbx + 0x78], dl
cmp dl, 6
setae r8b
movzx edx, byte [rcx + r15]
mov byte [rsp + 0x28], r12b
mov byte [rsp + 0x20], r13b
mov rcx, rdi
mov r9d, ebx
call fcn.1400139b0
jmp 0x14000df29
shl eax, 6
mov r15, qword [rsp + 0x48]
movzx ecx, r15b
lea r8, [0x14010eec0]
mov ecx, dword [r8 + rcx*4]
shl r15b, 5
sar r15b, 7
and r15b, 7
mov r9d, r15d
xor r9b, r14b
lea r10d, [rcx + rcx*2]
shl r10d, 8
lea edx, [rax + 0x180]
cmp byte [rsp + 0x3c], 6
movsxd rcx, dword [rdi]
mov r11d, eax
cmovb r11d, edx
movzx r9d, r9b
add r11d, r10d
or r9d, r11d
xor r15b, bl
movzx r10d, r15b
or r10d, r11d
shl r9d, 9
movsxd r11, r9d
shl r10d, 9
movsxd r15, r10d
shl rcx, 0xb
lea r10, [rcx + rdi]
add r10, 0x80
lea r9, [0x14032e7c0]
lea r11, [r9 + r11*2]
add r11, 0x60
lea r15, [r9 + r15*2]
add r15, 0x60
xor r12d, r12d
nop word cs:[rax + rax]
vmovdqa ymm0, ymmword [r15 + r12 - 0x60]
vpsubw ymm0, ymm0, ymmword [r11 + r12 - 0x60]
vpaddw ymm0, ymm0, ymmword [r10 + r12 - 0x60]
vmovdqa ymmword [r10 + r12 - 0x60], ymm0
vmovdqa ymm0, ymmword [r15 + r12 - 0x40]
vpsubw ymm0, ymm0, ymmword [r11 + r12 - 0x40]
vpaddw ymm0, ymm0, ymmword [r10 + r12 - 0x40]
vmovdqa ymmword [r10 + r12 - 0x40], ymm0
vmovdqa ymm0, ymmword [r15 + r12 - 0x20]
vpsubw ymm0, ymm0, ymmword [r11 + r12 - 0x20]
vpaddw ymm0, ymm0, ymmword [r10 + r12 - 0x20]
vmovdqa ymmword [r10 + r12 - 0x20], ymm0
vmovdqa ymm0, ymmword [r15 + r12]
vpsubw ymm0, ymm0, ymmword [r11 + r12]
vpaddw ymm0, ymm0, ymmword [r10 + r12]
vmovdqa ymmword [r10 + r12], ymm0
sub r12, 0xffffffffffffff80
cmp r12, 0x400
jne 0x14000ddb0
mov r11, qword [rsp + 0x50]
mov r10d, r11d
xor r10b, 0x38
movzx r10d, r10b
mov r8d, dword [r8 + r10*4]
test r11b, 4
mov r10d, 0x38
mov r11d, 0x3f
cmove r11d, r10d
mov r10d, r11d
xor r10b, r14b
lea r8d, [r8 + r8*2]
shl r8d, 8
cmp byte [rsp + 0x3c], 6
movzx r10d, r10b
cmovb edx, eax
add edx, r8d
or r10d, edx
xor bl, r11b
movzx eax, bl
or eax, edx
shl r10d, 9
movsxd rdx, r10d
shl eax, 9
movsxd r8, eax
lea rax, [rcx + rdi]
add rax, 0x480
lea rcx, [r9 + rdx*2]
add rcx, 0x60
lea rdx, [r9 + r8*2]
add rdx, 0x60
xor r8d, r8d
nop word cs:[rax + rax]
vmovdqa ymm0, ymmword [rdx + r8 - 0x60]
vpsubw ymm0, ymm0, ymmword [rcx + r8 - 0x60]
vpaddw ymm0, ymm0, ymmword [rax + r8 - 0x60]
vmovdqa ymmword [rax + r8 - 0x60], ymm0
vmovdqa ymm0, ymmword [rdx + r8 - 0x40]
vpsubw ymm0, ymm0, ymmword [rcx + r8 - 0x40]
vpaddw ymm0, ymm0, ymmword [rax + r8 - 0x40]
vmovdqa ymmword [rax + r8 - 0x40], ymm0
vmovdqa ymm0, ymmword [rdx + r8 - 0x20]
vpsubw ymm0, ymm0, ymmword [rcx + r8 - 0x20]
vpaddw ymm0, ymm0, ymmword [rax + r8 - 0x20]
vmovdqa ymmword [rax + r8 - 0x20], ymm0
vmovdqa ymm0, ymmword [rdx + r8]
vpsubw ymm0, ymm0, ymmword [rcx + r8]
vpaddw ymm0, ymm0, ymmword [rax + r8]
vmovdqa ymmword [rax + r8], ymm0
sub r8, 0xffffffffffffff80
cmp r8, 0x400
jne 0x14000deb0
xor byte [rsi], 1
add rsp, 0x98
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
vzeroupper
ret
mov rdx, r13
xor rdx, 8
movzx r8d, byte [rsi]
xor r8b, 1
movzx r8d, r8b
add r8d, r8d
lea r8d, [r8 + r8*2]
movzx r8d, r8b
lea r9, [0x14010ebd0]
movsxd r8, dword [r9 + r8*4]
shl r8, 9
lea rdx, [r8 + rdx*8]
lea r8, str.Amw3_9
xor rcx, qword [r8 + rdx]
mov qword [rsi + 8], rcx
jmp 0x14000d4e4