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

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r14
push r15
lea rbp, [rax - 0x68]
sub rsp, 0x150
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
movaps xmmword [rax - 0x98], xmm13
movaps xmmword [rax - 0xa8], xmm14
mov rax, qword [section..data]
xor rax, rsp
mov qword [rbp - 0x48], rax
mov r14, 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]
mov esi, dword [0x140048058]
xor r15d, r15d
movdqa xmm9, xmmword [0x140041900]
movdqa xmm11, xmmword [0x1400418c0]
movdqa xmm12, xmmword [0x1400418b0]
movdqa xmm13, xmmword [0x1400418a0]
movdqa xmm7, xmmword [0x140041890]
movdqa xmm14, xmmword [0x140041910]
movdqa xmm8, xmmword [str.4444]
movdqa xmm6, xmmword [0x140041930]
movdqa xmm10, xmmword [0x140041920]
nop
mov eax, dword [0x1400415b8]
mov r8d, r15d
mov dword [rbp - 0x58], eax
movzx eax, word [0x1400415bc]
mov word [rbp - 0x54], ax
movzx eax, byte [str.fkM_K]
mov byte [rbp - 0x52], al
movups xmm0, xmmword [0x140041590]
movups xmm1, xmmword [0x1400415a0]
movups xmmword [rbp - 0x80], xmm0
movsd xmm0, qword [0x1400415b0]
movsd qword [rbp - 0x60], xmm0
movups xmmword [rbp - 0x70], xmm1
cmp esi, 2
jl 0x14000356d
movdqa xmmword [rsp + 0x30], xmm10
lea rcx, [rbp - 0x80]
mov edx, dword [rsp + 0x30]
nop dword [rax]
movd xmm2, r8d
lea eax, [r8 + 4]
pshufd xmm2, xmm2, 0
lea rcx, [rcx + 8]
paddd xmm2, xmm7
movd xmm3, eax
movdqa xmm1, xmm2
pshufd xmm3, xmm3, 0
punpckldq xmm1, xmm2
paddd xmm3, xmm7
movdqa xmm0, xmm2
pmuldq xmm1, xmm6
punpckhdq xmm0, xmm2
add r8d, 8
pmuldq xmm0, xmm6
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm6
pmulld xmm0, xmm8
psubd xmm2, xmm0
movd xmm0, edx
andps xmm2, xmm9
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [rcx - 8]
xorps xmm2, xmm0
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm6
movd dword [rcx - 8], xmm2
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm8
psubd xmm3, xmm0
movd xmm0, edx
andps xmm3, xmm9
packuswb xmm3, xmm3
packuswb xmm3, xmm3
paddb xmm3, xmm0
movd xmm0, dword [rcx - 4]
xorps xmm3, xmm0
movd dword [rcx - 4], xmm3
cmp r8d, 0x28
jl 0x140003480
cmp r8d, 0x2f
jge 0x1400035b1
movsxd rax, r8d
lea r9, [rbp - 0x80]
add r9, rax
nop word [rax + rax]
mov eax, 0x4ec4ec4f
lea r9, [r9 + 1]
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
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, 0x2f
jl 0x140003580
mov eax, dword [0x140041868]
mov ecx, r15d
mov dword [rsp + 0x78], eax
movzx eax, word [0x14004186c]
mov word [rsp + 0x7c], ax
movzx eax, byte [0x14004186e]
mov byte [rsp + 0x7e], al
movups xmm0, xmmword [str.momzhk]
movups xmm1, xmmword [0x140041850]
movups xmmword [rsp + 0x50], xmm0
movsd xmm0, qword [0x140041860]
movsd qword [rsp + 0x70], xmm0
movups xmmword [rsp + 0x60], xmm1
cmp esi, 2
jl 0x14000370a
movdqa xmmword [rsp + 0x30], xmm10
lea rdx, [rsp + 0x50]
mov r8d, dword [rsp + 0x30]
nop word [rax + rax]
movd xmm2, ecx
lea eax, [rcx + 4]
pshufd xmm2, xmm2, 0
lea rdx, [rdx + 8]
paddd xmm2, xmm7
movd xmm3, eax
movdqa xmm1, xmm2
pshufd xmm3, xmm3, 0
punpckldq xmm1, xmm2
paddd xmm3, xmm7
movdqa xmm0, xmm2
pmuldq xmm1, xmm6
punpckhdq xmm0, xmm2
add ecx, 8
pmuldq xmm0, xmm6
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm6
pmulld xmm0, xmm8
psubd xmm2, xmm0
movd xmm0, r8d
andps xmm2, xmm9
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [rdx - 8]
xorps xmm2, xmm0
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm6
movd dword [rdx - 8], xmm2
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm8
psubd xmm3, xmm0
movd xmm0, r8d
andps xmm3, xmm9
packuswb xmm3, xmm3
packuswb xmm3, xmm3
paddb xmm3, xmm0
movd xmm0, dword [rdx - 4]
xorps xmm3, xmm0
movd dword [rdx - 4], xmm3
cmp ecx, 0x28
jl 0x140003620
cmp ecx, 0x2f
jge 0x14000374d
movsxd rax, ecx
lea r8, [rsp + 0x50]
add r8, rax
nop word [rax + rax]
mov eax, 0x4ec4ec4f
lea r8, [r8 + 1]
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul edx, eax, 0x34
movzx eax, cl
inc ecx
sub al, dl
add al, 0x38
xor byte [r8 - 1], al
cmp ecx, 0x2f
jl 0x140003720
lea rax, [rbp - 0x80]
mov r8, r14
lea r9, [rsp + 0x50]
mov qword [rsp + 0x20], rax
mov rdx, r14
mov rcx, rdi
call fcn.14000af80
mov rbx, rax
test rax, rax
je 0x140003a23
mov ecx, 0x1f4
call qword [sym.imp.KERNEL32.dll_Sleep]
lea rax, [rbp - 0x50]
mov r9d, 0x40
mov r8d, 1
mov qword [rsp + 0x20], rax
mov rdx, rbx
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_VirtualProtectEx]
mov r9d, 1
mov qword [rsp + 0x20], r15
lea r8, [0x1400414c8]
mov rdx, rbx
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
mov r9d, dword [rbp - 0x50]
lea rax, [rbp - 0x50]
mov r8d, 1
mov qword [rsp + 0x20], rax
mov rdx, rbx
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_VirtualProtectEx]
inc dword [0x140535298]
mov ecx, 0xfffffff5
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov rcx, rax
mov edx, 0xa
call qword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
movups xmm0, xmmword [str.mlc_v]
movups xmm3, xmmword [0x1400415c0]
pextrw eax, xmm0, 7
movups xmmword [rsp + 0x30], xmm3
movups xmmword [rsp + 0x40], xmm0
test ax, ax
je 0x140003a0e
mov r8d, r15d
cmp esi, 2
jl 0x1400039d5
movdqa xmm2, xmm7
movdqa xmm0, xmm7
punpckldq xmm2, xmm7
pmuldq xmm2, xmm6
punpckhdq xmm0, xmm7
pmuldq xmm0, xmm6
shufps xmm2, xmm0, 0xdd
movdqa xmm0, xmm7
psrad xmm2, 4
movdqa xmm1, xmm2
psrld xmm1, 0x1f
paddd xmm1, xmm2
pmulld xmm1, xmm8
psubd xmm0, xmm1
pshufhw xmm0, xmm0, 0xd8
pshuflw xmm1, xmm0, 0xd8
movdqa xmm0, xmm13
punpckhdq xmm0, xmm13
pmuldq xmm0, xmm6
pshufd xmm2, xmm1, 0xd8
movq xmm1, xmm3
paddw xmm2, xmm14
xorps xmm2, xmm1
movq qword [rsp + 0x30], xmm2
movdqa xmm2, xmm13
punpckldq xmm2, xmm13
pmuldq xmm2, xmm6
shufps xmm2, xmm0, 0xdd
movdqa xmm0, xmm13
psrad xmm2, 4
movdqa xmm1, xmm2
psrld xmm1, 0x1f
paddd xmm1, xmm2
pmulld xmm1, xmm8
psubd xmm0, xmm1
pshufhw xmm0, xmm0, 0xd8
pshuflw xmm1, xmm0, 0xd8
movq xmm0, qword [rsp + 0x38]
pshufd xmm2, xmm1, 0xd8
paddw xmm2, xmm14
xorps xmm2, xmm0
movdqa xmm0, xmm12
movq qword [rsp + 0x38], xmm2
movdqa xmm2, xmm12
punpckldq xmm2, xmm12
pmuldq xmm2, xmm6
punpckhdq xmm0, xmm12
pmuldq xmm0, xmm6
shufps xmm2, xmm0, 0xdd
movdqa xmm0, xmm12
psrad xmm2, 4
movdqa xmm1, xmm2
psrld xmm1, 0x1f
paddd xmm1, xmm2
pmulld xmm1, xmm8
psubd xmm0, xmm1
pshufhw xmm0, xmm0, 0xd8
pshuflw xmm1, xmm0, 0xd8
movq xmm0, qword [rsp + 0x40]
pshufd xmm2, xmm1, 0xd8
paddw xmm2, xmm14
xorps xmm2, xmm0
movdqa xmm0, xmm11
movq qword [rsp + 0x40], xmm2
movdqa xmm2, xmm11
punpckldq xmm2, xmm11
punpckhdq xmm0, xmm11
pmuldq xmm2, xmm6
pmuldq xmm0, xmm6
shufps xmm2, xmm0, 0xdd
movdqa xmm0, xmm11
psrad xmm2, 4
movdqa xmm1, xmm2
psrld xmm1, 0x1f
paddd xmm1, xmm2
pmulld xmm1, xmm8
psubd xmm0, xmm1
pshufhw xmm0, xmm0, 0xd8
pshuflw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
paddw xmm2, xmm14
movq xmm0, qword [rsp + 0x48]
lea rcx, [rsp + 0x30]
mov edx, dword [0x140535298]
xorps xmm2, xmm0
movq qword [rsp + 0x48], xmm2
call fcn.1400012d0
jmp 0x140003420
lea r9, [rsp + 0x30]
nop word [rax + rax]
mov eax, 0x4ec4ec4f
lea r9, [r9 + 2]
mul r8d
shr edx, 4
movzx eax, dx
imul ecx, eax, 0x34
movzx eax, r8w
inc r8d
sub ax, cx
add ax, 0x38
xor word [r9 - 2], ax
cmp r8d, 0x10
jl 0x1400039e0
mov edx, dword [0x140535298]
lea rcx, [rsp + 0x30]
call fcn.1400012d0
jmp 0x140003420
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov al, 1
mov rcx, qword [rbp - 0x48]
xor rcx, rsp
call fcn.14000b320
lea r11, [rsp + 0x150]
mov rbx, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rdi, qword [r11 + 0x38]
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]
movaps xmm13, xmmword [r11 - 0x80]
movaps xmm14, xmmword [r11 - 0x90]
mov rsp, r11
pop r15
pop r14
pop rbp
ret