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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x14
push ebx
push esi
push edi
push str.___Installing_n
mov edi, ecx
call fcn.100b9760
mov eax, dword [0x1063c3e0]
add esp, 4
mov eax, dword [eax]
mov eax, dword [eax]
mov dword [edi + 4], eax
mov eax, dword [0x1063c3e0]
mov eax, dword [eax]
mov dword [eax], 0x10131710
mov eax, dword [0x1063c3e4]
mov eax, dword [eax]
mov eax, dword [eax]
mov dword [edi + 8], eax
mov eax, dword [0x1063c3e4]
mov eax, dword [eax]
mov dword [eax], 0x10131630
call fcn.10110820
cmp dword [0x106474f4], 0
jne 0x1013a5dc
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_HeapCreate]
mov dword [0x106474f4], eax
xor eax, eax
mov ecx, 0x106474f8
xchg dword [ecx], eax
push str.___Detouring_Modules_n
call fcn.100b9760
mov ecx, dword [0x1063c5d4]
lea eax, [edi + 0x2dc]
add esp, 4
mov dword [edi + 0x2d4], ecx
mov edx, 0x10139a60
push eax
call fcn.10110870
mov ecx, dword [0x1063c5d8]
lea eax, [edi + 0x2e8]
push eax
mov edx, 0x10139a60
mov dword [edi + 0x2e0], ecx
call fcn.10110870
mov ecx, dword [0x1063c5dc]
lea eax, [edi + 0x2f4]
push eax
mov edx, 0x10139a60
mov dword [edi + 0x2ec], ecx
call fcn.10110870
mov ecx, dword [0x1063c5e0]
lea eax, [edi + 0x300]
push eax
mov edx, 0x10139a60
mov dword [edi + 0x2f8], ecx
call fcn.10110870
mov ecx, dword [0x1063c4f4]
lea eax, [edi + 0x128]
push eax
mov edx, 0x10133150
mov dword [edi + 0x120], ecx
call fcn.10110870
mov ecx, dword [0x1063c684]
lea eax, [edi + 0x158]
push eax
mov edx, 0x10132a50
mov dword [edi + 0x150], ecx
call fcn.10110870
mov ecx, dword [0x1063c58c]
lea eax, [edi + 0x134]
push eax
mov edx, 0x101399c0
mov dword [edi + 0x12c], ecx
call fcn.10110870
mov ecx, dword [0x1063c598]
lea eax, [edi + 0x11c]
push eax
mov edx, 0x10139a50
mov dword [edi + 0x114], ecx
call fcn.10110870
mov ecx, dword [0x1063c5a4]
lea eax, [edi + 0x140]
push eax
mov edx, 0x10133300
mov dword [edi + 0x138], ecx
call fcn.10110870
mov ecx, dword [0x1063c678]
lea eax, [edi + 0x14c]
push eax
mov edx, 0x10132990
mov dword [edi + 0x144], ecx
call fcn.10110870
mov ecx, dword [0x1063c5b0]
lea eax, [edi + 0x1d0]
push eax
mov edx, 0x10139a70
mov dword [edi + 0x1c8], ecx
call fcn.10110870
mov ecx, dword [0x1063c580]
lea eax, [edi + 0x278]
push eax
mov edx, 0x10138310
mov dword [edi + 0x270], ecx
call fcn.10110870
mov ecx, dword [0x1063c588]
lea eax, [edi + 0x284]
mov dword [edi + 0x27c], ecx
push eax
mov edx, 0x10138440
call fcn.10110870
mov ecx, dword [0x1063c5a8]
lea eax, [edi + 0x290]
push eax
mov edx, method.std::basic_streambuf_char__struct_std::char_traits_char__.virtual_52
mov dword [edi + 0x288], ecx
call fcn.10110870
mov ecx, dword [0x1063c66c]
lea eax, [edi + 0x170]
push eax
mov edx, 0x10138e30
mov dword [edi + 0x168], ecx
call fcn.10110870
push 0x10138bf0
push dword [0x1063c688]
call fcn.10001250
mov ecx, dword [0x1063c5ac]
mov edx, 0x10137b40
mov dword [0x106475c0], eax
lea eax, [edi + 0x17c]
push eax
mov dword [edi + 0x174], ecx
call fcn.10110870
mov ecx, dword [0x1063c564]
lea eax, [edi + 0x2c4]
push eax
mov edx, 0x10137970
mov dword [edi + 0x2bc], ecx
call fcn.10110870
mov ecx, dword [0x1063c570]
lea eax, [edi + 0x2d0]
push eax
mov edx, 0x10137ef0
mov dword [edi + 0x2c8], ecx
call fcn.10110870
push str.___Hooking_bspQuery_n
call fcn.100b9760
mov ecx, dword [0x1063c36c]
add esp, 4
xor edx, edx
mov eax, dword [ecx]
push dword [0x1063c5b8]
push dword [eax + 0xac]
lea eax, [esp + 0x1c]
push eax
call fcn.1002a9f0
push eax
lea ecx, [edi + 0x14]
call fcn.100e1140
lea eax, [esp + 0x10]
mov edx, 0x10138960
push eax
mov eax, dword [edi + 0x14]
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x18]
call fcn.10110870
mov ecx, dword [edi + 0x18]
mov eax, dword [esp + 0x10]
push str.___Hooking_Client_n
mov dword [ecx + 0x18], eax
call fcn.100b9760
add esp, 4
lea ecx, [edi + 0x20]
push dword [0x1063c364]
call fcn.100e1140
lea eax, [esp + 0x10]
mov edx, 0x10139e60
push eax
mov eax, dword [edi + 0x20]
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x1c]
call fcn.10110870
mov ecx, dword [edi + 0x24]
mov eax, dword [esp + 0x10]
mov dword [ecx + 0x1c], eax
lea eax, [esp + 0x10]
push eax
mov eax, dword [edi + 0x20]
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x58]
mov edx, 0x10135950
call fcn.10110870
mov ecx, dword [edi + 0x24]
mov edx, 0x10137cd0
mov eax, dword [esp + 0x10]
mov dword [ecx + 0x58], eax
lea eax, [esp + 0x10]
push eax
mov eax, dword [edi + 0x20]
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x60]
call fcn.10110870
mov ecx, dword [edi + 0x24]
mov edx, 0x10136320
mov eax, dword [esp + 0x10]
mov dword [ecx + 0x60], eax
lea eax, [esp + 0x10]
push eax
mov eax, dword [edi + 0x20]
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x94]
call fcn.10110870
mov ecx, dword [edi + 0x24]
mov edx, 0x10139700
mov eax, dword [esp + 0x10]
mov dword [ecx + 0x94], eax
lea eax, [esp + 0x10]
push eax
mov eax, dword [edi + 0x20]
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x98]
call fcn.10110870
mov ecx, dword [edi + 0x24]
mov eax, dword [esp + 0x10]
push str.___Hooking_ClientState_n
mov dword [ecx + 0x98], eax
call fcn.100b9760
mov eax, dword [0x1063c4b8]
lea ecx, [edi + 0xf0]
add esp, 4
add eax, 8
push eax
call fcn.100e1140
lea eax, [esp + 0x10]
mov edx, 0x10132820
push eax
mov eax, dword [edi + 0xf0]
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x14]
call fcn.10110870
mov ecx, dword [edi + 0xf4]
mov edx, 0x101328c0
mov eax, dword [esp + 0x10]
mov dword [ecx + 0x14], eax
lea eax, [esp + 0x10]
push eax
mov eax, dword [edi + 0xf0]
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x9c]
call fcn.10110870
mov ecx, dword [edi + 0xf4]
mov eax, dword [esp + 0x10]
push str.___Hooking_ClientMode_n
mov dword [ecx + 0x9c], eax
call fcn.100b9760
add esp, 4
lea ecx, [edi + 0x2c]
push dword [0x1063c3e8]
call fcn.100e1140
lea eax, [esp + 0x10]
mov edx, 0x10137860
push eax
mov eax, dword [edi + 0x2c]
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x44]
call fcn.10110870
mov ecx, dword [edi + 0x30]
mov eax, dword [esp + 0x10]
mov dword [ecx + 0x44], eax
lea eax, [esp + 0x10]
push eax
mov eax, dword [edi + 0x2c]
mov edx, 0x10138590
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x48]
call fcn.10110870
mov ecx, dword [edi + 0x30]
mov edx, 0x10139d70
mov eax, dword [esp + 0x10]
mov dword [ecx + 0x48], eax
lea eax, [esp + 0x10]
push eax
mov eax, dword [edi + 0x2c]
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x50]
call fcn.10110870
mov ecx, dword [edi + 0x30]
mov edx, 0x101378b0
mov eax, dword [esp + 0x10]
mov dword [ecx + 0x50], eax
lea eax, [esp + 0x10]
push eax
mov eax, dword [edi + 0x2c]
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x6c]
call fcn.10110870
mov ecx, dword [edi + 0x30]
mov edx, 0x10136080
mov eax, dword [esp + 0x10]
mov dword [ecx + 0x6c], eax
lea eax, [esp + 0x10]
push eax
mov eax, dword [edi + 0x2c]
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x8c]
call fcn.10110870
mov ecx, dword [edi + 0x30]
mov edx, 0x10135a60
mov eax, dword [esp + 0x10]
mov dword [ecx + 0x8c], eax
lea eax, [esp + 0x10]
push eax
mov eax, dword [edi + 0x2c]
mov ecx, dword [eax]
mov ecx, dword [ecx + 0xb0]
call fcn.10110870
mov ecx, dword [edi + 0x30]
mov edx, 0x10139230
mov eax, dword [esp + 0x10]
mov dword [ecx + 0xb0], eax
lea eax, [esp + 0x10]
push eax
mov eax, dword [edi + 0x2c]
mov ecx, dword [eax]
mov ecx, dword [ecx + 0xe8]
call fcn.10110870
mov ecx, dword [edi + 0x30]
mov eax, dword [esp + 0x10]
push str.___Hooking_Engine_n
mov dword [ecx + 0xe8], eax
call fcn.100b9760
add esp, 4
lea ecx, [edi + 0x38]
push dword [0x1063c36c]
call fcn.100e1140
lea eax, [esp + 0x10]
mov edx, 0x101391e0
push eax
mov eax, dword [edi + 0x38]
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x6c]
call fcn.10110870
mov ecx, dword [edi + 0x3c]
mov edx, 0x10139180
mov eax, dword [esp + 0x10]
mov dword [ecx + 0x6c], eax
lea eax, [esp + 0x10]
push eax
mov eax, dword [edi + 0x38]
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x148]
call fcn.10110870
mov ecx, dword [edi + 0x3c]
mov edx, 0x10139120
mov eax, dword [esp + 0x10]
mov dword [ecx + 0x148], eax
lea eax, [esp + 0x10]
push eax
mov eax, dword [edi + 0x38]
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x174]
call fcn.10110870
mov ecx, dword [edi + 0x3c]
mov edx, 0x10139310
mov eax, dword [esp + 0x10]
mov dword [ecx + 0x174], eax
lea eax, [esp + 0x10]
push eax
mov eax, dword [edi + 0x38]
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x194]
call fcn.10110870
mov ecx, dword [edi + 0x3c]
mov edx, 0x10138b80
mov eax, dword [esp + 0x10]
mov dword [ecx + 0x194], eax
lea eax, [esp + 0x10]
push eax
mov eax, dword [edi + 0x38]
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x368]
call fcn.10110870
mov ecx, dword [edi + 0x3c]
mov eax, dword [esp + 0x10]
push str.___Hooking_Key_Values_System_n
mov dword [ecx + 0x368], eax
call fcn.100b9760
add esp, 4
lea ecx, [edi + 0x2b0]
push dword [0x1063c6c0]
call fcn.100e1140
lea eax, [esp + 0x10]
mov edx, 0x10139d20
push eax
mov eax, dword [edi + 0x2b0]
mov ecx, dword [eax]
mov ecx, dword [ecx + 8]
call fcn.10110870
mov ecx, dword [edi + 0x2b4]
mov eax, dword [esp + 0x10]
push str.___Hooking_FileSystem_n
mov dword [ecx + 8], eax
call fcn.100b9760
add esp, 4
lea ecx, [edi + 0xcc]
push dword [0x1063c378]
call fcn.100e1140
lea eax, [esp + 0x10]
mov edx, 0x101314d0
push eax
mov eax, dword [edi + 0xcc]
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x194]
call fcn.10110870
mov ecx, dword [edi + 0xd0]
mov edx, 0x10131570
mov eax, dword [esp + 0x10]
mov dword [ecx + 0x194], eax
lea eax, [esp + 0x10]
push eax
mov eax, dword [edi + 0xcc]
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x200]
call fcn.10110870
mov ecx, dword [edi + 0xd0]
mov eax, dword [esp + 0x10]
push str.___Hooking_GameMovement_n
mov dword [ecx + 0x200], eax
call fcn.100b9760
add esp, 4
lea ecx, [edi + 0xe4]
push dword [0x1063c380]
call fcn.100e1140
lea eax, [esp + 0x10]
mov edx, 0x101383d0
push eax
mov eax, dword [edi + 0xe4]
mov ecx, dword [eax]
mov ecx, dword [ecx + 4]
call fcn.10110870
mov ecx, dword [edi + 0xe8]
mov eax, dword [esp + 0x10]
push str.___Hooking_Inventory_n
mov dword [ecx + 4], eax
call fcn.100b9760
mov ecx, dword [0x1063c60c]
add esp, 4
xor edx, edx
mov eax, dword [ecx]
push dword [0x1063c5b8]
push dword [eax + 0x5c]
lea eax, [esp + 0x1c]
push eax
call fcn.1002a9f0
push eax
lea ecx, [edi + 0x44]
call fcn.100e1140
lea eax, [esp + 0x10]
mov edx, 0x10139660
push eax
mov eax, dword [edi + 0x44]
mov ecx, dword [eax]
mov ecx, dword [ecx + 4]
call fcn.10110870
mov ecx, dword [edi + 0x48]
mov eax, dword [esp + 0x10]
push str.___Hooking_Inventory_Manager_n
mov dword [ecx + 4], eax
call fcn.100b9760
add esp, 4
lea ecx, [edi + 0x50]
push dword [0x1063c60c]
call fcn.100e1140
lea eax, [esp + 0x10]
mov edx, 0x10139540
push eax
mov eax, dword [edi + 0x50]
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x74]
call fcn.10110870
mov ecx, dword [edi + 0x54]
mov eax, dword [esp + 0x10]
push str.___Hooking_ModelRenderer_n
mov dword [ecx + 0x74], eax
call fcn.100b9760
add esp, 4
lea ecx, [edi + 0x5c]
push dword [0x1063c39c]
call fcn.100e1140
lea eax, [esp + 0x10]
mov edx, 0x10136120
push eax
mov eax, dword [edi + 0x5c]
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x54]
call fcn.10110870
mov ecx, dword [edi + 0x60]
mov eax, dword [esp + 0x10]
push str.___Hooking_PanoramaMarshallHelper_n
mov dword [ecx + 0x54], eax
call fcn.100b9760
add esp, 4
lea ecx, [edi + 0x68]
push dword [0x1063c660]
call fcn.100e1140
lea eax, [esp + 0x10]
mov edx, 0x101394f0
push eax
mov eax, dword [edi + 0x68]
mov ecx, dword [eax]
mov ecx, dword [ecx + 4]
call fcn.10110870
mov ecx, dword [edi + 0x6c]
mov eax, dword [esp + 0x10]
mov edx, 0x101393c0
mov dword [ecx + 4], eax
lea eax, [esp + 0x10]
push eax
mov eax, dword [edi + 0x68]
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x14]
call fcn.10110870
mov ecx, dword [edi + 0x6c]
mov edx, 0x10139420
mov eax, dword [esp + 0x10]
mov dword [ecx + 0x14], eax
lea eax, [esp + 0x10]
push eax
mov eax, dword [edi + 0x68]
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x1c]
call fcn.10110870
mov ecx, dword [edi + 0x6c]
mov edx, 0x10139480
mov eax, dword [esp + 0x10]
mov dword [ecx + 0x1c], eax
lea eax, [esp + 0x10]
push eax
mov eax, dword [edi + 0x68]
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x38]
call fcn.10110870
mov ecx, dword [edi + 0x6c]
mov eax, dword [esp + 0x10]
push str.___Hooking_Sound_n
mov dword [ecx + 0x38], eax
call fcn.100b9760
add esp, 4
lea ecx, [edi + 0x74]
push dword [0x1063c3bc]
call fcn.100e1140
lea eax, [esp + 0x10]
mov edx, 0x10137660
push eax
mov eax, dword [edi + 0x74]
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x14]
call fcn.10110870
mov ecx, dword [edi + 0x78]
mov eax, dword [esp + 0x10]
push str.___Hooking_Surface_n
mov dword [ecx + 0x14], eax
call fcn.100b9760
add esp, 4
lea ebx, [edi + 0xa8]
mov ecx, ebx
push dword [0x1063c3b8]
call fcn.100e1140
lea eax, [esp + 0x10]
mov edx, 0x10138190
push eax
mov eax, dword [ebx]
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x3c]
call fcn.10110870
mov ecx, dword [ebx + 4]
mov eax, dword [esp + 0x10]
push str.___Hooking_svCheats_n
mov dword [ecx + 0x3c], eax
call fcn.100b9760
mov ecx, dword [0x1063c368]
add esp, 4
xor edx, edx
mov eax, dword [ecx]
push str.sv_cheats
push dword [0x1063c5b8]
push dword [eax + 0x3c]
lea eax, [esp + 0x20]
push eax
call fcn.1002a9f0
push eax
lea ecx, [edi + 0xc0]
call fcn.100e1140
lea eax, [esp + 0x10]
push eax
mov eax, dword [edi + 0xc0]
mov edx, 0x101362f0
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x34]
call fcn.10110870
mov ecx, dword [edi + 0xc4]
mov eax, dword [esp + 0x10]
push str.___Hooking_ViewRender_n
mov dword [ecx + 0x34], eax
call fcn.100b9760
add esp, 4
lea ecx, [edi + 0xb4]
push dword [0x1063c440]
call fcn.100e1140
lea eax, [esp + 0x10]
mov edx, 0x10138b40
push eax
mov eax, dword [edi + 0xb4]
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x9c]
call fcn.10110870
mov ecx, dword [edi + 0xb8]
mov edx, 0x10139370
mov eax, dword [esp + 0x10]
mov dword [ecx + 0x9c], eax
lea eax, [esp + 0x10]
push eax
mov eax, dword [edi + 0xb4]
mov ecx, dword [eax]
mov ecx, dword [ecx + 0xa4]
call fcn.10110870
mov ecx, dword [edi + 0xb8]
mov eax, dword [esp + 0x10]
push str.___Hooking_GameCoordinator_n
mov dword [ecx + 0xa4], eax
call fcn.100b9760
add esp, 4
lea ecx, [edi + 0x8c]
push dword [0x1063c68c]
call fcn.100e12c0
mov eax, dword [edi + 0x94]
push str.___Hooking_Steam_Matchmaking_n
mov dword [eax + 8], 0x10138c10
mov eax, dword [edi + 0x94]
mov dword [eax], 0x10138cc0
call fcn.100b9760
add esp, 4
lea ecx, [edi + 0x304]
push dword [0x106473f4]
call fcn.100e12c0
mov eax, dword [edi + 0x30c]
mov esi, dword [sym.imp.KERNEL32.dll_VirtualProtect]
mov dword [eax + 0x68], 0x10135970
lea eax, [esp + 0x10]
push eax
push 0x40
push 4
push dword [0x1063c438]
call esi
test eax, eax
je 0x1013b006
mov ecx, dword [0x1063c438]
push 0
mov eax, dword [ecx]
add ecx, 4
add eax, ecx
mov ecx, 0x10138a90
mov dword [edi + 0xc], eax
mov eax, dword [0x1063c438]
sub ecx, eax
sub ecx, 4
mov dword [eax], ecx
push dword [esp + 0x14]
push 4
push dword [0x1063c438]
call esi
lea eax, [esp + 0x10]
mov edx, 0x10138d40
push eax
mov eax, dword [ebx]
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x70]
call fcn.10110870
mov ecx, dword [ebx + 4]
mov edx, 0x10137920
mov eax, dword [esp + 0x10]
mov dword [ecx + 0x70], eax
lea eax, [esp + 0x10]
push eax
mov eax, dword [ebx]
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x10c]
call fcn.10110870
mov ecx, dword [ebx + 4]
mov eax, dword [esp + 0x10]
mov dword [ecx + 0x10c], eax
call fcn.10110820
cmp dword [0x106474f4], 0
je 0x1013b064
mov ecx, 1
call fcn.10110760
xor eax, eax
mov ecx, 0x106474f8
xchg dword [ecx], eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret