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