Function at 0x14002b320
Capabilities:
Check mutex on windows
Encode data using xor
Terminate thread

Disassembly:
sub rsp, 0x68
cmp byte [0x140031d0b], 0
movups xmm0, xmmword [str.yYTYUf]
mov eax, dword [0x140031d08]
mov dword [rsp + 0x40], eax
movups xmmword [rsp + 0x30], xmm0
je 0x14002b4dd
xor ecx, ecx
cmp dword [reloc.d2d1.dll_Ordinal_1], 2
jl 0x14002b499
movdqa xmm0, xmmword [str.5555555555555555]
lea rdx, [rsp + 0x30]
movdqa xmm5, xmmword [0x140032a30]
movdqa xmm4, xmmword [0x140032bf0]
movdqa xmmword [rsp + 0x20], xmm0
mov r8d, dword [rsp + 0x20]
movaps xmmword [rsp + 0x50], xmm6
movdqa xmm6, xmmword [0x140032a50]
nop dword [rax + rax]
movd xmm2, ecx
lea eax, [rcx + 4]
pshufd xmm2, xmm2, 0
lea rdx, [rdx + 8]
paddd xmm2, xmm5
movd xmm3, eax
movdqa xmm1, xmm2
pshufd xmm3, xmm3, 0
punpckldq xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
paddd xmm3, xmm5
pmuldq xmm0, xmm4
add ecx, 8
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
movdqa xmm1, xmm3
andps xmm2, xmmword [0x140032a80]
packuswb xmm2, xmm2
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movd xmm0, r8d
paddb xmm2, xmm0
movd xmm0, dword [rdx - 8]
xorps xmm2, xmm0
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
movd dword [rdx - 8], xmm2
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
movd xmm0, r8d
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140032a80]
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [rdx - 4]
xorps xmm2, xmm0
movd dword [rdx - 4], xmm2
cmp ecx, 0x10
jl 0x14002b390
movaps xmm6, xmmword [rsp + 0x50]
cmp ecx, 0x14
jge 0x14002b4dd
movsxd rax, ecx
lea r8, [rsp + 0x30]
add r8, rax
nop dword [rax]
nop dword [rax + rax]
mov eax, 0x5397829d
lea r8, [r8 + 1]
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul edx, eax, 0x31
movzx eax, cl
inc ecx
sub al, dl
add al, 0x35
xor byte [r8 - 1], al
cmp ecx, 0x14
jl 0x14002b4b0
lea r8, [rsp + 0x30]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateMutexA]
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
je 0x14002b69b
cmp qword [0x140037c30], 0
jne 0x14002b51e
mov ecx, 4
call fcn.14002fa38
mov qword [0x140037c30], rax
mov dword [rax], 0
call fcn.140001310
test al, al
je 0x14002b69b
mov qword [rsp + 0x70], rbx
mov ecx, 0x820
mov qword [rsp + 0x78], rsi
call fcn.14002fa38
xor edx, edx
mov r8d, 0x820
mov rcx, rax
mov rbx, rax
call sub.VCRUNTIME140.dll_memset
mov rcx, rbx
call fcn.140002320
mov ecx, 0x28
mov rsi, rax
call fcn.14002fa38
xorps xmm0, xmm0
xor ecx, ecx
mov rdx, rsi
movups xmmword [rax], xmm0
movups xmmword [rax + 0x10], xmm0
mov qword [rax + 0x20], rcx
mov rcx, rax
call fcn.140028990
mov rcx, rax
mov rbx, rax
call fcn.140028e40
mov edx, 0x28
mov rcx, rbx
call fcn.14002fa30
test rsi, rsi
je 0x14002b68a
mov rcx, qword [0x140037ca0]
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x60], rdi
lea edx, [r9 + 0x10]
call qword [sym.imp.USER32.dll_SendMessageA]
mov rcx, qword [0x1400370d8]
mov edx, 0xffffffff
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov rcx, qword [0x1400370d8]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [0x140037c40]
call qword [sym.imp.USER32.dll_UnhookWindowsHookEx]
mov rcx, qword [0x140037c80]
call qword [sym.imp.USER32.dll_UnhookWindowsHookEx]
mov rcx, qword [0x1400370e0]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_TerminateThread]
mov rcx, qword [0x1400370e0]
mov edx, 0xffffffff
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov rcx, qword [0x1400370e0]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rbx, qword [0x140037c90]
mov edx, 0xc
mov rcx, rbx
call fcn.14002fa30
test rbx, rbx
je 0x14002b64a
mov qword [0x140037c90], 0x8123
mov rcx, qword [rsi + 8]
mov edx, 0x10
call fcn.14002fa30
lea rbx, [rsi + 0x10]
mov edi, 0xff
mov rcx, qword [rbx]
mov edx, 3
call fcn.14002fa30
lea rbx, [rbx + 8]
sub rdi, 1
jne 0x14002b661
mov rdi, qword [rsp + 0x60]
mov edx, 0x820
mov rcx, rsi
call fcn.14002fa30
mov rbx, qword [rsp + 0x70]
xor eax, eax
mov rsi, qword [rsp + 0x78]
add rsp, 0x68
ret
xor eax, eax
add rsp, 0x68
ret