Function at 0x140002a70
Capabilities:
Allocate or change rwx memory
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
push rbp
push rdi
push r14
lea rbp, [rax - 0x5f]
sub rsp, 0xf0
movaps xmmword [rax - 0x28], xmm6
movaps xmmword [rax - 0x38], xmm7
movaps xmmword [rax - 0x48], xmm8
movaps xmmword [rax - 0x58], xmm9
movaps xmmword [rax - 0x68], xmm10
movaps xmmword [rax - 0x78], xmm11
movaps xmmword [rax - 0x88], xmm12
mov rax, qword [section..data]
xor rax, rsp
mov qword [rbp - 0x39], rax
mov rsi, rcx
call fcn.1400029c0
mov r8d, eax
xor edx, edx
mov ecx, 0x1fffff
call qword [sym.imp.KERNEL32.dll_OpenProcess]
mov ecx, 1
mov rdi, rax
call qword [sym.imp.KERNEL32.dll_Sleep]
movups xmm2, xmmword [0x140041578]
xor ebx, ebx
mov r14d, dword [0x140048058]
movsd xmm0, qword [0x140041588]
cmp byte [0x14004158f], bl
movdqa xmm10, xmmword [0x140041900]
movdqa xmm4, xmmword [0x1400418b0]
movdqa xmm5, xmmword [0x1400418a0]
movdqa xmm6, xmmword [0x140041890]
movdqa xmm11, xmmword [str.4444]
movdqa xmm3, xmmword [0x140041930]
movdqa xmm7, xmmword [0x1400418e0]
movdqa xmm8, xmmword [0x1400418d0]
movdqa xmm9, xmmword [0x1400418c0]
movdqa xmm12, xmmword [0x140041920]
movups xmmword [rbp - 0x59], xmm2
movsd qword [rbp - 0x49], xmm0
je 0x140002dda
mov r8d, ebx
cmp r14d, 2
jl 0x140002da8
movdqa xmm1, xmm6
movd eax, xmm2
punpckldq xmm1, xmm6
movdqa xmm0, xmm6
pmuldq xmm1, xmm3
punpckhdq xmm0, xmm6
pmuldq xmm0, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
movdqa xmm1, xmm6
pmulld xmm0, xmm11
psubd xmm1, xmm0
movd xmm0, eax
andps xmm1, xmm10
packuswb xmm1, xmm1
packuswb xmm1, xmm1
paddb xmm1, xmm12
xorps xmm1, xmm0
movdqa xmm0, xmm5
movd dword [rbp - 0x59], xmm1
movdqa xmm1, xmm5
punpckldq xmm1, xmm5
pmuldq xmm1, xmm3
punpckhdq xmm0, xmm5
pmuldq xmm0, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
movdqa xmm1, xmm5
pmulld xmm0, xmm11
psubd xmm1, xmm0
movd xmm0, dword [rbp - 0x55]
andps xmm1, xmm10
packuswb xmm1, xmm1
packuswb xmm1, xmm1
paddb xmm1, xmm12
xorps xmm1, xmm0
movdqa xmm0, xmm4
movd dword [rbp - 0x55], xmm1
movdqa xmm1, xmm4
punpckldq xmm1, xmm4
pmuldq xmm1, xmm3
punpckhdq xmm0, xmm4
pmuldq xmm0, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
movdqa xmm1, xmm4
pmulld xmm0, xmm11
psubd xmm1, xmm0
movd xmm0, dword [rbp - 0x51]
andps xmm1, xmm10
packuswb xmm1, xmm1
packuswb xmm1, xmm1
paddb xmm1, xmm12
xorps xmm1, xmm0
movdqa xmm0, xmm9
movd dword [rbp - 0x51], xmm1
movdqa xmm1, xmm9
punpckldq xmm1, xmm9
pmuldq xmm1, xmm3
punpckhdq xmm0, xmm9
pmuldq xmm0, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
movdqa xmm1, xmm9
pmulld xmm0, xmm11
psubd xmm1, xmm0
andps xmm1, xmm10
packuswb xmm1, xmm1
packuswb xmm1, xmm1
movd xmm0, dword [rbp - 0x4d]
paddb xmm1, xmm12
xorps xmm1, xmm0
movdqa xmm0, xmm8
movd dword [rbp - 0x4d], xmm1
movdqa xmm1, xmm8
punpckldq xmm1, xmm8
pmuldq xmm1, xmm3
punpckhdq xmm0, xmm8
pmuldq xmm0, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
movdqa xmm1, xmm8
pmulld xmm0, xmm11
psubd xmm1, xmm0
movd xmm0, dword [rbp - 0x49]
andps xmm1, xmm10
packuswb xmm1, xmm1
packuswb xmm1, xmm1
paddb xmm1, xmm12
xorps xmm1, xmm0
movdqa xmm0, xmm7
movd dword [rbp - 0x49], xmm1
movdqa xmm1, xmm7
punpckldq xmm1, xmm7
pmuldq xmm1, xmm3
punpckhdq xmm0, xmm7
pmuldq xmm0, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
movdqa xmm1, xmm7
pmulld xmm0, xmm11
psubd xmm1, xmm0
movd xmm0, dword [rbp - 0x45]
andps xmm1, xmm10
packuswb xmm1, xmm1
packuswb xmm1, xmm1
paddb xmm1, xmm12
xorps xmm1, xmm0
movd dword [rbp - 0x45], xmm1
jmp 0x140002dda
lea r9, [rbp - 0x59]
nop dword [rax]
mov eax, 0x4ec4ec4f
lea r9, [r9 + 1]
mul r8d
shr edx, 4
movsx eax, dl
imul ecx, eax, 0x34
movzx eax, r8b
inc r8d
sub al, cl
add al, 0x38
xor byte [r9 - 1], al
cmp r8d, 0x18
jl 0x140002db0
cmp byte [0x140041577], bl
lea r10, [rbp - 0x59]
movups xmm2, xmmword [0x140041560]
movsd xmm0, qword [0x140041570]
movups xmmword [rbp - 0x79], xmm2
movsd qword [rbp - 0x69], xmm0
je 0x14000308a
mov r8d, ebx
cmp r14d, 2
jl 0x14000304f
movdqa xmm1, xmm6
movd ecx, xmm12
punpckldq xmm1, xmm6
movdqa xmm0, xmm6
punpckhdq xmm0, xmm6
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
movd eax, xmm2
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
movdqa xmm1, xmm5
pmulld xmm0, xmm11
psubd xmm6, xmm0
punpckldq xmm1, xmm5
pmuldq xmm1, xmm3
andps xmm6, xmm10
packuswb xmm6, xmm6
packuswb xmm6, xmm6
movd xmm0, ecx
paddb xmm6, xmm0
movd xmm0, eax
xorps xmm6, xmm0
movdqa xmm0, xmm5
punpckhdq xmm0, xmm5
pmuldq xmm0, xmm3
movd dword [rbp - 0x79], xmm6
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
movd xmm1, dword [rbp - 0x75]
pmulld xmm0, xmm11
psubd xmm5, xmm0
movd xmm0, ecx
andps xmm5, xmm10
packuswb xmm5, xmm5
packuswb xmm5, xmm5
paddb xmm5, xmm0
movdqa xmm0, xmm4
punpckhdq xmm0, xmm4
xorps xmm5, xmm1
pmuldq xmm0, xmm3
movdqa xmm1, xmm4
punpckldq xmm1, xmm4
pmuldq xmm1, xmm3
movd dword [rbp - 0x75], xmm5
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
movd xmm1, dword [rbp - 0x71]
pmulld xmm0, xmm11
psubd xmm4, xmm0
movd xmm0, ecx
andps xmm4, xmm10
packuswb xmm4, xmm4
packuswb xmm4, xmm4
paddb xmm4, xmm0
movdqa xmm0, xmm9
punpckhdq xmm0, xmm9
xorps xmm4, xmm1
movdqa xmm1, xmm9
pmuldq xmm0, xmm3
punpckldq xmm1, xmm9
pmuldq xmm1, xmm3
movd dword [rbp - 0x71], xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm11
psubd xmm9, xmm0
andps xmm9, xmm10
packuswb xmm9, xmm9
packuswb xmm9, xmm9
movd xmm1, dword [rbp - 0x6d]
movd xmm0, ecx
paddb xmm9, xmm0
movdqa xmm0, xmm8
punpckhdq xmm0, xmm8
xorps xmm9, xmm1
pmuldq xmm0, xmm3
movdqa xmm1, xmm8
punpckldq xmm1, xmm8
pmuldq xmm1, xmm3
movd dword [rbp - 0x6d], xmm9
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
movd xmm1, dword [rbp - 0x69]
pmulld xmm0, xmm11
psubd xmm8, xmm0
movd xmm0, ecx
andps xmm8, xmm10
packuswb xmm8, xmm8
packuswb xmm8, xmm8
paddb xmm8, xmm0
movdqa xmm0, xmm7
punpckhdq xmm0, xmm7
xorps xmm8, xmm1
movdqa xmm1, xmm7
pmuldq xmm0, xmm3
punpckldq xmm1, xmm7
pmuldq xmm1, xmm3
movd dword [rbp - 0x69], xmm8
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
movd xmm1, dword [rbp - 0x65]
pmulld xmm0, xmm11
psubd xmm7, xmm0
movd xmm0, ecx
andps xmm7, xmm10
packuswb xmm7, xmm7
packuswb xmm7, xmm7
paddb xmm7, xmm0
xorps xmm7, xmm1
movd dword [rbp - 0x65], xmm7
jmp 0x14000308a
lea r9, [rbp - 0x79]
nop dword [rax]
nop word [rax + rax]
mov eax, 0x4ec4ec4f
lea r9, [r9 + 1]
mul r8d
shr edx, 4
movsx eax, dl
imul ecx, eax, 0x34
movzx eax, r8b
inc r8d
sub al, cl
add al, 0x38
xor byte [r9 - 1], al
cmp r8d, 0x18
jl 0x140003060
lea r9, [rbp - 0x79]
mov qword [rsp + 0x20], r10
mov r8, rsi
mov rdx, rsi
mov rcx, rdi
call fcn.14000af80
mov rsi, rax
test rax, rax
je 0x1400032ee
mov ecx, 0x1f4
call qword [sym.imp.KERNEL32.dll_Sleep]
lea rax, [rbp - 0x41]
mov r9d, 0x40
mov r8d, 1
mov qword [rsp + 0x20], rax
mov rdx, rsi
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_VirtualProtectEx]
mov r9d, 1
mov qword [rsp + 0x20], rbx
lea r8, [0x1400414c8]
mov rdx, rsi
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
mov r9d, dword [rbp - 0x41]
lea rax, [rbp - 0x41]
mov r8d, 1
mov qword [rsp + 0x20], rax
mov rdx, rsi
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_VirtualProtectEx]
mov ecx, 0xfffffff5
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov rcx, rax
mov edx, 0xa
call qword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
mov eax, dword [0x1400415f8]
movq xmm7, qword [0x1400415f0]
mov dword [rbp - 0x61], eax
movzx eax, word [0x1400415fc]
mov word [rbp - 0x5d], ax
movq qword [rbp - 0x69], xmm7
movups xmm3, xmmword [0x1400415e0]
movups xmmword [rbp - 0x79], xmm3
cmp r14d, 2
jl 0x1400032a3
movdqa xmm4, xmmword [0x140041930]
mov ebx, 0xc
movdqa xmm2, xmmword [0x140041890]
movdqa xmm5, xmmword [str.4444]
movdqa xmm1, xmm2
movdqa xmm6, xmmword [0x140041910]
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, 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, xmm5
psubd xmm2, xmm0
pshufhw xmm0, xmm2, 0xd8
pshuflw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
movq xmm1, xmm3
movdqa xmm3, xmmword [0x1400418a0]
paddw 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 [rbp - 0x79], xmm2
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm3, xmm0
pshufhw xmm0, xmm3, 0xd8
movdqa xmm3, xmmword [0x1400418b0]
pshuflw xmm1, xmm0, 0xd8
movq xmm0, qword [rbp - 0x71]
pshufd xmm2, xmm1, 0xd8
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
paddw xmm2, xmm6
xorps xmm2, xmm0
pmuldq xmm1, xmm4
movq qword [rbp - 0x71], xmm2
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
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, xmm7
pshufd xmm2, xmm1, 0xd8
paddw xmm2, xmm6
xorps xmm2, xmm0
movq qword [rbp - 0x69], xmm2
mov eax, ebx
lea r8, [rbp - 0x79]
lea r8, [r8 + rax*2]
nop dword [rax]
mov eax, 0x4ec4ec4f
lea r8, [r8 + 2]
imul ebx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movzx eax, dx
imul ecx, eax, 0x34
movzx eax, bx
inc ebx
sub ax, cx
add ax, 0x38
xor word [r8 - 2], ax
cmp ebx, 0xf
jl 0x1400032b0
lea rcx, [rbp - 0x79]
call fcn.1400012d0
mov al, 1
jmp 0x1400032f9
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xor al, al
mov rcx, qword [rbp - 0x39]
xor rcx, rsp
call fcn.14000b320
lea r11, [rsp + 0xf0]
mov rbx, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm11, xmmword [r11 - 0x60]
movaps xmm12, xmmword [r11 - 0x70]
mov rsp, r11
pop r14
pop rdi
pop rbp
ret