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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x2c
mov eax, dword [0x1001b00c]
xor eax, esp
mov dword [esp + 0x28], eax
push ebx
mov ebx, ecx
push esi
push edi
mov dword [esp + 0x18], ebx
mov eax, dword [ebx + 0x2c]
mov dword [esp + 0x10], eax
mov edi, dword [eax]
cmp edi, eax
je 0x10003dcc
nop word [eax + eax]
mov ecx, dword [edi + 0x2c]
mov esi, dword [ecx]
cmp esi, ecx
je 0x10003dbc
nop dword [eax]
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.1000bc20
cmp dword [esi + 0x1c], 0x10
lea edx, [esi + 8]
mov ecx, dword [edx + 0x10]
jb 0x10003d99
mov edx, dword [edx]
push ecx
mov ecx, eax
call fcn.1000c180
add esp, 4
mov ecx, eax
push 0x1000a580
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
mov esi, dword [esi]
cmp esi, dword [edi + 0x2c]
jne 0x10003d80
mov eax, dword [esp + 0x10]
cmp dword [edi + 0x30], 0
jne 0x10003f50
mov edi, dword [edi]
cmp edi, eax
jne 0x10003d70
mov eax, dword [ebx + 0x5c]
mov esi, dword [eax]
cmp esi, eax
je 0x10003dff
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.1000bc20
push dword [esi + 8]
mov ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___int_]
push 0x1000a580
mov ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
mov esi, dword [esi]
cmp esi, dword [ebx + 0x5c]
jne 0x10003dd5
cmp dword [ebx + 0x60], 0
jne 0x10003f50
cmp dword [ebx + 0xc], 3
jne 0x10003f0c
cmp byte [ebx + 0x24], 0
jne 0x10003ee7
mov eax, dword [ebx + 4]
mov dword [esp + 0x30], eax
mov esi, dword [eax]
cmp esi, eax
mov dword [esp + 0x10], esi
je 0x10003ee3
mov eax, dword [esi + 0x14]
mov ecx, dword [ebx + 0x1c]
mov edi, dword [esi + 0xc]
cmp eax, 2
jne 0x10003e44
add edi, ecx
jmp 0x10003e4a
test eax, eax
je 0x10003e4a
sub edi, ecx
mov edx, dword [esi + 8]
mov eax, dword [esi + 0x10]
mov dword [esp + 0x14], eax
mov dword [esp + 0xc], edx
cmp edx, dword [ebx + 0x18]
jb 0x10003e7d
push 0x410
push str.Z:ProjectsCCOMPLETED_asi_pluginsgta_sa_info_raknetgta_sa_info_raknetYet_another_hook_libraryxbyakxbyak.h
push str.offset___maxSize_
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
mov eax, dword [esp + 0x20]
add esp, 0xc
mov edx, dword [esp + 0xc]
cmp eax, 1
je 0x10003e95
cmp eax, 2
je 0x10003e95
cmp eax, 4
je 0x10003e95
cmp eax, 8
jne 0x10003f20
mov ecx, dword [ebx + 0x1c]
xor ebx, ebx
add ecx, edx
mov dword [esp + 0x1c], ecx
test eax, eax
je 0x10003ed4
mov esi, dword [esp + 0x14]
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop
mov eax, edi
xor edx, edx
call fcn.100136e0
mov ecx, dword [esp + 0x1c]
mov byte [ebx + ecx], al
inc ebx
mov ecx, dword [esp + 0xc]
add ecx, 8
mov dword [esp + 0xc], ecx
cmp ebx, esi
jb 0x10003eb0
mov esi, dword [esp + 0x10]
mov esi, dword [esi]
mov ebx, dword [esp + 0x18]
cmp esi, dword [esp + 0x30]
jmp 0x10003e28
mov byte [ebx + 0x24], 1
mov ecx, dword [ebx + 0x14]
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
test al, al
je 0x10003f0c
lea eax, [esp + 0x30]
push eax
push 0x40
push dword [ebx + 0x18]
push dword [ebx + 0x1c]
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
test eax, eax
je 0x10003f38
mov ecx, dword [esp + 0x34]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.1001241c
mov esp, ebp
pop ebp
ret 4
push 0xd
lea ecx, [esp + 0x24]
call fcn.100019b0
push 0x1001952c
mov eax, ecx
push eax
call sub.VCRUNTIME140.dll__CxxThrowException
push 0xe
lea ecx, [esp + 0x24]
call fcn.100019b0
push 0x1001952c
mov eax, ecx
push eax
call sub.VCRUNTIME140.dll__CxxThrowException
push 0xb
lea ecx, [esp + 0x24]
call fcn.100019b0
push 0x1001952c
mov eax, ecx
push eax
call sub.VCRUNTIME140.dll__CxxThrowException
int3