Function at 0x1005c0a0
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x294
push esi
mov esi, ecx
mov ecx, dword [esi + 0xc0]
push edi
lea edi, [esi + 0xc0]
test ecx, ecx
je 0x1005c0c5
mov eax, dword [ecx]
push ecx
call dword [eax + 0xc]
jmp 0x1005c12e
mov eax, dword [esi + 0x110]
test eax, eax
je 0x1005c61c
cmp dword [esi + 0x114], 0
je 0x1005c61c
lea ecx, [ebp - 0x8c]
push ecx
call eax
test eax, eax
jns 0x1005c100
push str.Failed_setting_state_block_mask_to_all_n
call fcn.10084630
add esp, 4
pop edi
pop esi
mov esp, ebp
pop ebp
ret
push edi
lea eax, [ebp - 0x8c]
push eax
push dword [esi + 0xb8]
mov eax, dword [esi + 0x114]
call eax
test eax, eax
js 0x1005c128
mov ecx, dword [edi]
test ecx, ecx
je 0x1005c128
mov eax, dword [ecx]
push ecx
call dword [eax + 0xc]
jmp 0x1005c12e
mov dword [edi], 0
mov eax, dword [esi + 0xb8]
push ebx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x114]
cmp dword [esi + 0xec], 0
lea ebx, [esi + 0xec]
jne 0x1005c195
mov eax, dword [esi + 0xbc]
lea edx, [ebp - 8]
push edx
push 0x100d5b28
push 0
mov ecx, dword [eax]
push eax
call dword [ecx + 0x24]
test eax, eax
js 0x1005c190
mov eax, dword [esi + 0xb8]
push ebx
push 0
push dword [ebp - 8]
mov ecx, dword [eax]
push eax
call dword [ecx + pe_nt_image_headers32]
test eax, eax
jns 0x1005c187
mov dword [ebx], 0
mov eax, dword [ebp - 8]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
cmp dword [ebx], 0
je 0x1005c1a6
mov eax, dword [esi + 0xb8]
push 0
push ebx
push 1
mov ecx, dword [eax]
push eax
call dword [ecx + 0x60]
cmp dword [esi + 0xe0], 0
lea edi, [esi + 0xe0]
jne 0x1005c359
cmp dword [esi + 0x118], 0
jne 0x1005c1d6
push str.Missing_function_pointer_for_D3D10CreateEffectFromMemory_n
call fcn.10084630
add esp, 4
pop ebx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
push 0x104
lea eax, [ebp - 0x294]
push 0x1011f9b8
push eax
call fcn.100b5882
add esp, 0xc
lea ecx, [ebp - 0x294]
xor eax, eax
lea edx, [ecx + 2]
mov word [ebp - 0x8e], ax
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x1005c201
sub ecx, edx
sar ecx, 1
lea eax, [ecx - 1]
test eax, eax
js 0x1005c23c
jmp 0x1005c220
cmp word [ebp + eax*2 - 0x294], 0x5c
je 0x1005c232
sub eax, 1
jns 0x1005c220
jmp 0x1005c23c
xor edx, edx
mov word [ebp + eax*2 - 0x294], dx
mov eax, 0x103
sub eax, ecx
push eax
lea eax, [ebp - 0x294]
push str._bin_shadersD3D10Overlay.fxo
push eax
call fcn.100b583d
lea eax, [ebp - 0x294]
push 0x100d89d8
push eax
call fcn.100b57d5
mov edi, eax
add esp, 0x14
test edi, edi
jne 0x1005c283
push str.Failed_opening_D3D10Overlay.fxo_for_reading_n
call fcn.10084630
add esp, 4
pop ebx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
push 2
push 0
push edi
mov byte [ebp - 1], 0
call fcn.100b5e21
push edi
call fcn.100b6434
push edi
mov dword [ebp - 8], eax
call fcn.100b643f
mov eax, dword [ebp - 8]
add esp, 0x14
test eax, eax
je 0x1005c340
push eax
call fcn.100a5a6b
add esp, 4
mov dword [ebp - 0xc], eax
test eax, eax
jne 0x1005c2d8
push str.Memory_allocation_failure_n
call fcn.10084630
push edi
call fcn.100b5516
add esp, 8
pop ebx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
push edi
push dword [ebp - 8]
push 1
push eax
call fcn.100b5aab
mov ecx, dword [ebp - 8]
add esp, 0x10
cmp eax, ecx
je 0x1005c2f5
mov eax, str.Failed_reading_from_fxo_file_n
jmp 0x1005c32f
lea eax, [esi + 0xe0]
push eax
mov eax, dword [esi + 0x118]
push 0
push dword [esi + 0xb8]
push 0
push ecx
push dword [ebp - 0xc]
call eax
test eax, eax
js 0x1005c32a
cmp dword [esi + 0xe0], 0
je 0x1005c32a
mov byte [ebp - 1], 1
mov eax, str.Created_ID3D10Effect_from_memory_ok__n
jmp 0x1005c32f
mov eax, str.Creating_effect_from_memory_failed__n
push eax
call fcn.10084630
push dword [ebp - 0xc]
call fcn.100a5a74
add esp, 8
push edi
call fcn.100b5516
add esp, 4
cmp byte [ebp - 1], 0
je 0x1005c1cf
lea edi, [esi + 0xe0]
mov eax, dword [edi]
push str.Render
push eax
mov ecx, dword [eax]
call dword [ecx + 0x34]
mov dword [esi + 0xe4], eax
test eax, eax
jne 0x1005c384
push str.Couldnt_get_Render_technique_from_effect_n
call fcn.10084630
add esp, 4
pop ebx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
cmp dword [esi + 0x100], 0
jne 0x1005c3a6
mov eax, dword [edi]
push str.g_viewportHeight
push eax
mov ecx, dword [eax]
call dword [ecx + 0x28]
push eax
mov ecx, dword [eax]
call dword [ecx + 0x28]
mov dword [esi + 0x100], eax
cmp dword [esi + 0x104], 0
jne 0x1005c3c8
mov eax, dword [edi]
push str.g_viewportWidth
push eax
mov ecx, dword [eax]
call dword [ecx + 0x28]
push eax
mov ecx, dword [eax]
call dword [ecx + 0x28]
mov dword [esi + 0x104], eax
cmp dword [esi + 0xfc], 0
jne 0x1005c3ea
mov eax, dword [edi]
push str.g_txDiffuse
push eax
mov ecx, dword [eax]
call dword [ecx + 0x28]
push eax
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov dword [esi + 0xfc], eax
cmp dword [ebx], 0
je 0x1005c49c
cmp dword [esi + 0x108], 0
jne 0x1005c49c
mov eax, dword [edi]
push str.g_bGameUsingsRGB
push eax
mov ecx, dword [eax]
call dword [ecx + 0x28]
push eax
mov ecx, dword [eax]
call dword [ecx + 0x28]
mov dword [esi + 0x108], eax
test eax, eax
je 0x1005c48f
mov eax, dword [ebx]
lea edx, [ebp - 0x28]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x20]
mov eax, dword [ebp - 0x28]
cmp eax, 0x1d
je 0x1005c46f
cmp eax, 0x48
je 0x1005c46f
cmp eax, 0x4b
je 0x1005c46f
cmp eax, 0x4e
je 0x1005c46f
cmp eax, 0x5b
je 0x1005c46f
cmp eax, 0x5d
je 0x1005c46f
cmp eax, 0x63
je 0x1005c46f
push str.Game_is_not_using_sRGB_back_buffer_n
call fcn.10084630
mov eax, dword [esi + 0x108]
add esp, 4
mov ecx, dword [eax]
push 0
push eax
call dword [ecx + 0x84]
jmp 0x1005c49c
push str.Game_is_using_sRGB_back_buffer_n
call fcn.10084630
mov eax, dword [esi + 0x108]
add esp, 4
mov ecx, dword [eax]
push 1
push eax
call dword [ecx + 0x84]
jmp 0x1005c49c
push str.g_bGameUsingsRGB_not_found_in_effect_n
call fcn.10084630
add esp, 4
cmp dword [esi + 0x104], 0
je 0x1005c4ae
cmp dword [esi + 0x100], 0
jne 0x1005c4bb
push str.Could_not_find_view_port_height_width_variables_in_effect_n
call fcn.10084630
add esp, 4
cmp dword [esi + 0xf0], 0
lea edi, [esi + 0xf0]
jne 0x1005c579
mov eax, dword [esi + 0xe4]
push 0
push eax
mov ecx, dword [eax]
call dword [ecx + 0x10]
lea edx, [ebp - 0x68]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 4]
mov ecx, dword [esi + 0xb8]
lea ebx, [esi + 0xe8]
push ebx
push dword [ebp - 0x5c]
push dword [ebp - 0x60]
mov eax, dword [ecx]
push 3
push 0x101095b8
push ecx
call dword [eax + 0x138]
test eax, eax
jns 0x1005c51a
push str.Failed_creating_input_layout_n
call fcn.10084630
add esp, 4
mov eax, dword [esi + 0xb8]
push dword [ebx]
push eax
mov ecx, dword [eax]
call dword [ecx + 0x2c]
mov eax, dword [esi + 0xb8]
lea edx, [ebp - 0x28]
push edi
push 0
mov dword [ebp - 0x24], 2
mov dword [ebp - 0x28], 0x7080
mov dword [ebp - 0x20], 1
mov dword [ebp - 0x1c], 0x10000
mov dword [ebp - 0x18], 0
mov ecx, dword [eax]
push edx
push eax
call dword [ecx + 0x11c]
test eax, eax
jns 0x1005c579
push str.Failed_creating_vertex_buffer_n
call fcn.10084630
add esp, 4
pop ebx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov eax, dword [esi]
lea ecx, [ebp - 0x14]
push ecx
lea ecx, [ebp - 0x10]
mov dword [esi + 0xf4], 0
push ecx
mov ecx, esi
mov dword [esi + 0xcc], 0
mov dword [esi + 0xd4], 0
call dword [eax + 0x2c]
mov eax, dword [ebp - 0x10]
lea edx, [ebp - 0x40]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x34], eax
mov eax, dword [esi + 0xb8]
push edx
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0x3f800000
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x3c], 0
mov ecx, dword [eax]
push 1
push eax
call dword [ecx + 0x78]
mov ecx, dword [esi + 0x104]
test ecx, ecx
je 0x1005c60b
cmp dword [esi + 0x100], 0
je 0x1005c60b
push dword [ebp - 0x10]
mov eax, dword [ecx]
push ecx
call dword [eax + 0x74]
mov eax, dword [esi + 0x100]
push dword [ebp - 0x14]
push eax
mov ecx, dword [eax]
call dword [ecx + 0x74]
pop ebx
pop edi
mov dword [esi + 0xd0], 0
pop esi
mov esp, ebp
pop ebp
ret
push str.We_dont_have_the_function_pointer_for_D3D10StateBlockMaskEnableAll_or_D3D10CreateStateBlock__n
call fcn.10084630
add esp, 4
pop edi
pop esi
mov esp, ebp
pop ebp
ret