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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10101b91
mov eax, dword fs:[0]
push eax
sub esp, 0x70
mov eax, dword [0x10167080]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, ecx
mov dword [ebp - 0x78], eax
lea ecx, [ebp - 0x5c]
mov dword [eax], vtable.components::_renderer.0
call fcn.10004700
cmp byte [ebp - 0x5c], 0
jne 0x100105c6
mov byte [ebp - 0x5c], 1
mov byte [ebp - 0x47], 0
mov dword [ebp - 0x58], 0x5f3ec2
mov dword [ebp - 0x54], 0x1000e6a0
mov eax, dword [0x5f3ec3]
add eax, 0x5f3ec7
mov dword [ebp - 0x50], eax
sub esp, 8
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x5c]
call fcn.10068a70
cmp byte [eax + 1], 0
je 0x100105e2
mov byte [eax + 1], 0
mov dword [ebp - 4], 1
cmp byte [ebp - 0x5c], 0
je 0x100105f8
push ecx
lea ecx, [ebp - 0x5c]
call fcn.10068b40
lea eax, [ebp - 0x40]
push eax
call fcn.1000ab50
add esp, 4
lea ecx, [ebp - 0x5c]
call fcn.10004700
cmp byte [ebp - 0x5c], 0
jne 0x10010635
mov byte [ebp - 0x5c], 1
mov byte [ebp - 0x47], 0
mov dword [ebp - 0x58], 0x5f3ea9
mov dword [ebp - 0x54], 0x1000e830
mov eax, dword [0x5f3eaa]
add eax, 0x5f3eae
mov dword [ebp - 0x50], eax
sub esp, 8
mov dword [ebp - 4], 2
lea ecx, [ebp - 0x5c]
call fcn.10068a70
cmp byte [eax + 1], 0
je 0x10010651
mov byte [eax + 1], 0
mov dword [ebp - 4], 3
cmp byte [ebp - 0x5c], 0
je 0x10010667
push ecx
lea ecx, [ebp - 0x5c]
call fcn.10068b40
lea eax, [ebp - 0x40]
push eax
call fcn.1000ab50
mov esi, dword [sym.imp.KERNEL32.dll_VirtualProtect]
lea eax, [ebp - 0x74]
add esp, 4
push eax
push 0x40
push 7
push 0x5f5d97
call esi
mov eax, 0x5f5d97
mov ecx, 0x90909090
mov dword [eax], ecx
mov word [eax + 4], cx
mov byte [eax + 6], cl
lea eax, [ebp - 0x74]
push eax
push dword [ebp - 0x74]
push 7
push 0x5f5d97
call esi
mov edi, dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push 7
push 0x5f5d97
call edi
push eax
call dword [sym.imp.KERNEL32.dll_FlushInstructionCache]
lea ecx, [ebp - 0x5c]
call fcn.10004700
cmp byte [ebp - 0x5c], 0
jne 0x100106f2
mov byte [ebp - 0x5c], 1
mov byte [ebp - 0x47], 1
mov dword [ebp - 0x58], 0x5f5d97
mov dword [ebp - 0x54], 0x1000e980
mov eax, dword [0x5f5d98]
add eax, 0x5f5d9c
mov dword [ebp - 0x50], eax
sub esp, 8
mov dword [ebp - 4], 4
lea ecx, [ebp - 0x5c]
call fcn.10068a70
cmp byte [eax + 1], 0
je 0x1001070e
mov byte [eax + 1], 0
mov dword [ebp - 4], 5
cmp byte [ebp - 0x5c], 0
je 0x10010724
push ecx
lea ecx, [ebp - 0x5c]
call fcn.10068b40
lea eax, [ebp - 0x40]
push eax
call fcn.1000ab50
add esp, 4
lea eax, [ebp - 0x74]
push eax
push 0x40
push 6
push 0x643942
call esi
mov eax, 0x643942
mov ecx, 0x90909090
mov dword [eax], ecx
mov word [eax + 4], cx
lea eax, [ebp - 0x74]
push eax
push dword [ebp - 0x74]
push 6
push 0x643942
call esi
push 6
push 0x643942
call edi
push eax
call dword [sym.imp.KERNEL32.dll_FlushInstructionCache]
lea ecx, [ebp - 0x5c]
call fcn.10004700
cmp byte [ebp - 0x5c], 0
jne 0x100107a0
mov byte [ebp - 0x5c], 1
mov byte [ebp - 0x47], 1
mov dword [ebp - 0x58], 0x643942
mov dword [ebp - 0x54], 0x1000e990
mov eax, dword [0x643943]
add eax, 0x643947
mov dword [ebp - 0x50], eax
sub esp, 8
mov dword [ebp - 4], 6
lea ecx, [ebp - 0x5c]
call fcn.10068a70
cmp byte [eax + 1], 0
je 0x100107bc
mov byte [eax + 1], 0
mov dword [ebp - 4], 7
cmp byte [ebp - 0x5c], 0
je 0x100107d2
push ecx
lea ecx, [ebp - 0x5c]
call fcn.10068b40
lea eax, [ebp - 0x40]
push eax
call fcn.1000ab50
add esp, 4
lea eax, [ebp - 0x74]
push eax
push 0x40
push 6
push 0x64381c
call esi
mov eax, 0x64381c
mov ecx, 0x90909090
mov dword [eax], ecx
mov word [eax + 4], cx
lea eax, [ebp - 0x74]
push eax
push dword [ebp - 0x74]
push 6
push 0x64381c
call esi
push 6
push 0x64381c
call edi
push eax
call dword [sym.imp.KERNEL32.dll_FlushInstructionCache]
lea ecx, [ebp - 0x5c]
call fcn.10004700
cmp byte [ebp - 0x5c], 0
jne 0x1001084e
mov byte [ebp - 0x5c], 1
mov byte [ebp - 0x47], 1
mov dword [ebp - 0x58], 0x64381c
mov dword [ebp - 0x54], 0x1000e9b0
mov eax, dword [0x64381d]
add eax, 0x643821
mov dword [ebp - 0x50], eax
sub esp, 8
mov dword [ebp - 4], 8
lea ecx, [ebp - 0x5c]
call fcn.10068a70
cmp byte [eax + 1], 0
je 0x1001086a
mov byte [eax + 1], 0
mov dword [ebp - 4], 9
cmp byte [ebp - 0x5c], 0
je 0x10010880
push ecx
lea ecx, [ebp - 0x5c]
call fcn.10068b40
lea eax, [ebp - 0x40]
push eax
call fcn.1000ab50
add esp, 4
lea ecx, [ebp - 0x5c]
call fcn.10004700
cmp byte [ebp - 0x5c], 0
jne 0x100108bd
mov byte [ebp - 0x5c], 1
mov byte [ebp - 0x47], 1
mov dword [ebp - 0x58], 0x64bcf1
mov dword [ebp - 0x54], 0x1000ec30
mov eax, dword [0x64bcf2]
add eax, 0x64bcf6
mov dword [ebp - 0x50], eax
sub esp, 8
mov dword [ebp - 4], 0xa
lea ecx, [ebp - 0x5c]
call fcn.10068a70
cmp byte [eax + 1], 0
je 0x100108d9
mov byte [eax + 1], 0
mov dword [ebp - 4], 0xb
cmp byte [ebp - 0x5c], 0
je 0x100108ef
push ecx
lea ecx, [ebp - 0x5c]
call fcn.10068b40
lea eax, [ebp - 0x40]
push eax
call fcn.1000ab50
add esp, 4
lea ecx, [ebp - 0x5c]
call fcn.10004700
cmp byte [ebp - 0x5c], 0
jne 0x1001092c
mov byte [ebp - 0x5c], 1
mov byte [ebp - 0x47], 1
mov dword [ebp - 0x58], 0x64c350
mov dword [ebp - 0x54], 0x1000ec60
mov eax, dword [0x64c351]
add eax, 0x64c355
mov dword [ebp - 0x50], eax
sub esp, 8
mov dword [ebp - 4], 0xc
lea ecx, [ebp - 0x5c]
call fcn.10068a70
cmp byte [eax + 1], 0
je 0x10010948
mov byte [eax + 1], 0
mov dword [ebp - 4], 0xd
cmp byte [ebp - 0x5c], 0
je 0x1001095e
push ecx
lea ecx, [ebp - 0x5c]
call fcn.10068b40
lea eax, [ebp - 0x40]
push eax
call fcn.1000ab50
add esp, 4
lea eax, [ebp - 0x74]
push eax
push 0x40
push 3
push 0x47549e
call esi
mov eax, 0x47549e
mov ecx, 0x90909090
mov word [eax], cx
mov byte [eax + 2], cl
lea eax, [ebp - 0x74]
push eax
push dword [ebp - 0x74]
push 3
push 0x47549e
call esi
push 3
push 0x47549e
call edi
push eax
call dword [sym.imp.KERNEL32.dll_FlushInstructionCache]
lea eax, [ebp - 0x74]
push eax
push 0x40
push 1
push 0x4754d7
call esi
lea eax, [ebp - 0x74]
mov byte [0x4754d7], 0xb0
push eax
push dword [ebp - 0x74]
push 1
push 0x4754d7
call esi
push 1
push 0x4754d7
call edi
push eax
call dword [sym.imp.KERNEL32.dll_FlushInstructionCache]
lea ecx, [ebp - 0x5c]
call fcn.10004700
cmp byte [ebp - 0x5c], 0
jne 0x10010a10
mov byte [ebp - 0x5c], 1
mov byte [ebp - 0x47], 1
mov dword [ebp - 0x58], 0x47540c
mov dword [ebp - 0x54], 0x1000ece0
mov eax, dword [0x47540d]
add eax, 0x475411
mov dword [ebp - 0x50], eax
sub esp, 8
mov dword [ebp - 4], 0xe
lea ecx, [ebp - 0x5c]
call fcn.10068a70
cmp byte [eax + 1], 0
je 0x10010a2c
mov byte [eax + 1], 0
mov dword [ebp - 4], 0xf
cmp byte [ebp - 0x5c], 0
je 0x10010a42
push ecx
lea ecx, [ebp - 0x5c]
call fcn.10068b40
lea eax, [ebp - 0x40]
push eax
call fcn.1000ab50
mov dword [ebp - 4], 0xffffffff
add esp, 4
mov eax, dword fs:[0x2c]
mov ecx, dword [0x1016f87c]
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x1021efd8]
cmp eax, dword [ecx + 4]
jle 0x10010ae2
push 0x1021efd8
call fcn.100d92a4
add esp, 4
cmp dword [0x1021efd8], 0xffffffff
jne 0x10010ae2
lea ecx, [ebp - 0x70]
mov dword [ebp - 4], 0x10
push ecx
lea eax, [ebp - 0x5c]
mov dword [ebp - 0x70], str.NONE
push eax
push ecx
mov ecx, 0x1021efdc
mov dword [ebp - 0x6c], str.SHADED
mov dword [ebp - 0x68], str.SOLID
mov dword [ebp - 0x64], str.SHADED_WHITE
mov dword [ebp - 0x60], str.SOLID_WHITE
call fcn.10011dd0
push 0x10106980
call fcn.100d91ad
push 0x1021efd8
mov dword [ebp - 4], 0xffffffff
call fcn.100d9253
add esp, 8
mov ecx, dword [0x1021efe0]
mov eax, dword [0x1021efdc]
sub ecx, eax
push eax
sar ecx, 2
push ecx
push 0
push 0
push 0
push 0
push str.Draw_world_objects_using_their_wireframe_technique
push 0
push 6
push str.r_wireframe_world
call dword [0x10167e9c]
mov ecx, dword [0x1021efe0]
mov dword [0x1020d19c], eax
mov eax, dword [0x1021efdc]
sub ecx, eax
push eax
sar ecx, 2
push ecx
push 0
push 0
push 0
push 0
push str.Draw_xmodels_using_their_wireframe_technique
push 0
push 6
push str.r_wireframe_xmodels
call dword [0x10167e9c]
add esp, 0x50
mov dword [0x1020d1a0], eax
push 0
push 0
push 0
push 0
push 0
push 0
push str.Show_surface_UVs___Texcoords
push 0
push 0
push str.r_debugShaderTexcoord
call dword [0x10167e44]
add esp, 0x28
mov dword [0x1020d198], eax
lea ecx, [ebp - 0x5c]
call fcn.10004700
cmp byte [ebp - 0x5c], 0
jne 0x10010ba4
mov byte [ebp - 0x5c], 1
mov byte [ebp - 0x47], 1
mov dword [ebp - 0x58], 0x648f86
mov dword [ebp - 0x54], 0x1000f290
mov eax, dword [0x648f87]
add eax, 0x648f8b
mov dword [ebp - 0x50], eax
sub esp, 8
mov dword [ebp - 4], 0x11
lea ecx, [ebp - 0x5c]
call fcn.10068a70
cmp byte [eax + 1], 0
je 0x10010bc0
mov byte [eax + 1], 0
mov dword [ebp - 4], 0x12
cmp byte [ebp - 0x5c], 0
je 0x10010bd6
push ecx
lea ecx, [ebp - 0x5c]
call fcn.10068b40
lea eax, [ebp - 0x40]
push eax
call fcn.1000ab50
add esp, 4
lea ecx, [ebp - 0x5c]
call fcn.10004700
cmp byte [ebp - 0x5c], 0
jne 0x10010c13
mov byte [ebp - 0x5c], 1
mov byte [ebp - 0x47], 1
mov dword [ebp - 0x58], 0x648f3c
mov dword [ebp - 0x54], 0x1000f2b0
mov eax, dword [0x648f3d]
add eax, 0x648f41
mov dword [ebp - 0x50], eax
sub esp, 8
mov dword [ebp - 4], 0x13
lea ecx, [ebp - 0x5c]
call fcn.10068a70
cmp byte [eax + 1], 0
je 0x10010c2f
mov byte [eax + 1], 0
mov dword [ebp - 4], 0x14
cmp byte [ebp - 0x5c], 0
je 0x10010c45
push ecx
lea ecx, [ebp - 0x5c]
call fcn.10068b40
lea eax, [ebp - 0x40]
push eax
call fcn.1000ab50
add esp, 4
lea ecx, [ebp - 0x5c]
call fcn.10004700
cmp byte [ebp - 0x5c], 0
jne 0x10010c82
mov byte [ebp - 0x5c], 1
mov byte [ebp - 0x47], 1
mov dword [ebp - 0x58], 0x6490b7
mov dword [ebp - 0x54], 0x1000f2d0
mov eax, dword [0x6490b8]
add eax, 0x6490bc
mov dword [ebp - 0x50], eax
sub esp, 8
mov dword [ebp - 4], 0x15
lea ecx, [ebp - 0x5c]
call fcn.10068a70
cmp byte [eax + 1], 0
je 0x10010c9e
mov byte [eax + 1], 0
mov dword [ebp - 4], 0x16
cmp byte [ebp - 0x5c], 0
je 0x10010cb4
push ecx
lea ecx, [ebp - 0x5c]
call fcn.10068b40
lea eax, [ebp - 0x40]
push eax
call fcn.1000ab50
add esp, 4
lea eax, [ebp - 0x74]
push eax
push 0x40
push 7
push 0x64bedb
call esi
mov eax, 0x64bedb
mov ecx, 0x90909090
mov dword [eax], ecx
mov word [eax + 4], cx
mov byte [eax + 6], cl
lea eax, [ebp - 0x74]
push eax
push dword [ebp - 0x74]
push 7
push 0x64bedb
call esi
push 7
push 0x64bedb
call edi
push eax
call dword [sym.imp.KERNEL32.dll_FlushInstructionCache]
lea ecx, [ebp - 0x5c]
call fcn.10004700
cmp byte [ebp - 0x5c], 0
jne 0x10010d33
mov byte [ebp - 0x5c], 1
mov byte [ebp - 0x47], 1
mov dword [ebp - 0x58], 0x64bedb
mov dword [ebp - 0x54], 0x10010080
mov eax, dword [0x64bedc]
add eax, 0x64bee0
mov dword [ebp - 0x50], eax
sub esp, 8
mov dword [ebp - 4], 0x17
lea ecx, [ebp - 0x5c]
call fcn.10068a70
cmp byte [eax + 1], 0
je 0x10010d4f
mov byte [eax + 1], 0
mov dword [ebp - 4], 0x18
cmp byte [ebp - 0x5c], 0
je 0x10010d65
push ecx
lea ecx, [ebp - 0x5c]
call fcn.10068b40
lea eax, [ebp - 0x40]
push eax
call fcn.1000ab50
add esp, 4
lea eax, [ebp - 0x74]
push eax
push 0x40
push 7
push 0x64bd22
call esi
mov eax, 0x64bd22
mov ecx, 0x90909090
mov dword [eax], ecx
mov word [eax + 4], cx
mov byte [eax + 6], cl
lea eax, [ebp - 0x74]
push eax
push dword [ebp - 0x74]
push 7
push 0x64bd22
call esi
push 7
push 0x64bd22
call edi
push eax
call dword [sym.imp.KERNEL32.dll_FlushInstructionCache]
lea ecx, [ebp - 0x5c]
call fcn.10004700
cmp byte [ebp - 0x5c], 0
jne 0x10010de4
mov byte [ebp - 0x5c], 1
mov byte [ebp - 0x47], 1
mov dword [ebp - 0x58], 0x64bd22
mov dword [ebp - 0x54], 0x10010260
mov eax, dword [0x64bd23]
add eax, 0x64bd27
mov dword [ebp - 0x50], eax
sub esp, 8
mov dword [ebp - 4], 0x19
lea ecx, [ebp - 0x5c]
call fcn.10068a70
cmp byte [eax + 1], 0
je 0x10010e00
mov byte [eax + 1], 0
mov dword [ebp - 4], 0x1a
cmp byte [ebp - 0x5c], 0
je 0x10010e16
push ecx
lea ecx, [ebp - 0x5c]
call fcn.10068b40
lea eax, [ebp - 0x40]
push eax
call fcn.1000ab50
add esp, 4
lea eax, [ebp - 0x74]
push eax
push 0x40
push 6
push 0x5faa05
call esi
mov eax, 0x5faa05
mov ecx, 0x90909090
mov dword [eax], ecx
mov word [eax + 4], cx
lea eax, [ebp - 0x74]
push eax
push dword [ebp - 0x74]
push 6
push 0x5faa05
call esi
push 6
push 0x5faa05
call edi
push eax
call dword [sym.imp.KERNEL32.dll_FlushInstructionCache]
lea ecx, [ebp - 0x5c]
call fcn.10004700
cmp byte [ebp - 0x5c], 0
jne 0x10010e92
mov byte [ebp - 0x5c], 1
mov byte [ebp - 0x47], 1
mov dword [ebp - 0x58], 0x5faa05
mov dword [ebp - 0x54], 0x10010540
mov eax, dword [0x5faa06]
add eax, 0x5faa0a
mov dword [ebp - 0x50], eax
sub esp, 8
mov dword [ebp - 4], 0x1b
lea ecx, [ebp - 0x5c]
call fcn.10068a70
cmp byte [eax + 1], 0
je 0x10010eae
mov byte [eax + 1], 0
mov dword [ebp - 4], 0x1c
cmp byte [ebp - 0x5c], 0
je 0x10010ec4
push ecx
lea ecx, [ebp - 0x5c]
call fcn.10068b40
lea eax, [ebp - 0x40]
push eax
call fcn.1000ab50
push 0
push 0
push 0
push 0
push 0
push 0
push str.Enable_gun_fov_tweaks
push 1
push 0
push str.cg_fov_tweaks
mov dword [ebp - 4], 0xffffffff
call dword [0x10167e44]
add esp, 0x2c
mov dword [0x1020d190], eax
push str.Adjust_gun_fov_separately__wont_effect_world_fov_
push 1
sub esp, 0xc
mov dword [esp + 8], 0x43200000
mov dword [esp + 4], 0x41a00000
mov dword [esp], 0x42820000
push str.cg_fov_gun
call dword [0x10167e48]
add esp, 0x18
mov dword [0x1020d18c], eax
lea eax, [ebp - 0x74]
push eax
push 0x40
push 1
push 0x500176
call esi
lea eax, [ebp - 0x74]
mov byte [0x500176], 8
push eax
push dword [ebp - 0x74]
push 1
push 0x500176
call esi
push 1
push 0x500176
call edi
push eax
call dword [sym.imp.KERNEL32.dll_FlushInstructionCache]
lea eax, [ebp - 0x74]
push eax
push 0x40
push 1
push 0x500179
call esi
lea eax, [ebp - 0x74]
mov byte [0x500179], 8
push eax
push dword [ebp - 0x74]
push 1
push 0x500179
call esi
push 1
push 0x500179
call edi
push eax
call dword [sym.imp.KERNEL32.dll_FlushInstructionCache]
mov esi, dword [ebp - 0x78]
sub esp, 0x28
mov ecx, esp
mov edx, 0x1013c284
push 0x1013c284
mov dword [ecx], vtable.std::_Func_impl_no_alloc_class__public:_void___thiscall_components::_renderer::constructor_void_::_2::_lambda_1___void__class_components::command::params_.0
mov dword [ecx + 4], esi
mov dword [ecx + 0x24], ecx
mov ecx, str.dumpreflections
call fcn.10016230
add esp, 0x2c
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.100d8e9a
mov esp, ebp
pop ebp
ret