Function at 0x406110
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 [0x0079c840]
pxor xmm11, xmm11
movdqa xmm0, xmm3
movdqa xmm6, xmm3
movdqa xmm8, xmm3
movdqu xmm5, xmmword [rdx]
movdqa xmm7, xmm3
movdqu xmm2, xmmword [rdx + 0x10]
movdqu xmm4, xmmword [rdx + 0x20]
movdqa xmm9, xmm3
pand xmm6, xmm2
pand xmm0, xmm5
pand xmm8, xmm4
mov esi, dword [rcx + 0x24]
mov ebp, dword [rcx + 0x28]
movdqu xmm1, xmmword [rdx + 0x30]
psrlw xmm2, 8
packuswb xmm0, xmm6
mov edx, dword [rcx + 0x20]
psrlw xmm5, 8
psrlw xmm4, 8
mov r14d, dword [rcx + 0x2c]
mov r10d, dword [rcx + 0x3c]
pand xmm7, xmm1
psrlw xmm1, 8
packuswb xmm5, xmm2
mov dword [rsp + 0xac], edx
packuswb xmm8, xmm7
packuswb xmm4, xmm1
movdqa xmm2, xmm3
xor edx, 0x243f6a88
movdqa xmm1, xmm3
pand xmm9, xmm8
pand xmm3, xmm4
xor esi, 0x85a308d3
pand xmm2, xmm0
pand xmm1, xmm5
mov dword [rsp + 0x18], edx
xor ebp, 0x13198a2e
packuswb xmm2, xmm9
packuswb xmm1, xmm3
mov dword [rsp + 0x28], esi
movdqa xmm9, xmm2
psrlw xmm5, 8
psrlw xmm4, 8
movdqa xmm3, xmm1
mov qword [rsp + 0x1e0], rcx
movdqa xmm10, xmm5
punpcklbw xmm9, xmm11
punpcklbw xmm3, xmm11
mov dword [rsp + 0x34], ebp
packuswb xmm10, xmm4
psrlw xmm8, 8
pxor xmm5, xmm5
psrlw xmm0, 8
movdqa xmm4, xmm10
movdqa xmm7, xmm3
packuswb xmm0, xmm8
movdqa xmm8, xmm10
movdqa xmm10, xmm9
movdqa xmm6, xmm0
punpcklwd xmm7, xmm5
punpcklwd xmm10, xmm5
punpcklbw xmm6, xmm11
pslld xmm10, 0x18
punpcklbw xmm8, xmm11
pslld xmm7, 0x10
punpckhwd xmm3, xmm5
punpckhwd xmm9, xmm5
por xmm7, xmm10
movdqa xmm10, xmm6
punpckhwd xmm6, xmm5
punpckhbw xmm2, xmm11
punpckhbw xmm1, xmm11
punpckhbw xmm0, xmm11
punpckhbw xmm4, xmm11
pslld xmm9, 0x18
movdqa xmm11, xmm8
pslld xmm3, 0x10
punpckhwd xmm8, xmm5
punpcklwd xmm10, xmm5
pslld xmm6, 8
por xmm3, xmm9
movdqa xmm9, xmm1
por xmm6, xmm8
punpckhwd xmm1, xmm5
movdqa xmm8, xmm4
por xmm3, xmm6
movdqa xmm6, xmm0
punpckhwd xmm0, xmm5
movaps xmmword [rsp + 0xc0], xmm3
movdqa xmm3, xmm2
punpckhwd xmm2, xmm5
punpckhwd xmm4, xmm5
pslld xmm2, 0x18
pslld xmm1, 0x10
punpcklwd xmm9, xmm5
pslld xmm0, 8
por xmm1, xmm2
punpcklwd xmm3, xmm5
movdqu xmm2, xmmword [rcx + 0x10]
punpcklwd xmm6, xmm5
por xmm0, xmm4
punpcklwd xmm11, xmm5
movaps xmmword [rsp], xmm2
por xmm0, xmm1
pslld xmm10, 8
punpcklwd xmm8, xmm5
mov dword [rsp], r14d
pslld xmm9, 0x10
pslld xmm3, 0x18
movaps xmmword [rsp + 0xe0], xmm0
por xmm10, xmm11
pslld xmm6, 8
por xmm9, xmm3
movdqu xmm0, xmmword [rcx]
por xmm7, xmm10
por xmm6, xmm8
movaps xmmword [rsp + 0xb0], xmm7
xor r14d, 0x3707344
por xmm9, xmm6
movaps xmmword [rsp + 0xd0], xmm9
movaps xmmword [rsp + 0xf0], xmm0
movaps xmmword [rsp + 0x100], xmm2
test r10d, r10d
jne 0x406b60
mov r13d, dword [rcx + 0x34]
mov r11d, dword [rcx + 0x30]
mov r12d, r13d
mov eax, r11d
xor r12d, 0x82efa98
xor eax, 0xa4093822
xor r11d, 0x299f31d0
xor r13d, 0xec4e6c89
mov dword [rsp + 0x24], r11d
mov dword [rsp + 0x30], r12d
mov dword [rsp + 0x40], r13d
mov edx, dword [rsp + 0xf4]
mov ebx, dword [rsp + 0x104]
xor ecx, ecx
mov r12d, 5
mov r15d, dword [rsp + 0x100]
mov esi, dword [rsp + 0xf8]
mov dword [rsp + 0x80], 0xbe5466cf
mov r11d, 0x243f6a88
mov ebp, dword [rsp + 0x108]
mov edi, dword [rsp + 0xfc]
mov dword [rsp + 0x1c], edx
mov r9d, 2
mov dword [rsp], r15d
mov edx, 0x85a308d3
mov r13d, 6
mov r8d, dword [rsp + 0x10c]
mov dword [rsp + 0x20], ebx
mov r10d, dword [rsp + 0xf0]
lea rbx, [0x007979bf]
lea r15, [0x00797940]
mov dword [rsp + 0x2c], esi
mov esi, 0x3707344
mov dword [rsp + 0x38], edi
mov edi, 3
mov dword [rsp + 0x3c], r8d
mov r8d, 4
mov dword [rsp + 0x7c], 0x34e90c6c
mov dword [rsp + 0x78], 0x452821e6
mov dword [rsp + 0x74], 0x38d01377
mov dword [rsp + 0x70], 0xc0ac29b7
mov dword [rsp + 0x6c], 0xc97c50dd
mov dword [rsp + 0x68], 0x3f84d5b5
mov dword [rsp + 0x64], 0xb5470917
mov dword [rsp + 0x60], 0x82efa98
mov dword [rsp + 0x5c], 0xec4e6c89
mov dword [rsp + 0x58], 0xa4093822
mov dword [rsp + 0x54], 0x299f31d0
mov dword [rsp + 0x50], 0x13198a2e
mov dword [rsp + 0xa0], 7
mov dword [rsp + 0x9c], 0xe
mov dword [rsp + 0x98], 0xf
mov dword [rsp + 0x94], 0xc
mov dword [rsp + 0x90], 0xd
mov dword [rsp + 0x8c], 8
mov dword [rsp + 0xa8], r12d
mov r12d, ebp
mov ebp, 1
mov dword [rsp + 0x88], 9
mov dword [rsp + 0x84], 0xa
mov dword [rsp + 0xa4], 0xb
mov dword [rsp + 0x44], r14d
jmp 0x4066aa
movzx ebp, byte [rbx - 0x2e]
movzx edi, byte [rbx - 0x2c]
prefetcht0 byte [rbx]
add rbx, 0x10
movzx ecx, byte [rbx - 0x3f]
movsxd rsi, ebp
movsxd r9, edi
movsxd r14, ecx
mov edx, dword [r15 + rsi*4]
mov esi, dword [r15 + r9*4]
movzx r9d, byte [rbx - 0x3d]
mov r11d, dword [r15 + r14*4]
movsxd r13, r9d
mov r8d, dword [r15 + r13*4]
movzx r14d, byte [rbx - 0x3a]
mov dword [rsp + 0x50], r8d
movzx r8d, byte [rbx - 0x3b]
mov dword [rsp + 0xa8], r14d
mov r13d, dword [r15 + r14*4]
movsxd r14, r8d
mov dword [rsp + 0x54], r13d
mov r13d, dword [r15 + r14*4]
mov dword [rsp + 0x58], r13d
movzx r13d, byte [rbx - 0x38]
mov dword [rsp + 0xa0], r13d
mov r13d, dword [r15 + r13*4]
mov dword [rsp + 0x5c], r13d
movzx r13d, byte [rbx - 0x39]
movsxd r14, r13d
mov r14d, dword [r15 + r14*4]
mov dword [rsp + 0x60], r14d
movzx r14d, byte [rbx - 0x30]
mov dword [rsp + 0x98], r14d
mov r14d, dword [r15 + r14*4]
mov dword [rsp + 0x64], r14d
movzx r14d, byte [rbx - 0x31]
mov dword [rsp + 0x9c], r14d
mov r14d, dword [r15 + r14*4]
mov dword [rsp + 0x68], r14d
movzx r14d, byte [rbx - 0x32]
mov dword [rsp + 0x90], r14d
mov r14d, dword [r15 + r14*4]
mov dword [rsp + 0x6c], r14d
movzx r14d, byte [rbx - 0x33]
mov dword [rsp + 0x94], r14d
mov r14d, dword [r15 + r14*4]
mov dword [rsp + 0x70], r14d
movzx r14d, byte [rbx - 0x36]
mov dword [rsp + 0x88], r14d
mov r14d, dword [r15 + r14*4]
mov dword [rsp + 0x74], r14d
movzx r14d, byte [rbx - 0x37]
mov dword [rsp + 0x8c], r14d
mov r14d, dword [r15 + r14*4]
mov dword [rsp + 0x78], r14d
movzx r14d, byte [rbx - 0x34]
mov dword [rsp + 0xa4], r14d
mov r14d, dword [r15 + r14*4]
mov dword [rsp + 0x7c], r14d
movzx r14d, byte [rbx - 0x35]
mov dword [rsp + 0x84], r14d
mov r14d, dword [r15 + r14*4]
mov dword [rsp + 0x80], r14d
mov r14d, dword [rsp]
xor edx, dword [rsp + rcx*4 + 0xb0]
add edx, r14d
add edx, r10d
xor eax, edx
mov ecx, dword [rsp + 0x18]
xor r11d, dword [rsp + rbp*4 + 0xb0]
rol eax, 0x10
add r11d, edx
xor esi, dword [rsp + r9*4 + 0xb0]
mov r9d, dword [rsp + 0x24]
add ecx, eax
xor r14d, ecx
mov edx, dword [rsp + 0x50]
xor edx, dword [rsp + rdi*4 + 0xb0]
mov r10d, r14d
ror r10d, 0xc
mov r14d, dword [rsp + 0x28]
mov edi, dword [rsp + 0x34]
lea r11d, [r11 + r10]
xor eax, r11d
mov dword [rsp + 0x48], r11d
mov r11d, dword [rsp + 0x30]
ror eax, 8
add ecx, eax
mov dword [rsp + 0x4c], eax
mov eax, dword [rsp + 0x20]
add esi, eax
add esi, dword [rsp + 0x1c]
xor r10d, ecx
mov ebp, dword [rsp + 0x60]
mov dword [rsp + 0x18], ecx
xor r9d, esi
add esi, edx
mov ecx, dword [rsp + 0x54]
ror r10d, 7
rol r9d, 0x10
xor ecx, dword [rsp + r8*4 + 0xb0]
movsxd r8, dword [rsp + 0xa8]
add r14d, r9d
xor eax, r14d
ror eax, 0xc
add esi, eax
xor r9d, esi
ror r9d, 8
mov dword [rsp + 0x1c], esi
mov esi, ecx
mov ecx, dword [rsp + 0x40]
add r14d, r9d
xor eax, r14d
ror eax, 7
add esi, r12d
add esi, dword [rsp + 0x2c]
xor r11d, esi
rol r11d, 0x10
add edi, r11d
xor r12d, edi
mov edx, r12d
mov r12d, dword [rsp + 0x58]
xor r12d, dword [rsp + r8*4 + 0xb0]
ror edx, 0xc
add r12d, esi
mov r8d, dword [rsp + 0x3c]
mov esi, dword [rsp + 0x44]
add r12d, edx
xor r11d, r12d
mov dword [rsp + 0x20], r12d
mov r12d, dword [rsp + 0x5c]
xor r12d, dword [rsp + r13*4 + 0xb0]
movsxd r13, dword [rsp + 0xa0]
ror r11d, 8
add r12d, r8d
add r12d, dword [rsp + 0x38]
add edi, r11d
xor ecx, r12d
xor edx, edi
rol ecx, 0x10
xor ebp, dword [rsp + r13*4 + 0xb0]
ror edx, 7
movsxd r13, dword [rsp + 0x9c]
add esi, ecx
add r12d, ebp
mov ebp, dword [rsp + 0x64]
xor r8d, esi
ror r8d, 0xc
xor ebp, dword [rsp + r13*4 + 0xb0]
movsxd r13, dword [rsp + 0x98]
add r12d, r8d
xor ecx, r12d
ror ecx, 8
add esi, ecx
xor r8d, esi
ror r8d, 7
add r12d, ebp
mov ebp, dword [rsp + 0x68]
xor ebp, dword [rsp + r13*4 + 0xb0]
add r12d, r10d
mov r13d, dword [rsp + 0x20]
xor r11d, r12d
rol r11d, 0x10
add r14d, r11d
add r12d, ebp
mov ebp, dword [rsp + 0x18]
xor r10d, r14d
ror r10d, 0xc
lea r12d, [r12 + r10]
xor r11d, r12d
mov dword [rsp + 0x38], r12d
ror r11d, 8
mov r12d, dword [rsp + 0x70]
add r14d, r11d
mov dword [rsp + 0x30], r11d
xor r10d, r14d
mov dword [rsp + 0x28], r14d
mov r14d, dword [rsp + 0x6c]
ror r10d, 7
mov dword [rsp], r10d
movsxd r10, dword [rsp + 0x94]
movsxd r11, dword [rsp + 0x90]
xor r14d, dword [rsp + r10*4 + 0xb0]
add r13d, r14d
add r13d, r8d
xor r9d, r13d
xor r12d, dword [rsp + r11*4 + 0xb0]
mov r10d, dword [rsp + 0x78]
rol r9d, 0x10
add ebp, r9d
add r13d, r12d
xor r8d, ebp
ror r8d, 0xc
lea r14d, [r13 + r8]
mov r13d, dword [rsp + 0x74]
xor r9d, r14d
mov dword [rsp + 0x2c], r14d
ror r9d, 8
add ebp, r9d
mov dword [rsp + 0x24], r9d
movsxd r9, dword [rsp + 0x8c]
xor r8d, ebp
mov dword [rsp + 0x18], ebp
xor r13d, dword [rsp + r9*4 + 0xb0]
ror r8d, 7
add r13d, dword [rsp + 0x48]
mov dword [rsp + 0x3c], r8d
add r13d, eax
xor ecx, r13d
rol ecx, 0x10
movsxd r8, dword [rsp + 0x88]
add edi, ecx
xor r10d, dword [rsp + r8*4 + 0xb0]
xor eax, edi
add r10d, r13d
ror eax, 0xc
add r10d, eax
xor ecx, r10d
ror ecx, 8
add edi, ecx
mov dword [rsp + 0x40], ecx
xor eax, edi
mov dword [rsp + 0x34], edi
ror eax, 7
mov dword [rsp + 0x20], eax
movsxd rdi, dword [rsp + 0x84]
mov ecx, dword [rsp + 0x7c]
mov eax, dword [rsp + 0x4c]
xor ecx, dword [rsp + rdi*4 + 0xb0]
add ecx, dword [rsp + 0x1c]
add ecx, edx
xor eax, ecx
rol eax, 0x10
movsxd rbp, dword [rsp + 0xa4]
mov r8d, dword [rsp + 0x80]
add esi, eax
xor edx, esi
xor r8d, dword [rsp + rbp*4 + 0xb0]
ror edx, 0xc
add ecx, r8d
lea r12d, [rcx + rdx]
xor eax, r12d
mov dword [rsp + 0x1c], r12d
ror eax, 8
add esi, eax
xor edx, esi
mov dword [rsp + 0x44], esi
ror edx, 7
mov r12d, edx
lea rdx, [0x00797a8f]
cmp rdx, rbx
jne 0x406570
movd xmm7, dword [rsp + 0x1c]
movd xmm1, dword [rsp + 0x2c]
mov dword [rsp + 0x2c], r10d
movd xmm4, dword [rsp + 0x38]
mov ebx, dword [rsp + 0x44]
mov dword [rsp + 0x1c], r12d
punpckldq xmm1, xmm4
movd xmm5, dword [rsp + 0x2c]
movd xmm9, dword [rsp]
mov dword [rsp], ebx
punpckldq xmm5, xmm7
punpcklqdq xmm5, xmm1
movd xmm8, dword [rsp]
movd xmm11, dword [rsp + 0x3c]
mov dword [rsp], eax
movaps xmmword [rsp + 0xf0], xmm5
movd xmm7, dword [rsp + 0x24]
movq r15, xmm5
movd xmm10, dword [rsp + 0x1c]
movd xmm3, dword [rsp + 0x20]
movd xmm6, dword [rsp + 0x34]
punpckldq xmm10, xmm11
punpckldq xmm6, xmm8
movd xmm0, dword [rsp + 0x18]
movd xmm5, dword [rsp]
punpckldq xmm9, xmm3
punpckldq xmm5, xmm7
movd xmm2, dword [rsp + 0x28]
movd xmm1, dword [rsp + 0x30]
punpcklqdq xmm9, xmm10
punpckldq xmm0, xmm2
movd xmm4, dword [rsp + 0x40]
punpcklqdq xmm0, xmm6
mov rcx, qword [rsp + 0x1e0]
movq r10, xmm9
movaps xmmword [rsp + 0x100], xmm9
mov rdx, qword [rsp + 0xf8]
movq rbp, xmm0
punpckldq xmm1, xmm4
punpcklqdq xmm5, xmm1
xor qword [rcx], r15
movq rax, xmm5
movaps xmmword [rsp + 0x110], xmm0
movaps xmmword [rsp + 0x120], xmm5
xor qword [rcx + 8], rdx
xor qword [rcx + 0x10], r10
mov r14, qword [rsp + 0x1e0]
xor qword [rcx], rbp
mov r11, qword [rsp + 0x108]
xor qword [rcx + 0x10], rax
mov rdi, qword [rsp + 0x118]
xor qword [rcx + 0x18], r11
mov rsi, qword [rsp + 0x128]
xor qword [rcx + 8], rdi
mov r8d, dword [rsp + 0xac]
xor qword [rcx + 0x18], rsi
mov r12, qword [r14 + 0x24]
xor dword [rcx], r8d
mov r15, qword [r14 + 0x20]
xor qword [r14 + 4], r12
mov rbp, qword [r14 + 0x28]
xor qword [r14 + 0x10], r15
mov r13d, dword [rcx + 0xc]
xor qword [r14 + 0x18], rbp
xor r13d, dword [r14 + 0x2c]
mov dword [r14 + 0xc], r13d
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 dword [rsp + 0x40], 0xec4e6c89
mov eax, 0xa4093822
mov dword [rsp + 0x24], 0x299f31d0
mov dword [rsp + 0x30], 0x82efa98
jmp 0x4063f7