Function at 0x1800010f0
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push rbp
push r14
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0xa0
movaps xmmword [rax - 0x28], xmm6
movaps xmmword [rax - 0x38], xmm7
movaps xmmword [rax - 0x48], xmm8
mov rax, qword [section..data]
xor rax, rsp
mov qword [rbp + 7], rax
xorps xmm0, xmm0
movups xmmword [rbp - 0x11], xmm0
lea r14, [rbp + 0x5f]
movabs r15, 0xff00ff00ff00ff00
mov qword [rbp - 9], r15
mov qword [rbp - 1], r14
mov rax, qword [r14]
xor rax, r15
mov qword [rbp - 0x11], rax
xor edi, edi
mov qword [r14], rdi
mov esi, 1
test edx, edx
je 0x180001844
cmp edx, esi
jne 0x180001947
mov ebx, edi
xor eax, eax
lock cmpxchg dword [0x1800068a8], esi
je 0x1800011a1
nop dword [rax]
cmp rbx, 0x20
jae 0x18000118a
xor ecx, ecx
jmp 0x18000118c
mov ecx, esi
call qword [sym.imp.KERNEL32.dll_Sleep]
inc rbx
xor eax, eax
lock cmpxchg dword [0x1800068a8], esi
jne 0x180001180
cmp qword [0x1800068b0], 0
jne 0x180001837
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_HeapCreate]
mov qword [0x1800068b0], rax
mov ecx, edi
xchg dword [0x1800068a8], ecx
test rax, rax
je 0x180001949
movups xmm0, xmmword [0x180004290]
movups xmmword [rbp - 0x29], xmm0
movzx eax, byte [0x1800042a0]
mov byte [rbp - 0x19], al
mov r8d, edi
movdqa xmm8, xmmword [0x1800042f0]
movdqa xmm5, xmmword [0x1800042c0]
movdqa xmm7, xmmword [0x1800042e0]
movdqa xmm6, xmmword [0x180004320]
mov ebx, dword [0x180006058]
cmp ebx, 2
jl 0x180001321
movdqa xmm0, xmmword [0x180004310]
movdqa xmmword [rbp - 0x39], xmm0
lea rcx, [rbp - 0x25]
mov edx, dword [rbp - 0x39]
movd xmm2, r8d
pshufd xmm2, xmm2, 0
paddd xmm2, xmm5
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm6
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm6
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, xmm8
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, xmm5
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm6
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm6
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, xmm8
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, 0x10
jl 0x180001230
cmp r8d, 0x11
jge 0x180001363
movsxd rax, r8d
lea r9, [rbp - 0x29]
add r9, rax
nop dword [rax + rax]
mov eax, 0x8fb823ef
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x39
movzx eax, r8b
sub al, cl
add al, 0x32
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x11
jl 0x180001330
movups xmm3, xmmword [str.EZZXRL9]
movups xmmword [rbp - 0x39], xmm3
pextrw eax, xmm3, 7
test ax, ax
je 0x180001497
cmp ebx, 2
jl 0x180001450
movdqa xmm1, xmm5
punpckldq xmm1, xmm5
pmuldq xmm1, xmm6
movdqa xmm0, xmm5
punpckhdq xmm0, xmm5
pmuldq xmm0, xmm6
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm5
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm5, xmm0
pshufhw xmm0, xmm5, 0xd8
pshuflw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
paddw xmm2, xmmword [0x180004300]
movq xmm1, xmm3
xorps xmm2, xmm1
movq qword [rbp - 0x39], xmm2
movdqa xmm3, xmmword [0x1800042d0]
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm6
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm6
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
pshufhw xmm0, xmm3, 0xd8
pshuflw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
paddw xmm2, xmmword [0x180004300]
movq xmm0, qword [rbp - 0x31]
xorps xmm2, xmm0
movq qword [rbp - 0x31], xmm2
jmp 0x180001497
lea r9, [rbp - 0x39]
mov r8d, edi
nop word [rax + rax]
mov eax, 0x8fb823ef
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movzx eax, dx
imul ecx, eax, 0x39
movzx eax, r8w
sub ax, cx
add ax, 0x32
xor word [r9], ax
inc r8d
lea r9, [r9 + 2]
cmp r8d, 8
jl 0x180001460
lea rcx, [rbp - 0x39]
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test rax, rax
je 0x180001949
lea rdx, [rbp - 0x29]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x180001949
lea r8, [0x180006898]
lea rdx, [0x180001020]
mov rcx, rax
call fcn.180001fb0
test eax, eax
jne 0x180001949
movups xmm0, xmmword [str.__PDY_Mh_YxV__B]
movups xmmword [rbp - 0x29], xmm0
movzx eax, byte [0x1800042b8]
mov byte [rbp - 0x19], al
mov ecx, edi
movdqa xmm3, xmmword [0x1800042c0]
movdqa xmm7, xmmword [0x1800042e0]
movdqa xmm6, xmmword [0x180004320]
cmp ebx, 2
jl 0x18000161e
movdqa xmm0, xmmword [0x180004310]
movdqa xmmword [rbp - 0x39], xmm0
lea rdx, [rbp - 0x25]
mov r8d, dword [rbp - 0x39]
nop dword [rax + rax]
movd xmm2, ecx
pshufd xmm2, xmm2, 0
paddd xmm2, xmm3
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm6
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm6
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, xmm8
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movd xmm0, r8d
paddb xmm2, xmm0
movd xmm0, dword [rdx - 4]
xorps xmm2, xmm0
movd dword [rdx - 4], xmm2
lea eax, [rcx + 4]
movd xmm2, eax
pshufd xmm2, xmm2, 0
paddd xmm2, xmm3
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm6
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm6
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, xmm8
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movd xmm0, r8d
paddb xmm2, xmm0
movd xmm0, dword [rdx]
xorps xmm2, xmm0
movd dword [rdx], xmm2
add ecx, 8
lea rdx, [rdx + 8]
cmp ecx, 0x10
jl 0x180001530
cmp ecx, 0x11
jge 0x18000165e
movsxd rax, ecx
lea r8, [rbp - 0x29]
add r8, rax
nop dword [rax + rax]
mov eax, 0x8fb823ef
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul edx, eax, 0x39
movzx eax, cl
sub al, dl
add al, 0x32
xor byte [r8], al
inc ecx
lea r8, [r8 + 1]
cmp ecx, 0x11
jl 0x180001630
movups xmm5, xmmword [str.EZZXRL9]
movups xmmword [rbp - 0x39], xmm5
pextrw eax, xmm5, 7
test ax, ax
je 0x180001797
cmp ebx, 2
jl 0x180001753
movdqa xmm4, xmmword [0x180004300]
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm6
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm6
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
pshufhw xmm0, xmm3, 0xd8
pshuflw xmm1, xmm0, 0xd8
pshufd xmm3, xmm1, 0xd8
movq xmm2, xmm4
paddw xmm3, xmm2
movq xmm1, xmm5
xorps xmm3, xmm1
movq qword [rbp - 0x39], xmm3
movdqa xmm2, xmmword [0x1800042d0]
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm6
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm6
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
pshufhw xmm0, xmm2, 0xd8
pshuflw xmm1, xmm0, 0xd8
pshufd xmm3, xmm1, 0xd8
movq xmm2, xmm4
paddw xmm3, xmm2
movq xmm0, qword [rbp - 0x31]
xorps xmm3, xmm0
movq qword [rbp - 0x31], xmm3
jmp 0x180001797
lea r9, [rbp - 0x39]
mov r8d, edi
nop word [rax + rax]
mov eax, 0x8fb823ef
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movzx eax, dx
imul ecx, eax, 0x39
movzx eax, r8w
sub ax, cx
add ax, 0x32
xor word [r9], ax
inc r8d
lea r9, [r9 + 2]
cmp r8d, 8
jl 0x180001760
lea rcx, [rbp - 0x39]
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test rax, rax
je 0x180001949
lea rdx, [rbp - 0x29]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x180001949
lea r8, [0x1800068a0]
lea rdx, [0x180001030]
mov rcx, rax
call fcn.180001fb0
test eax, eax
jne 0x180001949
mov rbx, rdi
lock cmpxchg dword [0x1800068a8], esi
je 0x180001811
nop dword [rax + rax]
cmp rbx, 0x20
jae 0x1800017fa
xor ecx, ecx
jmp 0x1800017fc
mov ecx, esi
call qword [sym.imp.KERNEL32.dll_Sleep]
inc rbx
xor eax, eax
lock cmpxchg dword [0x1800068a8], esi
jne 0x1800017f0
cmp qword [0x1800068b0], 0
je 0x180001837
mov ecx, esi
call fcn.180001eb0
mov ecx, edi
xchg dword [0x1800068a8], ecx
test eax, eax
jne 0x180001949
jmp 0x180001947
mov eax, edi
xchg dword [0x1800068a8], eax
jmp 0x180001949
mov rbx, rdi
xor eax, eax
lock cmpxchg dword [0x1800068a8], esi
je 0x180001874
cmp rbx, 0x20
jae 0x18000185d
xor ecx, ecx
jmp 0x18000185f
mov ecx, esi
call qword [sym.imp.KERNEL32.dll_Sleep]
inc rbx
xor eax, eax
lock cmpxchg dword [0x1800068a8], esi
jne 0x180001853
cmp qword [0x1800068b0], 0
je 0x180001885
xor ecx, ecx
call fcn.180001eb0
mov eax, edi
xchg dword [0x1800068a8], eax
mov rbx, rdi
xor eax, eax
lock cmpxchg dword [0x1800068a8], esi
je 0x1800018c1
nop dword [rax]
cmp rbx, 0x20
jae 0x1800018aa
xor ecx, ecx
jmp 0x1800018ac
mov ecx, esi
call qword [sym.imp.KERNEL32.dll_Sleep]
inc rbx
xor eax, eax
lock cmpxchg dword [0x1800068a8], esi
jne 0x1800018a0
cmp qword [0x1800068b0], 0
je 0x180001941
xor ecx, ecx
call fcn.180001eb0
test eax, eax
jne 0x180001941
mov rcx, qword [0x1800068c8]
mov qword [0x1800068c8], rdi
test rcx, rcx
je 0x180001909
nop dword [rax]
mov rbx, qword [rcx]
xor edx, edx
mov r8d, 0x8000
call qword [sym.imp.KERNEL32.dll_VirtualFree]
mov rcx, rbx
test rbx, rbx
jne 0x1800018f0
mov r8, qword [0x1800068d0]
xor edx, edx
mov rcx, qword [0x1800068b0]
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rcx, qword [0x1800068b0]
call qword [sym.imp.KERNEL32.dll_HeapDestroy]
mov qword [0x1800068b0], rdi
mov qword [0x1800068d0], rdi
mov qword [0x1800068d8], rdi
xchg dword [0x1800068a8], edi
mov edi, esi
mov rcx, qword [rbp - 0x11]
xor rcx, r15
mov qword [r14], rcx
mov eax, edi
mov rcx, qword [rbp + 7]
xor rcx, rsp
call fcn.180002e60
lea r11, [rsp + 0xa0]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
mov rsp, r11
pop r15
pop r14
pop rbp
ret