Function at 0x1400cee80
Capabilities:
Hash data using sha256
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, 0x148
vmovups xmmword [rsp + 0x100], xmm6
vmovups xmmword [rsp + 0x110], xmm7
vmovups xmmword [rsp + 0x120], xmm8
vmovups xmmword [rsp + 0x130], xmm9
vmovdqu xmm1, xmmword [rdx]
vmovdqu xmm5, xmmword [rdx + 0x10]
mov eax, 0xff
vmovdqu xmm4, xmmword [rdx + 0x20]
vmovdqu xmm3, xmmword [rdx + 0x30]
vmovd xmm0, eax
vpbroadcastw xmm0, xmm0
mov edx, dword [rcx + 0x24]
mov ebx, dword [rcx + 0x20]
mov r11, rcx
mov eax, edx
xor ebx, 0x243f6a88
xor eax, 0x85a308d3
vpand xmm6, xmm0, xmm5
vpand xmm2, xmm0, xmm1
vpsrlw xmm5, xmm5, 8
vpsrlw xmm1, xmm1, 8
vpackuswb xmm2, xmm2, xmm6
vpackuswb xmm1, xmm1, xmm5
vpand xmm6, xmm0, xmm3
vpand xmm5, xmm0, xmm4
vpackuswb xmm5, xmm5, xmm6
vpsrlw xmm3, xmm3, 8
vpsrlw xmm4, xmm4, 8
vpackuswb xmm4, xmm4, xmm3
vpand xmm6, xmm0, xmm5
vpand xmm3, xmm0, xmm2
vpsrlw xmm5, xmm5, 8
vpsrlw xmm2, xmm2, 8
vpackuswb xmm2, xmm2, xmm5
vpand xmm5, xmm0, xmm1
vpand xmm0, xmm0, xmm4
vpackuswb xmm3, xmm3, xmm6
vpackuswb xmm0, xmm5, xmm0
vpmovzxbw xmm8, xmm3
vpsrlw xmm4, xmm4, 8
vpsrlw xmm1, xmm1, 8
vpackuswb xmm1, xmm1, xmm4
vpmovzxbw xmm4, xmm0
vpmovzxwd xmm9, xmm8
vpmovzxbw xmm6, xmm2
vpmovzxbw xmm7, xmm1
vpmovzxwd xmm5, xmm4
vpslld xmm9, xmm9, 0x18
vpsllw xmm6, xmm6, 8
vpslld xmm5, xmm5, 0x10
vpor xmm5, xmm5, xmm9
vpmovzxwd xmm9, xmm7
vpsrldq xmm4, xmm4, 8
vpor xmm5, xmm5, xmm9
vpmovzxwd xmm9, xmm6
vpmovzxwd xmm4, xmm4
vpsrldq xmm7, xmm7, 8
vpor xmm5, xmm5, xmm9
vpmovzxwd xmm7, xmm7
vpslld xmm4, xmm4, 0x10
mov dword [rsp + 4], eax
vmovdqu xmmword [rsp + 0xc0], xmm5
vpsrldq xmm5, xmm8, 8
vpmovzxwd xmm5, xmm5
mov eax, dword [rcx + 0x28]
vpslld xmm5, xmm5, 0x18
vpor xmm4, xmm4, xmm5
vpsrldq xmm6, xmm6, 8
vpmovzxwd xmm6, xmm6
vpor xmm4, xmm4, xmm7
vmovdqu ymm7, ymmword [rcx]
vpsrldq xmm3, xmm3, 8
vpsrldq xmm0, xmm0, 8
vpmovzxbw xmm3, xmm3
vpmovzxbw xmm0, xmm0
vpor xmm4, xmm4, xmm6
vpsrldq xmm1, xmm1, 8
xor eax, 0x13198a2e
vpmovzxbw xmm1, xmm1
vpmovzxwd xmm5, xmm3
vmovdqu xmmword [rsp + 0xd0], xmm4
mov dword [rsp + 0xc], eax
mov eax, dword [rcx + 0x2c]
vpmovzxwd xmm4, xmm0
vpsrldq xmm3, xmm3, 8
vpsrldq xmm0, xmm0, 8
vpmovzxwd xmm3, xmm3
vpmovzxwd xmm0, xmm0
vpslld xmm5, xmm5, 0x18
vpslld xmm4, xmm4, 0x10
vpslld xmm0, xmm0, 0x10
vpor xmm4, xmm4, xmm5
vpslld xmm3, xmm3, 0x18
vpmovzxwd xmm5, xmm1
vpor xmm0, xmm0, xmm3
vpsrldq xmm1, xmm1, 8
vpmovzxwd xmm1, xmm1
vpor xmm0, xmm0, xmm1
vpsrldq xmm2, xmm2, 8
vpmovzxbw xmm2, xmm2
vpor xmm4, xmm4, xmm5
vmovdqu ymmword [rsp + 0xa0], ymm7
vmovd xmm7, dword [rcx + 0x28]
vpsllw xmm2, xmm2, 8
vpmovzxwd xmm5, xmm2
vpsrldq xmm2, xmm2, 8
vpmovzxwd xmm2, xmm2
vpor xmm4, xmm4, xmm5
vpor xmm0, xmm0, xmm2
vmovdqu xmmword [rsp + 0xe0], xmm4
vmovdqu xmmword [rsp + 0xf0], xmm0
vpinsrd xmm1, xmm7, eax, 1
vmovd xmm7, dword [rcx + 0x20]
xor eax, 0x3707344
mov dword [rsp + 0x10], eax
mov eax, dword [rcx + 0x3c]
vpinsrd xmm0, xmm7, edx, 1
vpunpcklqdq xmm0, xmm0, xmm1
vinserti128 ymm0, ymm0, xmm0, 1
test eax, eax
jne 0x1400cf830
mov edx, dword [rcx + 0x30]
mov eax, edx
xor edx, 0x299f31d0
mov ebp, edx
mov edx, dword [rcx + 0x34]
xor eax, 0xa4093822
mov edi, edx
xor edx, 0xec4e6c89
xor edi, 0x82efa98
mov r13d, edx
mov dword [rsp + 8], edi
mov edi, dword [rsp + 0xa0]
mov dword [rsp + 0x6c], 0xbe5466cf
mov dword [rsp + 0x68], 0x34e90c6c
mov dword [rsp + 0x64], 0x452821e6
mov dword [rsp + 0x60], 0x38d01377
mov dword [rsp + 0x5c], 0xc0ac29b7
mov dword [rsp + 0x58], 0xc97c50dd
lea r10, [0x1401f8790]
mov dword [rsp + 0x54], 0x3f84d5b5
mov dword [rsp + 0x50], 0xb5470917
mov dword [rsp + 0x4c], 0x82efa98
mov r9d, 0x85a308d3
mov dword [rsp + 0x48], 0xec4e6c89
mov dword [rsp + 0x44], 0xa4093822
mov dword [rsp + 0x40], 0x299f31d0
xor r8d, r8d
mov dword [rsp + 0x30], edi
mov dword [rsp + 0x3c], 0x13198a2e
mov dword [rsp + 0x74], 3
mov edx, 2
mov dword [rsp + 0x70], 5
mov dword [rsp + 0x78], 6
mov dword [rsp + 0x9c], 7
mov ecx, 4
mov dword [rsp + 0x98], 0xe
lea r15, [0x1401f8740]
mov rdi, qword [rsp + 0xa0]
mov esi, dword [rsp + 0xb0]
shr rdi, 0x20
mov r12d, edi
mov rdi, qword [rsp + 0xb0]
mov dword [rsp + 0x14], esi
mov esi, dword [rsp + 0xa8]
shr rdi, 0x20
mov dword [rsp + 0x1c], esi
mov esi, dword [rsp + 0xb8]
mov dword [rsp + 0x18], edi
mov rdi, qword [rsp + 0xa8]
mov dword [rsp + 0x20], esi
mov esi, 0x243f6a88
shr rdi, 0x20
mov r14d, edi
mov rdi, qword [rsp + 0xb8]
shr rdi, 0x20
mov dword [rsp + 0x24], edi
mov dword [rsp + 0x94], 0xf
mov edi, 1
mov dword [rsp + 0x28], r14d
mov qword [rsp + 0x190], r11
mov r14d, ebp
mov dword [rsp + 0x90], 0xc
mov dword [rsp + 0x8c], 0xd
mov dword [rsp + 0x88], 8
mov dword [rsp + 0x84], 9
mov dword [rsp + 0x80], 0xa
mov ebp, 0x3707344
mov dword [rsp + 0x7c], 0xb
mov dword [rsp + 0x2c], r13d
mov r11d, dword [rsp + 0x30]
jmp 0x1400cf3e0
movzx edi, byte [r10 + 1]
movzx r8d, byte [r10]
add r10, 0x10
movsxd rdx, edi
mov r9d, dword [r15 + rdx*4]
movsxd rdx, r8d
mov esi, dword [r15 + rdx*4]
movzx edx, byte [r10 - 0xd]
mov ebp, dword [r15 + rdx*4]
mov dword [rsp + 0x74], edx
movzx edx, byte [r10 - 0xe]
movsxd rcx, edx
mov ecx, dword [r15 + rcx*4]
mov dword [rsp + 0x3c], ecx
movzx ecx, byte [r10 - 0xb]
mov dword [rsp + 0x70], ecx
mov ecx, dword [r15 + rcx*4]
mov dword [rsp + 0x40], ecx
movzx ecx, byte [r10 - 0xc]
movsxd r13, ecx
mov r13d, dword [r15 + r13*4]
mov dword [rsp + 0x44], r13d
movzx r13d, byte [r10 - 9]
mov dword [rsp + 0x9c], r13d
mov r13d, dword [r15 + r13*4]
mov dword [rsp + 0x48], r13d
movzx r13d, byte [r10 - 0xa]
mov dword [rsp + 0x78], r13d
mov r13d, dword [r15 + r13*4]
mov dword [rsp + 0x4c], r13d
movzx r13d, byte [r10 - 1]
mov dword [rsp + 0x94], r13d
mov r13d, dword [r15 + r13*4]
mov dword [rsp + 0x50], r13d
movzx r13d, byte [r10 - 2]
mov dword [rsp + 0x98], r13d
mov r13d, dword [r15 + r13*4]
mov dword [rsp + 0x54], r13d
movzx r13d, byte [r10 - 3]
mov dword [rsp + 0x8c], r13d
mov r13d, dword [r15 + r13*4]
mov dword [rsp + 0x58], r13d
movzx r13d, byte [r10 - 4]
mov dword [rsp + 0x90], r13d
mov r13d, dword [r15 + r13*4]
mov dword [rsp + 0x5c], r13d
movzx r13d, byte [r10 - 7]
mov dword [rsp + 0x84], r13d
mov r13d, dword [r15 + r13*4]
mov dword [rsp + 0x60], r13d
movzx r13d, byte [r10 - 8]
mov dword [rsp + 0x88], r13d
mov r13d, dword [r15 + r13*4]
mov dword [rsp + 0x64], r13d
movzx r13d, byte [r10 - 5]
mov dword [rsp + 0x7c], r13d
mov r13d, dword [r15 + r13*4]
mov dword [rsp + 0x68], r13d
movzx r13d, byte [r10 - 6]
mov dword [rsp + 0x80], r13d
mov r13d, dword [r15 + r13*4]
mov dword [rsp + 0x6c], r13d
xor r9d, dword [rsp + r8*4 + 0xc0]
mov r8d, dword [rsp + 0x14]
xor esi, dword [rsp + rdi*4 + 0xc0]
xor ebp, dword [rsp + rdx*4 + 0xc0]
mov r13d, dword [rsp + 4]
add r11d, r8d
add r9d, r11d
mov r11d, r8d
movsxd r8, dword [rsp + 0x70]
xor eax, r9d
rorx eax, eax, 0x10
add ebx, eax
xor r11d, ebx
rorx r11d, r11d, 0xc
add r9d, r11d
lea edi, [rsi + r9]
mov esi, dword [rsp + 0x18]
xor eax, edi
mov dword [rsp + 0x30], edi
rorx eax, eax, 8
add ebx, eax
mov dword [rsp + 0x34], eax
add r12d, esi
xor r11d, ebx
mov dword [rsp + 0x38], ebx
add ebp, r12d
mov r12d, dword [rsp + 0x48]
rorx r11d, r11d, 7
xor r14d, ebp
rorx r9d, r14d, 0x10
movsxd r14, dword [rsp + 0x74]
add r13d, r9d
xor esi, r13d
rorx edx, esi, 0xc
mov esi, dword [rsp + 0x3c]
xor esi, dword [rsp + r14*4 + 0xc0]
mov r14d, dword [rsp + 0x40]
add ebp, edx
xor r14d, dword [rsp + rcx*4 + 0xc0]
lea esi, [rsi + rbp]
mov ebp, dword [rsp + 0x44]
xor ebp, dword [rsp + r8*4 + 0xc0]
xor r9d, esi
mov dword [rsp + 0x3c], esi
mov ecx, r14d
mov esi, dword [rsp + 0x20]
mov r14d, dword [rsp + 0x1c]
rorx r9d, r9d, 8
add r13d, r9d
mov r8d, dword [rsp + 0x10]
xor edx, r13d
rorx edx, edx, 7
add r14d, esi
mov dword [rsp + 0x18], edx
mov edx, dword [rsp + 0x4c]
add ecx, r14d
mov r14d, dword [rsp + 8]
xor r14d, ecx
rorx ebx, r14d, 0x10
mov r14d, dword [rsp + 0xc]
add r14d, ebx
xor esi, r14d
mov edi, r14d
mov r14d, dword [rsp + 0x24]
rorx eax, esi, 0xc
add ecx, eax
add ebp, ecx
movsxd rcx, dword [rsp + 0x78]
xor ebx, ebp
rorx ebx, ebx, 8
add edi, ebx
xor r12d, dword [rsp + rcx*4 + 0xc0]
mov ecx, dword [rsp + 0x28]
xor eax, edi
rorx eax, eax, 7
add ecx, r14d
add r12d, ecx
mov ecx, dword [rsp + 0x2c]
xor ecx, r12d
rorx ecx, ecx, 0x10
add r8d, ecx
xor r14d, r8d
mov esi, r8d
rorx r8d, r14d, 0xc
movsxd r14, dword [rsp + 0x9c]
add r12d, r8d
xor edx, dword [rsp + r14*4 + 0xc0]
mov r14d, edx
mov edx, dword [rsp + 0x50]
add r14d, r12d
movsxd r12, dword [rsp + 0x98]
xor ecx, r14d
add r14d, r11d
rorx ecx, ecx, 8
add esi, ecx
xor edx, dword [rsp + r12*4 + 0xc0]
xor r8d, esi
rorx r8d, r8d, 7
add ebp, r8d
mov r12d, edx
mov edx, dword [rsp + 0x54]
add r12d, r14d
movsxd r14, dword [rsp + 0x94]
xor ebx, r12d
rorx ebx, ebx, 0x10
add r13d, ebx
xor edx, dword [rsp + r14*4 + 0xc0]
xor r11d, r13d
rorx r11d, r11d, 0xc
add r12d, r11d
lea edx, [rdx + r12]
xor ebx, edx
mov dword [rsp + 0x28], edx
rorx edx, ebx, 8
mov ebx, dword [rsp + 0x38]
mov dword [rsp + 8], edx
add edx, r13d
xor r11d, edx
mov dword [rsp + 4], edx
rorx edx, r11d, 7
movsxd r11, dword [rsp + 0x90]
mov dword [rsp + 0x14], edx
mov edx, dword [rsp + 0x58]
xor edx, dword [rsp + r11*4 + 0xc0]
movsxd r11, dword [rsp + 0x8c]
add ebp, edx
mov edx, dword [rsp + 0x5c]
xor edx, dword [rsp + r11*4 + 0xc0]
xor r9d, ebp
mov r11d, dword [rsp + 0x64]
rorx r9d, r9d, 0x10
add ebx, r9d
xor r8d, ebx
rorx r8d, r8d, 0xc
add ebp, r8d
lea edx, [rdx + rbp]
xor r9d, edx
mov dword [rsp + 0x1c], edx
rorx r14d, r9d, 8
mov r9d, dword [rsp + 0x30]
add ebx, r14d
xor r8d, ebx
rorx edx, r8d, 7
movsxd r8, dword [rsp + 0x88]
mov dword [rsp + 0x24], edx
mov edx, dword [rsp + 0x60]
xor edx, dword [rsp + r8*4 + 0xc0]
mov r8d, edx
mov edx, dword [rsp + 0x18]
add r9d, edx
add r8d, r9d
movsxd r9, dword [rsp + 0x84]
xor ecx, r8d
rorx ecx, ecx, 0x10
add edi, ecx
xor r11d, dword [rsp + r9*4 + 0xc0]
xor edx, edi
rorx edx, edx, 0xc
add r8d, edx
add r11d, r8d
xor ecx, r11d
rorx r9d, ecx, 8
mov dword [rsp + 0x2c], r9d
add r9d, edi
xor edx, r9d
mov dword [rsp + 0xc], r9d
rorx edx, edx, 7
mov dword [rsp + 0x18], edx
movsxd rdx, dword [rsp + 0x80]
mov r8d, dword [rsp + 0x68]
mov edi, dword [rsp + 0x3c]
mov ecx, dword [rsp + 0x34]
mov r12d, dword [rsp + 0x6c]
xor r8d, dword [rsp + rdx*4 + 0xc0]
lea edx, [rdi + rax]
add r8d, edx
xor ecx, r8d
rorx ecx, ecx, 0x10
add esi, ecx
xor eax, esi
rorx edx, eax, 0xc
movsxd rax, dword [rsp + 0x7c]
add r8d, edx
xor r12d, dword [rsp + rax*4 + 0xc0]
add r12d, r8d
xor ecx, r12d
rorx eax, ecx, 8
lea edi, [rsi + rax]
xor edx, edi
mov dword [rsp + 0x10], edi
rorx edi, edx, 7
mov dword [rsp + 0x20], edi
lea rdi, [0x1401f8860]
cmp r10, rdi
jne 0x1400cf2b0
vmovd xmm7, dword [rsp + 8]
mov r13d, dword [rsp + 0x2c]
mov ebp, r14d
vmovd xmm6, eax
vpxor ymm3, ymm0, ymmword [rsp + 0xa0]
vpinsrd xmm1, xmm6, ebp, 1
vmovd xmm6, ebx
mov r14d, dword [rsp + 0x28]
mov edi, r11d
mov r11, qword [rsp + 0x190]
vpinsrd xmm0, xmm7, r13d, 1
vmovd xmm7, dword [rsp + 0xc]
vpinsrd xmm2, xmm7, dword [rsp + 0x10], 1
vpunpcklqdq xmm1, xmm1, xmm0
vpinsrd xmm0, xmm6, dword [rsp + 4], 1
vmovd xmm7, dword [rsp + 0x20]
vmovd xmm6, dword [rsp + 0x14]
vpunpcklqdq xmm0, xmm0, xmm2
vinserti128 ymm0, ymm0, xmm1, 1
vpinsrd xmm1, xmm6, dword [rsp + 0x18], 1
vmovd xmm6, edi
vpxor ymm3, ymm3, ymm0
vpinsrd xmm0, xmm7, dword [rsp + 0x24], 1
vmovd xmm7, dword [rsp + 0x1c]
vpunpcklqdq xmm1, xmm1, xmm0
vpinsrd xmm2, xmm7, r14d, 1
vpinsrd xmm0, xmm6, r12d, 1
vpunpcklqdq xmm0, xmm0, xmm2
vinserti128 ymm0, ymm0, xmm1, 1
vpxor ymm0, ymm3, ymm0
vmovdqu ymmword [r11], ymm0
vzeroupper
vmovups xmm6, xmmword [rsp + 0x100]
vmovups xmm7, xmmword [rsp + 0x110]
vmovups xmm8, xmmword [rsp + 0x120]
vmovups xmm9, xmmword [rsp + 0x130]
add rsp, 0x148
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov r13d, 0xec4e6c89
mov dword [rsp + 8], 0x82efa98
mov ebp, 0x299f31d0
mov eax, 0xa4093822
jmp 0x1400cf113