Function at 0x431540
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, 0x178
movaps xmmword [rsp + 0x120], xmm6
movaps xmmword [rsp + 0x130], xmm7
movaps xmmword [rsp + 0x140], xmm8
movaps xmmword [rsp + 0x150], xmm9
movaps xmmword [rsp + 0x160], xmm10
pxor xmm10, xmm10
movdqa xmm3, xmmword [0x00519600]
mov r11d, dword [rcx + 0x20]
mov r13d, dword [rcx + 0x24]
movdqu xmm1, xmmword [rdx]
movdqa xmm2, xmm3
movdqa xmm6, xmm3
mov r15d, dword [rcx + 0x28]
movdqu xmm5, xmmword [rdx + 0x10]
movdqa xmm8, xmm3
movdqa xmm7, xmm3
movdqu xmm4, xmmword [rdx + 0x20]
pand xmm6, xmm5
psrlw xmm5, 8
movdqa xmm9, xmm3
movdqu xmm0, xmmword [rdx + 0x30]
pand xmm2, xmm1
psrlw xmm1, 8
mov rdx, qword [rcx]
pand xmm7, xmm0
psrlw xmm0, 8
mov rsi, qword [rcx + 8]
pand xmm8, xmm4
psrlw xmm4, 8
mov rbp, qword [rcx + 0x10]
packuswb xmm2, xmm6
mov qword [rsp + 0xa0], rdx
mov edx, dword [rcx + 0x2c]
packuswb xmm1, xmm5
mov r9, qword [rcx + 0x18]
packuswb xmm8, xmm7
mov dword [rsp + 0x90], r11d
packuswb xmm4, xmm0
xor r11d, 0x243f6a88
movdqa xmm5, xmm3
mov dword [rsp + 0x94], r13d
movdqa xmm0, xmm3
xor r13d, 0x85a308d3
pand xmm9, xmm8
psrlw xmm8, 8
mov dword [rsp + 0x98], r15d
pand xmm3, xmm4
psrlw xmm4, 8
xor r15d, 0x13198a2e
pand xmm5, xmm2
psrlw xmm2, 8
mov dword [rsp + 0x9c], edx
pand xmm0, xmm1
psrlw xmm1, 8
xor edx, 0x3707344
packuswb xmm2, xmm8
mov qword [rsp + 0xa8], rsi
packuswb xmm5, xmm9
mov qword [rsp + 0x1c0], rcx
packuswb xmm0, xmm3
mov qword [rsp + 0xb0], rbp
packuswb xmm1, xmm4
mov qword [rsp + 0xb8], r9
movdqa xmm9, xmm5
mov dword [rsp + 0x18], r11d
movdqa xmm4, xmm0
mov dword [rsp + 0x10], r13d
punpcklbw xmm9, xmm10
mov dword [rsp + 0x28], r15d
punpcklbw xmm4, xmm10
mov dword [rsp + 0x38], edx
movdqa xmm7, xmm2
movdqa xmm8, xmm1
pxor xmm3, xmm3
punpckhbw xmm5, xmm10
punpckhbw xmm0, xmm10
movdqa xmm6, xmm4
punpcklbw xmm7, xmm10
punpckhbw xmm2, xmm10
punpcklbw xmm8, xmm10
punpckhbw xmm1, xmm10
movdqa xmm10, xmm9
punpcklwd xmm6, xmm3
punpcklwd xmm10, xmm3
punpckhwd xmm4, xmm3
punpckhwd xmm9, xmm3
pslld xmm6, 0x10
pslld xmm10, 0x18
por xmm6, xmm10
movdqa xmm10, xmm8
pslld xmm4, 0x10
punpckhwd xmm8, xmm3
punpcklwd xmm10, xmm3
pslld xmm9, 0x18
por xmm4, xmm9
movdqa xmm9, xmm0
punpckhwd xmm0, xmm3
por xmm6, xmm10
movdqa xmm10, xmm7
por xmm4, xmm8
punpckhwd xmm7, xmm3
pslld xmm0, 0x10
movdqa xmm8, xmm2
punpcklwd xmm9, xmm3
punpcklwd xmm10, xmm3
pslld xmm7, 8
por xmm4, xmm7
movdqa xmm7, xmm1
punpckhwd xmm1, xmm3
pslld xmm9, 0x10
punpcklwd xmm7, xmm3
pslld xmm10, 8
movaps xmmword [rsp + 0xf0], xmm4
movdqa xmm4, xmm5
punpckhwd xmm5, xmm3
punpcklwd xmm4, xmm3
punpcklwd xmm8, xmm3
pslld xmm5, 0x18
por xmm0, xmm5
pslld xmm4, 0x18
por xmm9, xmm4
punpckhwd xmm2, xmm3
pslld xmm8, 8
por xmm0, xmm1
movdqu xmm1, xmmword [rcx + 0x20]
por xmm9, xmm7
pxor xmm1, xmmword [0x00519610]
pslld xmm2, 8
por xmm6, xmm10
por xmm0, xmm2
por xmm9, xmm8
movaps xmmword [rsp + 0xe0], xmm6
movaps xmmword [rsp + 0x100], xmm9
movaps xmmword [rsp + 0x110], xmm0
movaps xmmword [rsp + 0xc0], xmm1
mov esi, dword [rcx + 0x3c]
movdqa xmm2, xmmword [0x00519620]
test esi, esi
movaps xmmword [rsp + 0xd0], xmm2
jne 0x432040
mov edi, dword [rcx + 0x30]
mov r8d, dword [rcx + 0x34]
mov ebp, edi
mov r9d, r8d
xor r8d, 0xec4e6c89
xor ebp, 0xa4093822
xor r9d, 0x82efa98
xor edi, 0x299f31d0
mov dword [rsp + 0x34], ebp
mov dword [rsp + 0xc], r9d
mov dword [rsp + 0x24], r8d
mov r10d, dword [rsp + 0xa0]
mov r13d, dword [rsp + 0xb0]
mov ebx, 2
mov r11d, dword [rsp + 0xa4]
mov r12d, dword [rsp + 0xb4]
mov r9d, 1
mov r14d, dword [rsp + 0xa8]
mov r15d, dword [rsp + 0xb8]
mov ecx, 4
mov eax, dword [rsp + 0xac]
mov edx, dword [rsp + 0xbc]
mov r8d, 5
mov dword [rsp + 0x20], r10d
mov dword [rsp + 0x30], r11d
xor r10d, r10d
mov dword [rsp + 0x2c], r12d
mov dword [rsp + 0x14], r14d
lea r12, [0x00519530]
mov dword [rsp + 0x3c], r15d
mov dword [rsp + 8], eax
mov r14d, 6
mov dword [rsp + 0x1c], edx
mov byte [rsp + 0x8d], 7
mov eax, 3
mov byte [rsp + 0x8c], 0xe
mov byte [rsp + 0x4f], 0xf
mov esi, 0x85a308d3
mov byte [rsp + 0x4e], 0xc
mov byte [rsp + 0x4d], 0xd
lea r15, [0x005194e0]
mov byte [rsp + 0x4c], 8
mov byte [rsp + 0x4b], 9
movzx r11d, bl
mov byte [rsp + 0x4a], 0xa
mov byte [rsp + 0x49], 0xb
mov edx, r13d
mov dword [rsp + 0x88], 0xbe5466cf
mov dword [rsp + 0x84], 0x34e90c6c
mov dword [rsp + 0x80], 0x452821e6
mov dword [rsp + 0x7c], 0x38d01377
mov dword [rsp + 0x78], 0xc0ac29b7
mov dword [rsp + 0x74], 0xc97c50dd
mov dword [rsp + 0x70], 0x3f84d5b5
mov dword [rsp + 0x6c], 0xb5470917
mov dword [rsp + 0x68], 0x82efa98
mov dword [rsp + 0x64], 0xec4e6c89
mov dword [rsp + 0x60], 0xa4093822
mov dword [rsp + 0x5c], 0x299f31d0
mov dword [rsp + 0x58], 0x13198a2e
mov dword [rsp + 0x54], 0x3707344
mov dword [rsp + 0x50], 0x243f6a88
mov dword [rsp + 0x40], r13d
mov dword [rsp + 0x44], edi
jmp 0x431b31
movzx edi, byte [r12]
movzx r9d, byte [r12 + 1]
add r12, 0x10
movzx r10d, byte [r12 - 0xd]
movzx r8d, byte [r12 - 0xb]
movzx r11d, dil
movzx ebp, r9b
mov byte [rsp + 0x8e], dil
mov r14d, dword [r15 + r11*4]
movzx r11d, byte [r12 - 0xe]
movzx r13d, r8b
mov ebx, dword [r15 + r10*4]
mov esi, dword [r15 + rbp*4]
mov byte [rsp + 0x8f], r10b
movzx r10d, byte [r12 - 9]
mov dword [rsp + 0x50], r14d
movzx r14d, byte [r12 - 0xa]
movzx ecx, r11b
mov edi, dword [r15 + r13*4]
mov dword [rsp + 0x54], ebx
mov eax, dword [r15 + rcx*4]
movzx ecx, byte [r12 - 0xc]
mov ebx, dword [r15 + r10*4]
movzx r13d, r14b
mov dword [rsp + 0x5c], edi
mov edi, dword [r15 + r13*4]
mov dword [rsp + 0x58], eax
mov rax, r10
movzx edx, cl
mov dword [rsp + 0x64], ebx
mov ebp, dword [r15 + rdx*4]
movzx edx, byte [r12 - 2]
mov dword [rsp + 0x68], edi
mov dword [rsp + 0x60], ebp
movzx ebp, byte [r12 - 1]
movzx r13d, dl
mov edi, dword [r15 + r13*4]
mov ebx, dword [r15 + rbp*4]
mov byte [rsp + 0x4f], bpl
mov dword [rsp + 0x70], edi
mov dword [rsp + 0x6c], ebx
movzx r10d, byte [r12 - 4]
movzx ebx, byte [r12 - 3]
movzx ebp, byte [r12 - 7]
mov byte [rsp + 0x8d], al
movzx eax, byte [rsp + 0x8f]
mov byte [rsp + 0x8c], dl
mov edx, dword [rsp + 0x40]
movzx edi, r10b
mov byte [rsp + 0x4e], r10b
movzx r10d, byte [rsp + 0x8e]
mov r13d, dword [r15 + rbx*4]
mov byte [rsp + 0x4d], bl
mov ebx, dword [r15 + rdi*4]
mov byte [rsp + 0x4b], bpl
mov edi, dword [r15 + rbp*4]
mov dword [rsp + 0x74], r13d
mov dword [rsp + 0x78], ebx
movzx ebx, byte [r12 - 8]
mov dword [rsp + 0x7c], edi
movzx edi, byte [r12 - 6]
movzx ebp, bl
mov byte [rsp + 0x4c], bl
mov r13d, dword [r15 + rbp*4]
mov byte [rsp + 0x4a], dil
mov dword [rsp + 0x80], r13d
movzx r13d, byte [r12 - 5]
mov rbp, r13
mov r13d, dword [r15 + r13*4]
mov byte [rsp + 0x49], bpl
mov dword [rsp + 0x84], r13d
movzx r13d, dil
mov r13d, dword [r15 + r13*4]
mov dword [rsp + 0x88], r13d
xor esi, dword [rsp + r10*4 + 0xe0]
mov ebp, dword [rsp + 0x34]
mov ebx, dword [rsp + 0x18]
mov r10d, dword [rsp + 0x50]
xor r10d, dword [rsp + r9*4 + 0xe0]
mov r9d, dword [rsp + 0x10]
mov edi, dword [rsp + 0x58]
xor edi, dword [rsp + rax*4 + 0xe0]
add esi, edx
add esi, dword [rsp + 0x20]
xor ebp, esi
add esi, r10d
mov r10d, dword [rsp + 0x54]
rol ebp, 0x10
xor r10d, dword [rsp + r11*4 + 0xe0]
mov r11d, dword [rsp + 0x44]
add ebx, ebp
xor edx, ebx
ror edx, 0xc
add esi, edx
mov r13d, r10d
mov r10d, dword [rsp + 0x5c]
xor ebp, esi
mov dword [rsp + 0x20], esi
mov esi, dword [rsp + 0x2c]
xor r10d, dword [rsp + rcx*4 + 0xe0]
ror ebp, 8
mov ecx, dword [rsp + 0xc]
add ebx, ebp
mov dword [rsp + 0x34], ebp
add r13d, esi
add r13d, dword [rsp + 0x30]
xor edx, ebx
ror edx, 7
mov ebp, r10d
mov r10d, dword [rsp + 0x64]
xor r11d, r13d
add r13d, edi
mov edi, dword [rsp + 0x28]
rol r11d, 0x10
add r9d, r11d
xor esi, r9d
ror esi, 0xc
lea eax, [r13 + rsi]
mov r13d, dword [rsp + 0x60]
xor r11d, eax
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x24]
ror r11d, 8
add r9d, r11d
mov dword [rsp + 0x18], r11d
mov r11d, dword [rsp + 0x3c]
xor esi, r9d
ror esi, 7
add ebp, r11d
add ebp, dword [rsp + 0x14]
xor r13d, dword [rsp + r8*4 + 0xe0]
xor r10d, dword [rsp + r14*4 + 0xe0]
xor ecx, ebp
add r13d, ebp
rol ecx, 0x10
add edi, ecx
xor r11d, edi
ror r11d, 0xc
add r13d, r11d
xor ecx, r13d
mov r8d, ecx
mov ecx, dword [rsp + 0x1c]
ror r8d, 8
add edi, r8d
xor r11d, edi
add r10d, ecx
add r10d, dword [rsp + 8]
ror r11d, 7
mov dword [rsp + 0x3c], r11d
mov ebp, dword [rsp + 0x38]
movzx r14d, byte [rsp + 0x8d]
mov r11d, dword [rsp + 0x68]
xor eax, r10d
rol eax, 0x10
add ebp, eax
xor r11d, dword [rsp + r14*4 + 0xe0]
movzx r14d, byte [rsp + 0x8c]
xor ecx, ebp
ror ecx, 0xc
add r10d, r11d
mov r11d, dword [rsp + 0x6c]
xor r11d, dword [rsp + r14*4 + 0xe0]
add r10d, ecx
movzx r14d, byte [rsp + 0x4f]
xor eax, r10d
ror eax, 8
add ebp, eax
xor ecx, ebp
ror ecx, 7
add r10d, r11d
mov r11d, dword [rsp + 0x70]
add r10d, edx
xor r11d, dword [rsp + r14*4 + 0xe0]
mov r14d, dword [rsp + 0x18]
xor r8d, r10d
rol r8d, 0x10
add r9d, r8d
xor edx, r9d
add r10d, r11d
movzx r11d, byte [rsp + 0x4d]
ror edx, 0xc
lea r10d, [r10 + rdx]
xor r8d, r10d
mov dword [rsp + 8], r10d
mov r10d, dword [rsp + 0x74]
ror r8d, 8
add r9d, r8d
mov dword [rsp + 0xc], r8d
xor edx, r9d
mov dword [rsp + 0x10], r9d
movzx r9d, byte [rsp + 0x4e]
ror edx, 7
mov dword [rsp + 0x40], edx
mov edx, dword [rsp + 0x80]
xor r10d, dword [rsp + r9*4 + 0xe0]
mov r9d, dword [rsp + 0x7c]
add r13d, r10d
mov r10d, dword [rsp + 0x78]
xor r10d, dword [rsp + r11*4 + 0xe0]
add r13d, ecx
xor r14d, r13d
rol r14d, 0x10
add ebx, r14d
mov r8d, r10d
xor ecx, ebx
add r8d, r13d
ror ecx, 0xc
lea r13d, [r8 + rcx]
xor r14d, r13d
mov dword [rsp + 0x14], r13d
ror r14d, 8
add ebx, r14d
mov dword [rsp + 0x44], r14d
xor ecx, ebx
mov dword [rsp + 0x18], ebx
movzx ebx, byte [rsp + 0x4c]
ror ecx, 7
mov dword [rsp + 0x1c], ecx
movzx ecx, byte [rsp + 0x4b]
xor r9d, dword [rsp + rbx*4 + 0xe0]
add r9d, dword [rsp + 0x20]
add r9d, esi
xor eax, r9d
xor edx, dword [rsp + rcx*4 + 0xe0]
rol eax, 0x10
add edi, eax
xor esi, edi
ror esi, 0xc
add r9d, edx
lea r10d, [r9 + rsi]
xor eax, r10d
mov dword [rsp + 0x20], r10d
mov r8d, dword [rsp + 0x3c]
ror eax, 8
movzx ebx, byte [rsp + 0x49]
mov r13d, dword [rsp + 0x34]
add edi, eax
mov ecx, dword [rsp + 0x88]
mov dword [rsp + 0x24], eax
xor esi, edi
mov dword [rsp + 0x28], edi
mov edi, dword [rsp + 0x84]
ror esi, 7
mov dword [rsp + 0x2c], esi
movzx esi, byte [rsp + 0x4a]
xor ecx, dword [rsp + rbx*4 + 0xe0]
xor edi, dword [rsp + rsi*4 + 0xe0]
add edi, dword [rsp + 0x30]
add edi, r8d
xor r13d, edi
add edi, ecx
rol r13d, 0x10
add ebp, r13d
xor r8d, ebp
ror r8d, 0xc
lea edx, [rdi + r8]
xor r13d, edx
mov dword [rsp + 0x30], edx
ror r13d, 8
add ebp, r13d
mov dword [rsp + 0x34], r13d
xor r8d, ebp
mov dword [rsp + 0x38], ebp
lea rbp, [0x00519600]
ror r8d, 7
cmp rbp, r12
mov dword [rsp + 0x3c], r8d
jne 0x4319c4
mov r12d, dword [rsp + 0x40]
movd xmm0, dword [rsp + 8]
mov r11d, r14d
movd xmm6, dword [rsp + 0x30]
mov rcx, qword [rsp + 0x1c0]
movd xmm5, dword [rsp + 0x14]
movd xmm3, dword [rsp + 0x20]
mov dword [rsp + 8], r12d
punpckldq xmm5, xmm0
movd xmm9, dword [rsp + 0x1c]
mov r13, rcx
punpckldq xmm3, xmm6
movd xmm4, dword [rsp + 8]
movd xmm7, dword [rsp + 0x2c]
mov dword [rsp + 8], r11d
mov rbp, rcx
movd xmm10, dword [rsp + 0x3c]
punpcklqdq xmm3, xmm5
movd xmm8, dword [rsp + 0x28]
punpckldq xmm10, xmm9
movd xmm1, dword [rsp + 0x38]
punpckldq xmm4, xmm7
movd xmm5, dword [rsp + 0x18]
movaps xmmword [rsp + 0xa0], xmm3
movd r15d, xmm3
punpckldq xmm8, xmm1
punpcklqdq xmm4, xmm10
movd xmm2, dword [rsp + 0x10]
xor dword [rcx], r15d
movd xmm10, dword [rsp + 8]
mov eax, dword [rsp + 0xa4]
movd r14d, xmm4
movd xmm3, dword [rsp + 0xc]
punpckldq xmm5, xmm2
movd xmm0, dword [rsp + 0x24]
movd xmm6, dword [rsp + 0x34]
punpckldq xmm3, xmm0
xor dword [rcx + 4], eax
mov esi, dword [rsp + 0xa8]
punpckldq xmm6, xmm10
xor dword [rcx + 8], esi
punpcklqdq xmm5, xmm8
punpcklqdq xmm6, xmm3
movaps xmmword [rsp + 0xb0], xmm4
movd r10d, xmm5
movaps xmmword [rsp + 0xd0], xmm6
movd edi, xmm6
movaps xmmword [rsp + 0xc0], xmm5
mov r8d, dword [rsp + 0xac]
xor dword [rcx + 0x10], r14d
xor dword [rcx + 0xc], r8d
mov ebx, dword [rsp + 0xb4]
mov r9d, dword [rsp + 0xb8]
xor dword [rcx + 0x14], ebx
xor dword [rcx + 0x18], r9d
xor dword [rcx], r10d
xor dword [rcx + 0x10], edi
mov edx, dword [rsp + 0xbc]
mov r12d, dword [rsp + 0xc4]
xor dword [rcx + 0x1c], edx
xor dword [rcx + 4], r12d
mov r11d, dword [rsp + 0xc8]
mov r15d, dword [rsp + 0xcc]
xor dword [rcx + 8], r11d
xor dword [rcx + 0xc], r15d
mov r10d, dword [rsp + 0xd4]
mov edi, dword [rsp + 0xd8]
xor dword [rcx + 0x14], r10d
xor dword [rcx + 0x18], edi
mov r8d, dword [rsp + 0x90]
mov esi, dword [rsp + 0x94]
xor dword [rcx], r8d
xor dword [rcx + 4], esi
mov eax, dword [rsp + 0xdc]
xor dword [rcx + 0x1c], eax
mov ecx, dword [rsp + 0x98]
xor dword [r13 + 8], ecx
xor dword [rbp + 0x10], r8d
xor dword [rbp + 0x14], esi
mov r13d, dword [rsp + 0x9c]
xor dword [rbp + 0x18], ecx
xor dword [rbp + 0xc], r13d
xor dword [rbp + 0x1c], r13d
movaps xmm6, xmmword [rsp + 0x120]
movaps xmm7, xmmword [rsp + 0x130]
movaps xmm8, xmmword [rsp + 0x140]
movaps xmm9, xmmword [rsp + 0x150]
movaps xmm10, xmmword [rsp + 0x160]
add rsp, 0x178
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov edi, 0x299f31d0
mov dword [rsp + 0xc], 0x82efa98
mov dword [rsp + 0x34], 0xa4093822
mov dword [rsp + 0x24], 0xec4e6c89
jmp 0x431865