Function at 0x14001e600
Capabilities:
Delete registry key
Encode data using xor
Query or enumerate registry key

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x8f8]
sub rsp, 0x9d0
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm8
movaps xmmword [rax - 0x68], xmm9
mov rax, qword [0x140030040]
xor rax, rsp
mov qword [rbp + 0x880], rax
movups xmm3, xmmword [0x14002a660]
xor ebx, ebx
lea rax, [rbp + 0x8f8]
mov rdi, qword [rax]
mov ecx, ebx
movups xmm0, xmmword [0x14002a670]
mov qword [rax], rbx
movups xmm1, xmmword [0x14002a680]
mov r14d, dword [0x140030010]
mov qword [rbp + 8], rdi
mov qword [rbp + 0x10], rbx
movups xmmword [rsp + 0x40], xmm3
movups xmmword [rsp + 0x50], xmm0
movups xmmword [rsp + 0x60], xmm1
cmp r14d, 2
jl 0x14001e901
movdqa xmm4, xmmword [0x14002c620]
movdqa xmm2, xmmword [0x14002c560]
movdqa xmm5, xmmword [0x14002c590]
movdqa xmm1, xmm2
movdqa xmm6, xmmword [0x14002c5f0]
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 2
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshufhw xmm0, xmm2, 0xd8
pshuflw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
movq xmm1, xmm3
movdqa xmm3, xmmword [0x14002c570]
psubw xmm2, xmm6
xorps xmm2, xmm1
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
movdqa xmm1, xmm3
pmuldq xmm0, xmm4
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movq qword [rsp + 0x40], xmm2
shufps xmm1, xmm0, 0xdd
psrad xmm1, 2
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm3, xmm0
pshufhw xmm0, xmm3, 0xd8
movdqa xmm3, xmmword [0x14002c5a0]
pshuflw xmm1, xmm0, 0xd8
movq xmm0, qword [rsp + 0x48]
pshufd xmm2, xmm1, 0xd8
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
psubw xmm2, xmm6
xorps xmm2, xmm0
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
movq qword [rsp + 0x48], xmm2
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 2
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm3, xmm0
pshufhw xmm0, xmm3, 0xd8
movdqa xmm3, xmmword [0x14002c5b0]
pshuflw xmm1, xmm0, 0xd8
movq xmm0, qword [rsp + 0x50]
pshufd xmm2, xmm1, 0xd8
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
psubw xmm2, xmm6
xorps xmm2, xmm0
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
movq qword [rsp + 0x50], xmm2
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 2
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm3, xmm0
pshufhw xmm0, xmm3, 0xd8
movdqa xmm3, xmmword [0x14002c5c0]
pshuflw xmm1, xmm0, 0xd8
movq xmm0, qword [rsp + 0x58]
pshufd xmm2, xmm1, 0xd8
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
psubw xmm2, xmm6
xorps xmm2, xmm0
pmuldq xmm1, xmm4
movq qword [rsp + 0x58], xmm2
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 2
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm3, xmm0
pshufhw xmm0, xmm3, 0xd8
movdqa xmm3, xmmword [0x14002c5d0]
pshuflw xmm1, xmm0, 0xd8
movq xmm0, qword [rsp + 0x60]
pshufd xmm2, xmm1, 0xd8
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
psubw xmm2, xmm6
xorps xmm2, xmm0
pmuldq xmm1, xmm4
movq qword [rsp + 0x60], xmm2
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 2
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm3, xmm0
pshufhw xmm0, xmm3, 0xd8
pshuflw xmm1, xmm0, 0xd8
movq xmm0, qword [rsp + 0x68]
pshufd xmm2, xmm1, 0xd8
psubw xmm2, xmm6
xorps xmm2, xmm0
movq qword [rsp + 0x68], xmm2
jmp 0x14001e941
lea r8, [rsp + 0x40]
nop word [rax + rax]
mov eax, 0xcccccccd
lea r8, [r8 + 2]
mul ecx
shr edx, 3
movzx eax, dx
shl ax, 2
add dx, ax
movzx eax, cx
add dx, dx
inc ecx
sub ax, dx
sub ax, 0x75
xor word [r8 - 2], ax
cmp ecx, 0x18
jl 0x14001e910
lea rax, [rbp + 0x10]
mov r9d, 0xf003f
xor r8d, r8d
mov qword [rsp + 0x20], rax
lea rdx, [rsp + 0x40]
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
mov esi, 0xff8c
mov r15d, 0xff8d
mov r12d, 0xff8e
mov r13d, 0xff8f
test eax, eax
jne 0x14001edea
mov rsi, qword [rbp + 0x10]
lea rcx, [rbp + 0x670]
xor edx, edx
mov qword [rbp], rsi
mov r8d, 0x208
call sub.VCRUNTIME140.dll_memset
mov qword [rsp + 0x38], rbx
lea r9, [rbp + 0x3c]
mov qword [rsp + 0x30], rbx
lea r8, [rbp + 0x670]
mov qword [rsp + 0x28], rbx
xor edx, edx
mov rcx, rsi
mov qword [rsp + 0x20], rbx
mov edi, ebx
mov dword [rbp - 0x78], ebx
mov dword [rbp + 0x3c], 0x208
call qword [sym.imp.ADVAPI32.dll_RegEnumKeyExW]
test eax, eax
jne 0x14001edd8
nop
lea rax, [rbp + 0x18]
mov qword [rbp + 0x18], rbx
mov r9d, 0xf003f
mov qword [rsp + 0x20], rax
xor r8d, r8d
lea rdx, [rbp + 0x670]
mov rcx, rsi
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x14001ed81
mov r13, qword [rbp + 0x18]
lea rcx, [rbp + 0x460]
xor edx, edx
mov qword [rbp - 8], r13
mov r8d, 0x208
call sub.VCRUNTIME140.dll_memset
mov qword [rsp + 0x38], rbx
lea r9, [rbp + 0x38]
mov qword [rsp + 0x30], rbx
lea r8, [rbp + 0x460]
mov qword [rsp + 0x28], rbx
xor edx, edx
mov rcx, r13
mov qword [rsp + 0x20], rbx
mov r12d, ebx
mov dword [rbp - 0x7c], ebx
mov dword [rbp + 0x38], 0x208
call qword [sym.imp.ADVAPI32.dll_RegEnumKeyExW]
test eax, eax
jne 0x14001ed78
nop dword [rax]
lea rax, [rbp + 0x20]
mov qword [rbp + 0x20], rbx
mov r9d, 0xf003f
mov qword [rsp + 0x20], rax
xor r8d, r8d
lea rdx, [rbp + 0x460]
mov rcx, r13
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x14001ed30
mov r15, qword [rbp + 0x20]
lea rcx, [rbp + 0x40]
xor edx, edx
mov qword [rbp - 0x10], r15
mov r8d, 0x208
call sub.VCRUNTIME140.dll_memset
mov qword [rsp + 0x38], rbx
lea r9, [rbp + 0x34]
mov qword [rsp + 0x30], rbx
lea r8, [rbp + 0x40]
mov qword [rsp + 0x28], rbx
xor edx, edx
mov rcx, r15
mov qword [rsp + 0x20], rbx
mov r14d, ebx
mov dword [rbp - 0x80], ebx
mov dword [rbp + 0x34], 0x208
call qword [sym.imp.ADVAPI32.dll_RegEnumKeyExW]
test eax, eax
jne 0x14001ed27
mov r13d, 0xff8c
mov r12d, 0xff8d
nop
cmp word [0x140028f2a], bx
movsd xmm0, qword [0x140028f20]
mov eax, dword [0x140028f28]
movsd qword [rsp + 0x70], xmm0
mov dword [rsp + 0x78], eax
je 0x14001eb55
xor word [rsp + 0x72], r13w
mov eax, 0x61
xor word [rsp + 0x74], r12w
mov word [rsp + 0x70], ax
mov eax, 0xff8e
xor word [rsp + 0x76], ax
mov eax, 0xff8f
xor word [rsp + 0x78], ax
mov eax, 0xff90
xor word [rsp + 0x7a], ax
lea rdx, [rsp + 0x70]
lea rcx, [rbp + 0x40]
call qword [sym.imp.VCRUNTIME140.dll_wcsstr]
test rax, rax
je 0x14001ece1
lea rax, [rbp + 0x28]
mov qword [rbp + 0x28], rbx
mov r9d, 0xf003f
mov qword [rsp + 0x20], rax
xor r8d, r8d
lea rdx, [rbp + 0x40]
mov rcx, r15
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x14001ece1
mov rsi, qword [rbp + 0x28]
lea rcx, [rbp + 0x250]
xor edx, edx
mov r8d, 0x208
call sub.VCRUNTIME140.dll_memset
mov qword [rsp + 0x38], rbx
lea r9, [rbp + 0x30]
mov qword [rsp + 0x30], rbx
lea r8, [rbp + 0x250]
mov qword [rsp + 0x28], rbx
xor edx, edx
mov rcx, rsi
mov qword [rsp + 0x20], rbx
mov edi, ebx
mov dword [rbp + 0x30], 0x208
call qword [sym.imp.ADVAPI32.dll_RegEnumKeyExW]
test eax, eax
jne 0x14001ecd8
mov r15d, 0xff8e
mov r14d, 0xff8f
nop word [rax + rax]
mov eax, dword [0x14002b6d0]
lea r8, [rsp + 0x40]
movzx ecx, word [0x14002b6d4]
mov edx, 0x49
movups xmm0, xmmword [0x14002b6c0]
mov dword [rsp + 0x50], eax
movups xmmword [rsp + 0x40], xmm0
xor word [rsp + 0x42], r13w
xor word [rsp + 0x44], r12w
xor word [rsp + 0x46], r15w
xor word [rsp + 0x48], r14w
mov word [rsp + 0x40], dx
mov edx, 0xff90
xor word [rsp + 0x4a], dx
mov edx, 0xff91
xor word [rsp + 0x4c], dx
mov edx, 0xff92
xor word [rsp + 0x4e], dx
mov edx, 0xff93
xor ax, dx
lea rdx, [rbp + 0x250]
mov word [rsp + 0x50], ax
mov eax, 0xff94
xor word [rsp + 0x52], ax
mov eax, 0xff8b
xor cx, ax
mov word [rsp + 0x54], cx
mov rcx, rsi
call fcn.140015f40
mov qword [rsp + 0x38], rbx
lea r9, [rbp + 0x30]
mov qword [rsp + 0x30], rbx
lea r8, [rbp + 0x250]
inc edi
mov qword [rsp + 0x28], rbx
mov edx, edi
mov qword [rsp + 0x20], rbx
mov rcx, rsi
mov dword [rbp + 0x30], 0x208
call qword [sym.imp.ADVAPI32.dll_RegEnumKeyExW]
test eax, eax
je 0x14001ec00
mov r14d, dword [rbp - 0x80]
mov r15, qword [rbp - 0x10]
mov rcx, rsi
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov qword [rsp + 0x38], rbx
lea r9, [rbp + 0x34]
inc r14d
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x28], rbx
lea r8, [rbp + 0x40]
mov edx, r14d
mov qword [rsp + 0x20], rbx
mov rcx, r15
mov dword [rbp - 0x80], r14d
mov dword [rbp + 0x34], 0x208
call qword [sym.imp.ADVAPI32.dll_RegEnumKeyExW]
test eax, eax
je 0x14001eb00
mov r12d, dword [rbp - 0x7c]
mov r13, qword [rbp - 8]
mov rcx, r15
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov qword [rsp + 0x38], rbx
lea r9, [rbp + 0x38]
inc r12d
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x28], rbx
lea r8, [rbp + 0x460]
mov edx, r12d
mov qword [rsp + 0x20], rbx
mov rcx, r13
mov dword [rbp - 0x7c], r12d
mov dword [rbp + 0x38], 0x208
call qword [sym.imp.ADVAPI32.dll_RegEnumKeyExW]
test eax, eax
je 0x14001ea70
mov edi, dword [rbp - 0x78]
mov rsi, qword [rbp]
mov rcx, r13
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov qword [rsp + 0x38], rbx
lea r9, [rbp + 0x3c]
inc edi
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x28], rbx
lea r8, [rbp + 0x670]
mov edx, edi
mov qword [rsp + 0x20], rbx
mov rcx, rsi
mov dword [rbp - 0x78], edi
mov dword [rbp + 0x3c], 0x208
call qword [sym.imp.ADVAPI32.dll_RegEnumKeyExW]
test eax, eax
je 0x14001e9e0
mov r14d, dword [0x140030010]
mov r15d, 0xff8d
mov r12d, 0xff8e
mov r13d, 0xff8f
mov rcx, rsi
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov rdi, qword [rbp + 8]
mov esi, 0xff8c
movups xmm0, xmmword [0x14002beb0]
mov ecx, ebx
movups xmm1, xmmword [0x14002bec0]
mov eax, dword [0x14002bef0]
movups xmmword [rbp - 0x70], xmm0
movups xmm0, xmmword [0x14002bed0]
movups xmmword [rbp - 0x60], xmm1
movups xmm1, xmmword [0x14002bee0]
mov dword [rbp - 0x30], eax
movzx eax, word [0x14002bef4]
movups xmmword [rbp - 0x50], xmm0
movups xmmword [rbp - 0x40], xmm1
mov word [rbp - 0x2c], ax
cmp r14d, 2
jl 0x14001ef4c
movdqa xmm5, xmmword [0x14002c560]
lea rdx, [rbp - 0x70]
movdqa xmm4, xmmword [0x14002c620]
movdqa xmm6, xmmword [0x14002c590]
movdqa xmm7, xmmword [0x14002c5f0]
nop word [rax + rax]
movd xmm2, ecx
lea eax, [rcx + 4]
pshufd xmm2, xmm2, 0
lea rdx, [rdx + 0x10]
paddd xmm2, xmm5
add ecx, 8
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 2
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshufhw xmm0, xmm2, 0xd8
movq xmm2, xmm7
pshuflw xmm1, xmm0, 0xd8
movq xmm0, qword [rdx - 0x10]
pshufd xmm3, xmm1, 0xd8
psubw xmm3, xmm2
movd xmm2, eax
pshufd xmm2, xmm2, 0
xorps xmm3, xmm0
movq qword [rdx - 0x10], xmm3
paddd xmm2, xmm5
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 2
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshufhw xmm0, xmm2, 0xd8
movq xmm2, xmm7
pshuflw xmm1, xmm0, 0xd8
movq xmm0, qword [rdx - 8]
pshufd xmm3, xmm1, 0xd8
psubw xmm3, xmm2
xorps xmm3, xmm0
movq qword [rdx - 8], xmm3
cmp ecx, 0x20
jl 0x14001ee60
cmp ecx, 0x23
jge 0x14001ef98
movsxd rax, ecx
lea r8, [rbp - 0x70]
lea r8, [r8 + rax*2]
nop word [rax + rax]
mov eax, 0x66666667
lea r8, [r8 + 2]
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
movzx eax, dx
shl ax, 2
add dx, ax
movzx eax, cx
add dx, dx
inc ecx
sub ax, dx
sub ax, 0x75
xor word [r8 - 2], ax
cmp ecx, 0x23
jl 0x14001ef60
lea rdx, [rbp - 0x70]
mov rcx, 0xffffffff80000002
call qword [sym.imp.SHLWAPI.dll_SHDeleteKeyW]
mov eax, dword [0x140029d88]
mov edx, 0x52
movups xmm0, xmmword [0x140029d78]
movzx ecx, word [0x140029d8c]
movups xmm1, xmmword [0x14002c440]
movups xmmword [rsp + 0x40], xmm0
xor word [rsp + 0x42], si
movups xmm0, xmmword [0x14002c430]
xor word [rsp + 0x44], r15w
xor word [rsp + 0x46], r12w
xor word [rsp + 0x48], r13w
mov dword [rsp + 0x50], eax
mov word [rsp + 0x40], dx
mov edx, 0xff90
xor word [rsp + 0x4a], dx
mov edx, 0xff91
xor word [rsp + 0x4c], dx
mov edx, 0xff92
xor word [rsp + 0x4e], dx
mov edx, 0xff93
xor ax, dx
movups xmmword [rbp - 0x70], xmm0
movups xmm0, xmmword [0x14002c450]
mov word [rsp + 0x50], ax
mov eax, 0xff94
xor word [rsp + 0x52], ax
mov eax, 0xff8b
xor cx, ax
movups xmmword [rbp - 0x50], xmm0
movups xmm0, xmmword [0x14002c470]
movups xmmword [rbp - 0x60], xmm1
movups xmm1, xmmword [0x14002c460]
movups xmmword [rbp - 0x30], xmm0
movsd xmm0, qword [0x14002c480]
mov word [rsp + 0x54], cx
mov ecx, ebx
movups xmmword [rbp - 0x40], xmm1
movsd qword [rbp - 0x20], xmm0
cmp r14d, 2
jl 0x14001f18c
movdqa xmm5, xmmword [0x14002c560]
lea rdx, [rbp - 0x70]
movdqa xmm4, xmmword [0x14002c620]
movdqa xmm6, xmmword [0x14002c590]
movdqa xmm7, xmmword [0x14002c5f0]
nop dword [rax]
movd xmm2, ecx
lea eax, [rcx + 4]
pshufd xmm2, xmm2, 0
lea rdx, [rdx + 0x10]
paddd xmm2, xmm5
add ecx, 8
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 2
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshufhw xmm0, xmm2, 0xd8
movq xmm2, xmm7
pshuflw xmm1, xmm0, 0xd8
movq xmm0, qword [rdx - 0x10]
pshufd xmm3, xmm1, 0xd8
psubw xmm3, xmm2
movd xmm2, eax
pshufd xmm2, xmm2, 0
xorps xmm3, xmm0
movq qword [rdx - 0x10], xmm3
paddd xmm2, xmm5
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 2
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshufhw xmm0, xmm2, 0xd8
movq xmm2, xmm7
pshuflw xmm1, xmm0, 0xd8
movq xmm0, qword [rdx - 8]
pshufd xmm3, xmm1, 0xd8
psubw xmm3, xmm2
xorps xmm3, xmm0
movq qword [rdx - 8], xmm3
cmp ecx, 0x28
jl 0x14001f0a0
cmp ecx, 0x2c
jge 0x14001f1d8
movsxd rax, ecx
lea r8, [rbp - 0x70]
lea r8, [r8 + rax*2]
nop word [rax + rax]
mov eax, 0x66666667
lea r8, [r8 + 2]
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
movzx eax, dx
shl ax, 2
add dx, ax
movzx eax, cx
add dx, dx
inc ecx
sub ax, dx
sub ax, 0x75
xor word [r8 - 2], ax
cmp ecx, 0x2c
jl 0x14001f1a0
lea r8, [rsp + 0x40]
mov rcx, 0xffffffff80000002
lea rdx, [rbp - 0x70]
call fcn.140016330
cmp word [0x14002b32e], bx
movups xmm8, xmmword [0x14002b318]
movq xmm9, qword [0x14002b328]
movdqa xmm7, xmmword [0x14002c5f0]
movdqa xmm6, xmmword [0x14002c590]
movdqa xmm4, xmmword [0x14002c620]
movdqa xmm5, xmmword [0x14002c560]
movups xmmword [rsp + 0x40], xmm8
movq qword [rsp + 0x50], xmm9
je 0x14001f3b1
mov ecx, ebx
cmp r14d, 2
jl 0x14001f375
movdqa xmm2, xmm5
movdqa xmm0, xmm5
punpckhdq xmm0, xmm5
pmuldq xmm0, xmm4
punpckldq xmm2, xmm5
pmuldq xmm2, xmm4
shufps xmm2, xmm0, 0xdd
movdqa xmm0, xmm5
psrad xmm2, 2
movdqa xmm1, xmm2
psrld xmm1, 0x1f
paddd xmm1, xmm2
movq xmm2, xmm7
pmulld xmm1, xmm6
psubd xmm0, xmm1
pshufhw xmm0, xmm0, 0xd8
pshuflw xmm1, xmm0, 0xd8
pshufd xmm3, xmm1, 0xd8
movq xmm1, xmm8
psubw xmm3, xmm2
movdqa xmm2, xmmword [0x14002c570]
xorps xmm3, xmm1
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
movdqa xmm1, xmm2
pmuldq xmm0, xmm4
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movq qword [rsp + 0x40], xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 2
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshufhw xmm0, xmm2, 0xd8
movq xmm2, xmm7
pshuflw xmm1, xmm0, 0xd8
movq xmm0, qword [rsp + 0x48]
pshufd xmm3, xmm1, 0xd8
psubw xmm3, xmm2
movdqa xmm2, xmmword [0x14002c5a0]
xorps xmm3, xmm0
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
movq qword [rsp + 0x48], xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 2
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshufhw xmm0, xmm2, 0xd8
movq xmm2, xmm7
pshuflw xmm1, xmm0, 0xd8
movq xmm0, xmm9
pshufd xmm3, xmm1, 0xd8
psubw xmm3, xmm2
xorps xmm3, xmm0
movq qword [rsp + 0x50], xmm3
jmp 0x14001f3b1
lea r8, [rsp + 0x40]
nop word [rax + rax]
mov eax, 0xcccccccd
lea r8, [r8 + 2]
mul ecx
shr edx, 3
movzx eax, dx
shl ax, 2
add dx, ax
movzx eax, cx
add dx, dx
inc ecx
sub ax, dx
sub ax, 0x75
xor word [r8 - 2], ax
cmp ecx, 0xc
jl 0x14001f380
movups xmm0, xmmword [0x14002a3b0]
movups xmm1, xmmword [0x14002a3c0]
movups xmmword [rbp - 0x70], xmm0
movups xmm0, xmmword [0x14002a3d0]
movups xmmword [rbp - 0x60], xmm1
movups xmm1, xmmword [0x14002a3e0]
movups xmmword [rbp - 0x50], xmm0
movups xmmword [rbp - 0x40], xmm1
cmp r14d, 2
jl 0x14001f4d9
lea rcx, [rbp - 0x70]
nop dword [rax + rax]
movd xmm2, ebx
lea eax, [rbx + 4]
pshufd xmm2, xmm2, 0
lea rcx, [rcx + 0x10]
paddd xmm2, xmm5
add ebx, 8
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 2
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshufhw xmm0, xmm2, 0xd8
movq xmm2, xmm7
pshuflw xmm1, xmm0, 0xd8
movq xmm0, qword [rcx - 0x10]
pshufd xmm3, xmm1, 0xd8
psubw xmm3, xmm2
movd xmm2, eax
pshufd xmm2, xmm2, 0
xorps xmm3, xmm0
movq qword [rcx - 0x10], xmm3
paddd xmm2, xmm5
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 2
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshufhw xmm0, xmm2, 0xd8
movq xmm2, xmm7
pshuflw xmm1, xmm0, 0xd8
movq xmm0, qword [rcx - 8]
pshufd xmm3, xmm1, 0xd8
psubw xmm3, xmm2
xorps xmm3, xmm0
movq qword [rcx - 8], xmm3
cmp ebx, 0x20
jl 0x14001f3f0
jmp 0x14001f511
lea r8, [rbp - 0x70]
nop dword [rax]
mov eax, 0xcccccccd
lea r8, [r8 + 2]
mul ebx
shr edx, 3
movzx eax, dx
shl ax, 2
add dx, ax
movzx eax, bx
add dx, dx
inc ebx
sub ax, dx
sub ax, 0x75
xor word [r8 - 2], ax
cmp ebx, 0x20
jl 0x14001f4e0
lea r8, [rsp + 0x40]
mov rcx, 0xffffffff80000002
lea rdx, [rbp - 0x70]
call fcn.140015f40
lea rax, [rbp + 0x8f8]
mov qword [rax], rdi
mov rcx, qword [rbp + 0x880]
xor rcx, rsp
call fcn.140025fd0
lea r11, [rsp + 0x9d0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
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