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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10104cb1
mov eax, dword fs:[0]
push eax
sub esp, 0x6c
mov eax, dword [0x10167080]
xor eax, ebp
mov dword [ebp - 0x10], eax
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
push 0
push 0
push 0
push 0
push 0
push 0
push str.dump_loaded_shaders_at_runtime
push 0
push 0
push str.r_dumpShaders
mov dword [edi], vtable.components::postfx_shaders.0
call dword [0x10167e44]
mov ecx, dword [0x1016f87c]
add esp, 0x28
mov dword [0x1020d194], eax
mov eax, dword fs:[0x2c]
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x1021f0bc]
cmp eax, dword [ecx + 4]
jle 0x10054f7d
push 0x1021f0bc
call fcn.100d92a4
add esp, 4
cmp dword [0x1021f0bc], 0xffffffff
jne 0x10054f7d
lea ecx, [ebp - 0x74]
mov dword [ebp - 4], 0
push ecx
lea eax, [ebp - 0x5c]
mov dword [ebp - 0x74], str.NONE
push eax
push ecx
mov ecx, 0x1021f0c0
mov dword [ebp - 0x70], str.Z_SHADER_SSAO
mov dword [ebp - 0x6c], str.Z_SHADER_POSTFX_CELLSHADING
mov dword [ebp - 0x68], str.Z_SHADER_POSTFX_OUTLINER
mov dword [ebp - 0x64], str.FLOATZ_DISPLAY
mov dword [ebp - 0x60], str.CUSTOM
call fcn.10011dd0
push 0x10106af0
call fcn.100d91ad
push 0x1021f0bc
mov dword [ebp - 4], 0xffffffff
call fcn.100d9253
add esp, 8
mov ecx, dword [0x1021f0c4]
mov eax, dword [0x1021f0c0]
sub ecx, eax
push eax
sar ecx, 2
push ecx
push 0
push 0
push 0
push 0
push str.fullscreen_shaderoverlays.__CUSTOM__uses_the_material_defined_with__xo_shaderoverlay_custom_
push 0
push 6
push str.xo_shaderoverlay
call dword [0x10167e9c]
push 0
push 0
push 0
push 0
push 0
push 0
push str.draw_reconstructed_normals_from_depth
push 0
push 0
push str.xo_ssao_debugnormal
mov dword [0x1020d32c], eax
call dword [0x10167e44]
add esp, 0x50
mov dword [0x1020d328], eax
push str.hlsl_constant_filtertap_0__0__::__NOISESCALE_::_scale_of_noisemap
push 0
sub esp, 0xc
mov dword [esp + 8], 0x42c80000
mov dword [esp + 4], 0
mov dword [esp], 0
push str.xo_ssao_noisescale
call dword [0x10167e48]
add esp, 0x18
mov dword [0x1020d324], eax
push str.hlsl_constant_filtertap_0__1__::__QUALITY_::_0__Low__1__High
push 0
sub esp, 0xc
mov dword [esp + 8], 0x3f800000
mov dword [esp + 4], 0
mov dword [esp], 0x3f800000
push str.xo_ssao_quality
call dword [0x10167e48]
add esp, 0x18
mov dword [0x1020d320], eax
push str.hlsl_constant_filtertap_1__0__::__RADIUS_::_sample_radius
push 0
sub esp, 0xc
mov dword [esp + 8], 0x41a00000
mov dword [esp + 4], 0
mov dword [esp], 0x3e99999a
push str.xo_ssao_radius
call dword [0x10167e48]
add esp, 0x18
mov dword [0x1020d31c], eax
push str.hlsl_constant_filtertap_2__0__::__CONTRAST_::_ao_contrast
push 0
sub esp, 0xc
mov dword [esp + 8], 0x41a00000
mov dword [esp + 4], 0
mov dword [esp], 0x3f266666
push str.xo_ssao_contrast
call dword [0x10167e48]
add esp, 0x18
mov dword [0x1020d318], eax
push str.hlsl_constant_filtertap_2__1__::__ATTENUATION_::_ao_attenuation
push 0
sub esp, 0xc
mov dword [esp + 8], 0x43480000
mov dword [esp + 4], 0xc3480000
mov dword [esp], 0x41f00000
push str.xo_ssao_attenuation
call dword [0x10167e48]
add esp, 0x18
mov dword [0x1020d314], eax
push str.hlsl_constant_filtertap_2__2__::__ANGLEBIAS_::_in_degrees
push 0
sub esp, 0xc
mov dword [esp + 8], 0x42b40000
mov dword [esp + 4], 0
mov dword [esp], 0x41800000
push str.xo_ssao_angleBias
call dword [0x10167e48]
add esp, 0x18
mov dword [0x1020d310], eax
push str.hlsl_constant_filtertap_0__0__::_edge_sample_radius___scale
push 0
sub esp, 0xc
mov dword [esp + 8], 0x42480000
mov dword [esp + 4], 0
mov dword [esp], 0x40000000
push str.xo_outliner_scale
call dword [0x10167e48]
add esp, 0x18
mov dword [0x1020d30c], eax
push str.hlsl_constant_filtertap_0__1__::_scale_when_edges_with_x_depth_difference_get_detected
push 0
sub esp, 0xc
mov dword [esp + 8], 0x43480000
mov dword [esp + 4], 0
mov dword [esp], 0x42340000
push str.xo_outliner_depthDiffScale
call dword [0x10167e48]
add esp, 0x18
mov dword [0x1020d308], eax
push str.hlsl_constant_filtertap_0__2__::_Edges_are_drawn_between_areas_where_the_sampled_depth_is_greater_than_depthThreshold
push 0
sub esp, 0xc
mov dword [esp + 8], 0x42700000
mov dword [esp + 4], 0xc1200000
mov dword [esp], 0x40c00000
push str.xo_outliner_depthThreshold
call dword [0x10167e48]
push 0
push 0
push 0
push 0
push 0
push 0
push str.hlsl_constant_filtertap_2__0__::_toggle_use_of_a_simple_toon_shader
push 0
push 0
push str.xo_outliner_toonEnable
mov dword [0x1020d304], eax
call dword [0x10167e44]
add esp, 0x40
mov dword [0x1020d300], eax
push str.hlsl_constant_filtertap_2__1__::_Max_amount_of_shades___colors_used_by_the_toon_shader
push 0
sub esp, 0xc
mov dword [esp + 8], 0x42800000
mov dword [esp + 4], 0
mov dword [esp], 0x40c00000
push str.xo_outliner_toonShades
call dword [0x10167e48]
add esp, 0x18
mov dword [0x1020d2fc], eax
lea eax, [ebp - 0x78]
push eax
push 0x40
push 2
push 0x658fb2
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
mov eax, 0x658fb2
mov ecx, 0x90909090
mov word [eax], cx
lea eax, [ebp - 0x78]
push eax
push dword [ebp - 0x78]
push 2
push 0x658fb2
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
push 2
push 0x658fb2
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_FlushInstructionCache]
lea ecx, [ebp - 0x5c]
call fcn.10004700
cmp byte [ebp - 0x5c], 0
jne 0x1005527e
mov byte [ebp - 0x5c], 1
mov byte [ebp - 0x47], 1
mov dword [ebp - 0x58], 0x64ad70
mov dword [ebp - 0x54], 0x10054bf0
mov eax, dword [0x64ad71]
add eax, 0x64ad75
mov dword [ebp - 0x50], eax
sub esp, 8
mov dword [ebp - 4], 1
lea ecx, [ebp - 0x5c]
call fcn.10068a70
cmp byte [eax + 1], 0
je 0x1005529a
mov byte [eax + 1], 0
mov dword [ebp - 4], 2
cmp byte [ebp - 0x5c], 0
je 0x100552b0
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 0x100552ed
mov byte [ebp - 0x5c], 1
mov byte [ebp - 0x47], 1
mov dword [ebp - 0x58], 0x64b2e6
mov dword [ebp - 0x54], 0x10054e60
mov eax, dword [0x64b2e7]
add eax, 0x64b2eb
mov dword [ebp - 0x50], eax
sub esp, 8
mov dword [ebp - 4], 3
lea ecx, [ebp - 0x5c]
call fcn.10068a70
cmp byte [eax + 1], 0
je 0x10055309
mov byte [eax + 1], 0
mov dword [ebp - 4], 4
cmp byte [ebp - 0x5c], 0
je 0x1005531f
push ecx
lea ecx, [ebp - 0x5c]
call fcn.10068b40
lea eax, [ebp - 0x40]
push eax
call fcn.1000ab50
add esp, 4
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.100d8e9a
mov esp, ebp
pop ebp
ret