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

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x2be0]
mov eax, 0x2ce0
call fcn.140004310
sub rsp, rax
mov rax, qword [0x140001068]
xor rax, rsp
mov qword [rbp + 0x2bd0], rax
xor r14d, r14d
mov r12d, r14d
mov dword [rsp + 0x34], r14d
lea rcx, [rsp + 0x60]
lea rdx, [0x140001250]
mov r8d, 0xc52
call sub.VCRUNTIME140.dll_memcpy
xorps xmm0, xmm0
movups xmmword [rbp + 0xc10], xmm0
mov qword [rbp + 0xc20], r14
mov qword [rbp + 0xc28], r14
lea rax, [rsp + 0x60]
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], r12b
jne 0x1400028e4
lea rdx, [rsp + 0x60]
lea rcx, [rbp + 0xc10]
call fcn.140003200
nop
mov r9d, 0xa
xor r8d, r8d
lea rdx, [rbp + 0xbf0]
lea rcx, [rbp + 0xc10]
call fcn.140002e50
nop
mov r9, qword [rbp + 0xc20]
mov r8d, 0xa
lea rdx, [rbp + 0xc30]
lea rcx, [rbp + 0xc10]
call fcn.140002e50
nop
lea rcx, [rbp + 0xc30]
mov rdi, qword [rbp + 0xc30]
cmp qword [rbp + 0xc48], 0x10
cmovae rcx, rdi
mov qword [rsp + 0x58], rcx
xor edx, edx
mov esi, edx
mov dword [rsp + 0x38], edx
mov r13, qword [rbp + 0xc40]
test r13, r13
je 0x140002d04
lea r15, [rbp + 0xc90]
mov qword [rsp + 0x48], r15
movsxd rbx, esi
add rbx, rcx
movsx r14d, byte [rbx]
sub r14d, 0x30
mov dword [rsp + 0x3c], r14d
xorps xmm0, xmm0
movups xmmword [rbp + 0xbd0], xmm0
mov qword [rbp + 0xbe0], rdx
mov qword [rbp + 0xbe8], rdx
xor r8d, r8d
lea rdx, [0x140001210]
lea rcx, [rbp + 0xbd0]
call fcn.140003200
nop
test r14d, r14d
jle 0x140002c19
xor r15d, r15d
mov qword [rsp + 0x40], r15
lea rax, [rbx + 1]
mov qword [rsp + 0x50], rax
nop dword [rax]
movsx edx, byte [rax + r15]
sub edx, 0x30
lea rcx, [rbp + 0xc70]
call fcn.140003020
or r12d, 1
mov dword [rsp + 0x34], r12d
lea rsi, [rbp + 0xc70]
cmp qword [rbp + 0xc88], 0x10
setae byte [rsp + 0x30]
mov r13, qword [rbp + 0xc70]
cmovae rsi, r13
lea r12, [rbp + 0xbf0]
cmp qword [rbp + 0xc08], 0x10
cmovae r12, qword [rbp + 0xbf0]
mov rdi, qword [rbp + 0xc80]
mov rax, qword [rbp + 0xc00]
cmp rdi, rax
ja 0x140002ab8
sub rax, rdi
test rdi, rdi
jne 0x140002a52
xor ebx, ebx
jmp 0x140002abf
lea r14, [rax + r12]
movsx r15d, byte [rsi]
lea r8, [r14 + 1]
sub r8, r12
mov edx, r15d
mov rcx, r12
call sub.VCRUNTIME140.dll_memchr
mov rbx, rax
test rax, rax
je 0x140002ab3
nop dword [rax]
nop dword [rax + rax]
mov r8, rdi
mov rdx, rsi
mov rcx, rbx
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x140002b49
inc rbx
lea r8, [r14 + 1]
sub r8, rbx
mov edx, r15d
mov rcx, rbx
call sub.VCRUNTIME140.dll_memchr
mov rbx, rax
test rax, rax
jne 0x140002a80
mov r15, qword [rsp + 0x40]
mov rbx, 0xffffffffffffffff
mov edx, ebx
lea rcx, [rbp + 0xc50]
call fcn.140003020
mov r12d, dword [rsp + 0x34]
or r12d, 2
lea r9, [rbp + 0xc50]
mov rdi, qword [rbp + 0xc50]
mov rsi, qword [rbp + 0xc68]
cmp rsi, 0x10
cmovae r9, rdi
mov rcx, qword [rbp + 0xbe0]
mov rdx, qword [rbp + 0xbe8]
mov rax, rdx
sub rax, rcx
mov r14, qword [rbp + 0xc60]
cmp r14, rax
ja 0x140002b56
lea rax, [r14 + rcx]
mov qword [rbp + 0xbe0], rax
lea rbx, [rbp + 0xbd0]
cmp rdx, 0x10
cmovae rbx, qword [rbp + 0xbd0]
add rbx, rcx
mov r8, r14
mov rdx, r9
mov rcx, rbx
call sub.VCRUNTIME140.dll_memmove
mov byte [r14 + rbx], 0
jmp 0x140002b78
sub rbx, r12
mov r15, qword [rsp + 0x40]
jmp 0x140002abf
mov qword [rsp + 0x20], r14
mov rdx, r14
lea rcx, [rbp + 0xbd0]
call fcn.140003300
mov rsi, qword [rbp + 0xc68]
mov rdi, qword [rbp + 0xc50]
cmp rsi, 0x10
jb 0x140002bb0
lea rdx, [rsi + 1]
mov rax, rdi
cmp rdx, 0x1000
jb 0x140002ba7
add rdx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140002cca
mov rcx, rdi
call fcn.1400034fc
nop
cmp byte [rsp + 0x30], 0
je 0x140002bee
mov rdx, qword [rbp + 0xc88]
inc rdx
mov rax, r13
cmp rdx, 0x1000
jb 0x140002be6
add rdx, 0x27
mov r13, qword [r13 - 8]
sub rax, r13
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140002cd1
mov rcx, r13
call fcn.1400034fc
inc r15
mov qword [rsp + 0x40], r15
movsxd r14, dword [rsp + 0x3c]
cmp r15, r14
mov rax, qword [rsp + 0x50]
jl 0x1400029e0
mov esi, dword [rsp + 0x38]
mov r15, qword [rsp + 0x48]
mov r13, qword [rbp + 0xc40]
add esi, r14d
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
mov rdi, rax
lea rbx, [rbp + 0xbd0]
cmp qword [rbp + 0xbe8], 0x10
cmovae rbx, qword [rbp + 0xbd0]
xor r14d, r14d
mov dword [rax], r14d
lea r8d, [r14 + 0xa]
lea rdx, [rbp + 0xbc0]
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_strtol]
cmp rbx, qword [rbp + 0xbc0]
je 0x140002ced
cmp dword [rdi], 0x22
je 0x140002cdf
mov byte [r15], al
inc r15
mov qword [rsp + 0x48], r15
mov rdx, qword [rbp + 0xbe8]
cmp rdx, 0x10
jb 0x140002cb0
inc rdx
mov rcx, qword [rbp + 0xbd0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140002cab
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140002cd8
call fcn.1400034fc
inc esi
mov dword [rsp + 0x38], esi
movsxd rax, esi
cmp rax, r13
jae 0x140002cfb
mov rcx, qword [rsp + 0x58]
xor edx, edx
jmp 0x140002980
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
lea rcx, [0x140001230]
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const____ptr64_]
int3
lea rcx, [0x140001218]
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xinvalid_argument_char_const____ptr64_]
nop
mov rdi, qword [rbp + 0xc30]
jmp 0x140002d07
xor r14d, r14d
mov edx, 0x1f40
xor ecx, ecx
lea r9d, [rcx + 0x40]
mov r8d, 0x3000
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov rbx, rax
mov r8d, 0x1f40
lea rdx, [rbp + 0xc90]
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
nop
call rbx
nop
mov rax, qword [rbp + 0xc48]
cmp rax, 0x10
jb 0x140002d7c
lea rdx, [rax + 1]
mov rax, rdi
cmp rdx, 0x1000
jb 0x140002d73
add rdx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140002d73
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, rdi
call fcn.1400034fc
nop
mov rdx, qword [rbp + 0xc08]
cmp rdx, 0x10
jb 0x140002dc0
inc rdx
mov rcx, qword [rbp + 0xbf0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140002dbb
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140002dbb
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400034fc
mov qword [rbp + 0xc00], r14
mov qword [rbp + 0xc08], 0xf
mov byte [rbp + 0xbf0], 0
mov rdx, qword [rbp + 0xc28]
cmp rdx, 0x10
jb 0x140002e1d
inc rdx
mov rcx, qword [rbp + 0xc10]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140002e18
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140002e18
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400034fc
xor eax, eax
mov rcx, qword [rbp + 0x2bd0]
xor rcx, rsp
call fcn.1400034a0
lea r11, [rsp + 0x2ce0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret