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