Function at 0x140004580
Capabilities:
Encode data using xor
Enumerate processes

Disassembly:
push rbp
push rbx
push rdi
push r13
push r15
lea rbp, [rsp - 0x1a0]
sub rsp, 0x2a0
mov rax, qword [0x140030040]
xor rax, rsp
mov qword [rbp + 0x180], rax
mov r15, rcx
xor dil, dil
xor bl, bl
call fcn.14001de50
cmp word [0x140020b0a], 0
mov r13d, 0x73
movups xmm0, xmmword [0x140020af8]
mov eax, dword [0x140020b08]
mov dword [rsp + 0x30], eax
movups xmmword [rsp + 0x20], xmm0
je 0x140004617
xor word [rsp + 0x22], 0x33
xor word [rsp + 0x24], 0x34
xor word [rsp + 0x26], 0x35
xor word [rsp + 0x28], 0x36
xor word [rsp + 0x2a], 0x37
xor word [rsp + 0x2c], 0x38
xor word [rsp + 0x2e], 0x39
xor word [rsp + 0x30], 0x3a
xor word [rsp + 0x32], 0x3b
mov word [rsp + 0x20], r13w
lea rcx, [rsp + 0x20]
call fcn.14001e4b0
test eax, eax
je 0x1400048c0
xor edx, edx
mov qword [rsp + 0x2d8], rsi
mov r8d, 0x234
lea rcx, [rsp + 0x44]
call sub.VCRUNTIME140.dll_memset
xor edx, edx
mov dword [rsp + 0x40], 0x238
lea ecx, [rdx + 2]
call qword [sym.imp.KERNEL32.dll_CreateToolhelp32Snapshot]
mov rcx, rax
lea rdx, [rsp + 0x40]
mov rsi, rax
call qword [sym.imp.KERNEL32.dll_Process32FirstW]
cmp eax, 1
jne 0x1400048aa
lea rdx, [rsp + 0x40]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_Process32NextW]
cmp eax, 1
jne 0x1400048aa
mov qword [rsp + 0x2e0], r12
mov r12d, eax
mov qword [rsp + 0x2e8], r14
mov r14d, dword [0x140030088]
movaps xmmword [rsp + 0x290], xmm6
nop dword [rax]
cmp word [0x140020b0a], 0
movups xmm0, xmmword [0x140020af8]
mov eax, dword [0x140020b08]
mov dword [rsp + 0x30], eax
movups xmmword [rsp + 0x20], xmm0
je 0x14000470c
xor word [rsp + 0x22], 0x33
xor word [rsp + 0x24], 0x34
xor word [rsp + 0x26], 0x35
xor word [rsp + 0x28], 0x36
xor word [rsp + 0x2a], 0x37
xor word [rsp + 0x2c], 0x38
xor word [rsp + 0x2e], 0x39
xor word [rsp + 0x30], 0x3a
xor word [rsp + 0x32], 0x3b
mov word [rsp + 0x20], r13w
lea rdx, [rsp + 0x20]
lea rcx, [rsp + 0x6c]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsicmp]
movups xmm3, xmmword [0x1400208c8]
test eax, eax
movzx ebx, bl
pextrw eax, xmm3, 7
cmove ebx, r12d
movups xmmword [rsp + 0x20], xmm3
test ax, ax
je 0x140004861
cmp r14d, 2
jl 0x140004827
movdqa xmm2, xmmword [0x14002b000]
movdqa xmm4, xmmword [0x14002b100]
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x14002b030]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
movq xmm1, xmm3
movdqa xmm3, xmmword [0x14002b010]
paddw xmm2, xmmword [0x14002b070]
movdqa xmm0, xmm3
xorps xmm2, xmm1
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movq qword [rsp + 0x20], xmm2
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x14002b030]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
movq xmm0, qword [rsp + 0x28]
pshufd xmm2, xmm1, 0xd8
paddw xmm2, xmmword [0x14002b070]
xorps xmm2, xmm0
movq qword [rsp + 0x28], xmm2
jmp 0x140004861
lea r8, [rsp + 0x20]
xor ecx, ecx
nop
mov eax, 0x4bda12f7
lea r8, [r8 + 2]
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movzx eax, dx
imul edx, eax, 0x36
movzx eax, cx
inc ecx
sub ax, dx
add ax, 0x32
xor word [r8 - 2], ax
cmp ecx, 8
jl 0x140004830
lea rdx, [rsp + 0x20]
lea rcx, [rsp + 0x6c]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsicmp]
movzx edi, dil
lea rdx, [rsp + 0x40]
test eax, eax
mov rcx, rsi
cmove edi, r12d
call qword [sym.imp.KERNEL32.dll_Process32NextW]
cmp eax, r12d
je 0x1400046b0
movaps xmm6, xmmword [rsp + 0x290]
mov r14, qword [rsp + 0x2e8]
mov r12, qword [rsp + 0x2e0]
call fcn.14001de50
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rsi, qword [rsp + 0x2d8]
call fcn.14001de50
mov rax, r15
mov byte [r15], bl
mov byte [r15 + 1], dil
mov rcx, qword [rbp + 0x180]
xor rcx, rsp
call fcn.14001e600
add rsp, 0x2a0
pop r15
pop r13
pop rdi
pop rbx
pop rbp
ret