Function at 0x688970
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, 0x198
movaps xmmword [rsp + 0x130], xmm6
movaps xmmword [rsp + 0x140], xmm7
movaps xmmword [rsp + 0x150], xmm8
movaps xmmword [rsp + 0x160], xmm9
movaps xmmword [rsp + 0x170], xmm10
movaps xmmword [rsp + 0x180], xmm11
movdqa xmm3, xmmword [0x00ae9d80]
mov rax, qword [rcx]
movdqa xmm0, xmm3
movdqa xmm6, xmm3
movdqa xmm7, xmm3
movdqu xmm5, xmmword [rdx]
movdqu xmm2, xmmword [rdx + 0x10]
movdqu xmm4, xmmword [rdx + 0x20]
pand xmm0, xmm5
psrlw xmm5, 8
mov qword [rsp + 0xb0], rax
mov rax, qword [rcx + 8]
pand xmm6, xmm2
psrlw xmm2, 8
movdqu xmm1, xmmword [rdx + 0x30]
packuswb xmm0, xmm6
packuswb xmm5, xmm2
movdqa xmm6, xmm3
movdqa xmm2, xmm3
pand xmm6, xmm4
psrlw xmm4, 8
mov qword [rsp + 0x1e0], rcx
pand xmm2, xmm1
psrlw xmm1, 8
packuswb xmm6, xmm2
movdqa xmm2, xmm3
mov qword [rsp + 0xb8], rax
mov rax, qword [rcx + 0x10]
packuswb xmm4, xmm1
movdqa xmm1, xmm3
pand xmm1, xmm5
pand xmm7, xmm6
pand xmm3, xmm4
psrlw xmm5, 8
pand xmm2, xmm0
psrlw xmm6, 8
packuswb xmm2, xmm7
packuswb xmm1, xmm3
psrlw xmm4, 8
movdqa xmm7, xmm5
movdqa xmm9, xmm2
pxor xmm5, xmm5
mov qword [rsp + 0xc0], rax
mov rax, qword [rcx + 0x18]
movdqa xmm3, xmm1
psrlw xmm0, 8
packuswb xmm7, xmm4
punpcklbw xmm3, xmm5
packuswb xmm0, xmm6
punpcklbw xmm9, xmm5
movdqa xmm4, xmm7
movdqa xmm6, xmm0
movdqa xmm8, xmm7
punpckhbw xmm2, xmm5
movdqa xmm7, xmm3
punpckhbw xmm1, xmm5
punpcklbw xmm6, xmm5
movdqa xmm10, xmm9
mov qword [rsp + 0xc8], rax
mov eax, dword [rcx + 0x20]
punpckhbw xmm0, xmm5
punpckhbw xmm4, xmm5
punpcklbw xmm8, xmm5
pxor xmm5, xmm5
punpcklwd xmm7, xmm5
punpcklwd xmm10, xmm5
pslld xmm7, 0x10
punpckhwd xmm3, xmm5
punpckhwd xmm9, xmm5
movdqa xmm11, xmm8
pslld xmm10, 0x18
punpckhwd xmm8, xmm5
punpcklwd xmm11, xmm5
mov dword [rsp + 0xac], eax
xor eax, 0x243f6a88
por xmm7, xmm10
pslld xmm3, 0x10
mov dword [rsp + 0x20], eax
mov eax, dword [rcx + 0x24]
movdqa xmm10, xmm6
pslld xmm9, 0x18
punpckhwd xmm6, xmm5
pslld xmm6, 8
por xmm3, xmm9
punpcklwd xmm10, xmm5
por xmm6, xmm8
por xmm3, xmm6
movdqa xmm6, xmm2
movaps xmmword [rsp + 0x100], xmm3
movdqa xmm3, xmm1
punpcklwd xmm6, xmm5
punpckhwd xmm1, xmm5
punpckhwd xmm2, xmm5
xor eax, 0x85a308d3
pslld xmm6, 0x18
punpcklwd xmm3, xmm5
mov dword [rsp + 0x30], eax
pslld xmm3, 0x10
mov eax, dword [rcx + 0x28]
por xmm3, xmm6
pslld xmm10, 8
movdqa xmm6, xmm0
punpckhwd xmm0, xmm5
pslld xmm1, 0x10
por xmm10, xmm11
por xmm7, xmm10
movaps xmmword [rsp + 0xf0], xmm7
pslld xmm2, 0x18
movdqa xmm7, xmm4
punpckhwd xmm4, xmm5
punpcklwd xmm6, xmm5
pslld xmm0, 8
por xmm1, xmm2
xor eax, 0x13198a2e
punpcklwd xmm7, xmm5
por xmm0, xmm4
movdqu xmm4, xmmword [rcx + 0x20]
por xmm0, xmm1
movaps xmmword [rsp + 0x120], xmm0
movdqa xmm0, xmmword [0x00ae9d90]
mov dword [rsp + 0x40], eax
pslld xmm6, 8
mov eax, dword [rcx + 0x2c]
por xmm6, xmm7
movaps xmmword [rsp], xmm4
por xmm3, xmm6
pxor xmm0, xmm4
movaps xmmword [rsp + 0xd0], xmm0
movdqa xmm0, xmmword [0x00ae9da0]
movaps xmmword [rsp + 0x110], xmm3
movaps xmmword [rsp + 0xe0], xmm0
mov edx, dword [rcx + 0x3c]
mov r14d, eax
xor r14d, 0x3707344
test edx, edx
jne 0x6893a0
mov r13d, dword [rcx + 0x34]
mov edx, dword [rcx + 0x30]
mov eax, r13d
xor r13d, 0xec4e6c89
mov ebx, edx
xor eax, 0x82efa98
xor edx, 0x299f31d0
mov dword [rsp + 0x4c], r13d
xor ebx, 0xa4093822
mov dword [rsp + 0x2c], edx
mov dword [rsp + 0x3c], eax
mov eax, dword [rsp + 0xbc]
xor ecx, ecx
mov dword [rsp + 0x84], 0xbe5466cf
mov ebp, 0x13198a2e
mov dword [rsp + 0x7c], 0x452821e6
movsxd r11, ecx
mov esi, 0x3707344
mov r10d, 0x243f6a88
mov dword [rsp + 0x80], 0x34e90c6c
lea r9, [0x00ae9cb0]
mov edi, 1
mov edx, 2
mov dword [rsp + 0x78], 0x38d01377
mov r8d, 4
mov r12d, 5
mov r13d, 6
mov dword [rsp + 0x44], eax
mov eax, dword [rsp + 0xc0]
lea r15, [0x00ae9c60]
mov ecx, 3
mov dword [rsp + 0x74], 0xc0ac29b7
mov dword [rsp + 0x70], 0xc97c50dd
mov dword [rsp + 0x6c], 0x3f84d5b5
mov dword [rsp + 0x1c], eax
mov eax, dword [rsp + 0xb8]
mov dword [rsp + 0x68], 0xb5470917
mov dword [rsp + 0x64], 0x82efa98
mov dword [rsp + 0x60], 0xec4e6c89
mov dword [rsp + 0x34], eax
mov eax, dword [rsp + 0xcc]
mov dword [rsp + 0x5c], 0xa4093822
mov dword [rsp + 0x58], 0x299f31d0
mov dword [rsp + 0xa8], 7
mov dword [rsp + 0x48], eax
mov eax, dword [rsp + 0xb0]
mov dword [rsp + 0xa4], 0xe
mov dword [rsp + 0xa0], 0xf
mov dword [rsp + 0x9c], 0xc
mov dword [rsp], eax
mov eax, dword [rsp + 0xc4]
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0xb4]
mov dword [rsp + 0x24], eax
mov eax, dword [rsp + 0xc8]
mov dword [rsp + 0x38], eax
mov eax, 0x85a308d3
mov dword [rsp + 0x98], 0xd
mov dword [rsp + 0x94], 8
mov dword [rsp + 0x90], 9
mov dword [rsp + 0x8c], 0xa
mov dword [rsp + 0x88], 0xb
mov dword [rsp + 0x50], r14d
jmp 0x688f13
movzx r11d, byte [r9]
add r9, 0x10
movzx ecx, byte [r9 - 0xd]
movzx r12d, byte [r9 - 0xb]
movzx edi, byte [r9 - 0xf]
movsxd rdx, r11d
mov r10d, dword [r15 + rdx*4]
movsxd rdx, ecx
mov esi, dword [r15 + rdx*4]
movzx edx, byte [r9 - 0xe]
movsxd rax, edi
mov eax, dword [r15 + rax*4]
movsxd r8, edx
mov ebp, dword [r15 + r8*4]
movsxd r8, r12d
mov r8d, dword [r15 + r8*4]
mov dword [rsp + 0x58], r8d
movzx r8d, byte [r9 - 0xc]
movsxd r13, r8d
mov r14d, dword [r15 + r13*4]
movzx r13d, byte [r9 - 9]
mov dword [rsp + 0x5c], r14d
mov dword [rsp + 0xa8], r13d
mov r14d, dword [r15 + r13*4]
movzx r13d, byte [r9 - 0xa]
mov dword [rsp + 0x60], r14d
movsxd r14, r13d
mov r14d, dword [r15 + r14*4]
mov dword [rsp + 0x64], r14d
movzx r14d, byte [r9 - 1]
mov dword [rsp + 0xa0], r14d
mov r14d, dword [r15 + r14*4]
mov dword [rsp + 0x68], r14d
movzx r14d, byte [r9 - 2]
mov dword [rsp + 0xa4], r14d
mov r14d, dword [r15 + r14*4]
mov dword [rsp + 0x6c], r14d
movzx r14d, byte [r9 - 3]
mov dword [rsp + 0x98], r14d
mov r14d, dword [r15 + r14*4]
mov dword [rsp + 0x70], r14d
movzx r14d, byte [r9 - 4]
mov dword [rsp + 0x9c], r14d
mov r14d, dword [r15 + r14*4]
mov dword [rsp + 0x74], r14d
movzx r14d, byte [r9 - 7]
mov dword [rsp + 0x90], r14d
mov r14d, dword [r15 + r14*4]
mov dword [rsp + 0x78], r14d
movzx r14d, byte [r9 - 8]
mov dword [rsp + 0x94], r14d
mov r14d, dword [r15 + r14*4]
mov dword [rsp + 0x7c], r14d
movzx r14d, byte [r9 - 5]
mov dword [rsp + 0x88], r14d
mov r14d, dword [r15 + r14*4]
mov dword [rsp + 0x80], r14d
movzx r14d, byte [r9 - 6]
mov dword [rsp + 0x8c], r14d
mov r14d, dword [r15 + r14*4]
mov dword [rsp + 0x84], r14d
xor eax, dword [rsp + r11*4 + 0xf0]
mov r11d, dword [rsp + 0x1c]
mov r14d, dword [rsp + 0x20]
xor r10d, dword [rsp + rdi*4 + 0xf0]
xor esi, dword [rsp + rdx*4 + 0xf0]
add eax, r11d
add eax, dword [rsp]
mov edi, dword [rsp + 0x28]
mov edx, dword [rsp + 0x30]
xor ebp, dword [rsp + rcx*4 + 0xf0]
xor ebx, eax
add r10d, eax
mov ecx, dword [rsp + 0x58]
rol ebx, 0x10
add esi, edi
add esi, dword [rsp + 0x24]
add r14d, ebx
xor ecx, dword [rsp + r8*4 + 0xf0]
xor r11d, r14d
mov r8d, dword [rsp + 0x48]
ror r11d, 0xc
lea eax, [r10 + r11]
mov r10d, dword [rsp + 0x2c]
add ebp, esi
xor ebx, eax
mov dword [rsp], eax
mov eax, ebx
mov ebx, dword [rsp + 0x3c]
ror eax, 8
xor r10d, esi
add r14d, eax
mov dword [rsp + 0x54], eax
rol r10d, 0x10
xor r11d, r14d
mov dword [rsp + 0x20], r14d
add edx, r10d
ror r11d, 7
xor edi, edx
mov r14d, edx
mov edx, edi
mov edi, dword [rsp + 0x40]
ror edx, 0xc
lea esi, [rbp + rdx]
mov ebp, dword [rsp + 0x5c]
xor r10d, esi
mov dword [rsp + 0x24], esi
mov esi, dword [rsp + 0x38]
ror r10d, 8
add r14d, r10d
xor edx, r14d
ror edx, 7
add ecx, esi
add ecx, dword [rsp + 0x34]
xor ebp, dword [rsp + r12*4 + 0xf0]
mov dword [rsp + 0x28], edx
mov r12d, dword [rsp + 0x60]
xor r12d, dword [rsp + r13*4 + 0xf0]
xor ebx, ecx
mov r13d, dword [rsp + 0x50]
add ebp, ecx
mov ecx, dword [rsp + 0x4c]
rol ebx, 0x10
add edi, ebx
mov edx, dword [rsp + 0x64]
add r12d, r8d
add r12d, dword [rsp + 0x44]
xor esi, edi
mov eax, esi
ror eax, 0xc
add ebp, eax
xor ecx, r12d
xor ebx, ebp
rol ecx, 0x10
ror ebx, 8
add r13d, ecx
add edi, ebx
xor r8d, r13d
mov esi, r13d
movsxd r13, dword [rsp + 0xa8]
xor eax, edi
ror r8d, 0xc
ror eax, 7
xor edx, dword [rsp + r13*4 + 0xf0]
movsxd r13, dword [rsp + 0xa4]
add r12d, edx
mov edx, dword [rsp + 0x68]
add r12d, r8d
xor edx, dword [rsp + r13*4 + 0xf0]
xor ecx, r12d
movsxd r13, dword [rsp + 0xa0]
ror ecx, 8
add esi, ecx
xor r8d, esi
add r12d, edx
mov edx, dword [rsp + 0x6c]
ror r8d, 7
add r12d, r11d
xor edx, dword [rsp + r13*4 + 0xf0]
xor ebx, r12d
rol ebx, 0x10
add r14d, ebx
xor r11d, r14d
add r12d, edx
ror r11d, 0xc
lea edx, [r12 + r11]
mov r12d, r14d
mov r14d, dword [rsp + 0x20]
xor ebx, edx
mov dword [rsp + 0x44], edx
mov r13d, ebx
mov ebx, dword [rsp + 0x28]
ror r13d, 8
add r12d, r13d
mov dword [rsp + 0x3c], r13d
xor r11d, r12d
mov dword [rsp + 0x30], r12d
mov edx, r11d
movsxd r11, dword [rsp + 0x9c]
ror edx, 7
mov dword [rsp + 0x1c], edx
mov edx, dword [rsp + 0x70]
xor edx, dword [rsp + r11*4 + 0xf0]
movsxd r11, dword [rsp + 0x98]
add ebp, edx
mov edx, dword [rsp + 0x74]
add ebp, r8d
xor edx, dword [rsp + r11*4 + 0xf0]
xor r10d, ebp
mov r11d, dword [rsp + 0x7c]
rol r10d, 0x10
add r14d, r10d
xor r8d, r14d
add ebp, edx
ror r8d, 0xc
lea edx, [rbp + r8]
xor r10d, edx
mov dword [rsp + 0x34], edx
ror r10d, 8
add r14d, r10d
mov dword [rsp + 0x2c], r10d
mov r10d, dword [rsp + 0x78]
xor r8d, r14d
mov dword [rsp + 0x20], r14d
ror r8d, 7
mov dword [rsp + 0x48], r8d
movsxd r8, dword [rsp + 0x94]
xor r10d, dword [rsp + r8*4 + 0xf0]
add r10d, dword [rsp]
movsxd r8, dword [rsp + 0x90]
add r10d, ebx
xor ecx, r10d
rol ecx, 0x10
xor r11d, dword [rsp + r8*4 + 0xf0]
add edi, ecx
xor ebx, edi
mov edx, ebx
ror edx, 0xc
add r10d, r11d
lea r8d, [r10 + rdx]
xor ecx, r8d
mov dword [rsp], r8d
ror ecx, 8
add edi, ecx
mov dword [rsp + 0x4c], ecx
xor edx, edi
mov dword [rsp + 0x40], edi
mov ebp, dword [rsp + 0x80]
ror edx, 7
mov ebx, dword [rsp + 0x54]
mov dword [rsp + 0x28], edx
movsxd rdx, dword [rsp + 0x8c]
mov edi, dword [rsp + 0x84]
xor ebp, dword [rsp + rdx*4 + 0xf0]
add ebp, dword [rsp + 0x24]
movsxd rdx, dword [rsp + 0x88]
add ebp, eax
xor ebx, ebp
xor edi, dword [rsp + rdx*4 + 0xf0]
rol ebx, 0x10
add esi, ebx
xor eax, esi
ror eax, 0xc
add ebp, edi
lea edi, [rbp + rax]
xor ebx, edi
mov dword [rsp + 0x24], edi
ror ebx, 8
add esi, ebx
xor eax, esi
mov dword [rsp + 0x50], esi
ror eax, 7
mov dword [rsp + 0x38], eax
lea rax, [0x00ae9d80]
cmp rax, r9
jne 0x688de1
movd xmm4, dword [rsp + 0x44]
movd xmm0, r8d
movd xmm7, r12d
movd xmm1, dword [rsp + 0x34]
movd xmm2, dword [rsp + 0x28]
punpckldq xmm1, xmm4
movd xmm4, dword [rsp + 0x24]
punpckldq xmm0, xmm4
movd xmm4, dword [rsp + 0x48]
punpcklqdq xmm0, xmm1
movaps xmmword [rsp + 0xb0], xmm0
movq rax, xmm0
movd xmm1, dword [rsp + 0x38]
movd xmm0, dword [rsp + 0x1c]
punpckldq xmm1, xmm4
movd xmm4, esi
mov rsi, qword [rsp + 0x1e0]
punpckldq xmm0, xmm2
punpcklqdq xmm0, xmm1
movd xmm1, dword [rsp + 0x40]
movaps xmmword [rsp + 0xc0], xmm0
movq r8, xmm0
movd xmm0, dword [rsp + 0x20]
punpckldq xmm1, xmm4
movd xmm2, dword [rsp + 0x4c]
movd xmm4, dword [rsp + 0x2c]
punpckldq xmm0, xmm7
punpcklqdq xmm0, xmm1
movaps xmmword [rsp + 0xd0], xmm0
movd xmm1, dword [rsp + 0x3c]
movq rcx, xmm0
movd xmm0, ebx
xor qword [rsi], rax
punpckldq xmm0, xmm4
mov rax, qword [rsp + 0xb8]
punpckldq xmm1, xmm2
punpcklqdq xmm0, xmm1
movq rdx, xmm0
xor qword [rsi + 8], rax
xor qword [rsi + 0x10], r8
movaps xmmword [rsp + 0xe0], xmm0
mov rax, qword [rsp + 0xc8]
xor qword [rsi], rcx
xor qword [rsi + 0x18], rax
mov rax, qword [rsp + 0xd8]
xor qword [rsi + 8], rax
xor qword [rsi + 0x10], rdx
mov rax, qword [rsp + 0xe8]
xor qword [rsi + 0x18], rax
mov rax, rsi
mov esi, dword [rsp + 0xac]
xor dword [rax], esi
mov rsi, qword [rsp + 0x1e0]
mov eax, dword [rax + 0xc]
xor eax, dword [rsi + 0x2c]
mov rdx, qword [rsi + 0x24]
xor qword [rsi + 4], rdx
mov dword [rsi + 0xc], eax
mov rax, qword [rsi + 0x20]
xor qword [rsi + 0x10], rax
mov rax, qword [rsi + 0x28]
xor qword [rsi + 0x18], rax
movaps xmm6, xmmword [rsp + 0x130]
movaps xmm7, xmmword [rsp + 0x140]
movaps xmm8, xmmword [rsp + 0x150]
movaps xmm9, xmmword [rsp + 0x160]
movaps xmm10, xmmword [rsp + 0x170]
movaps xmm11, xmmword [rsp + 0x180]
add rsp, 0x198
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov ebx, 0xa4093822
mov dword [rsp + 0x4c], 0xec4e6c89
mov dword [rsp + 0x2c], 0x299f31d0
mov dword [rsp + 0x3c], 0x82efa98
jmp 0x688c6e