Function at 0x5f72e0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x190
mov eax, dword [0x6d63d0]
push ebx
push ebp
push esi
mov esi, ecx
or ebp, 0xffffffff
mov dword [esp + 0x198], eax
mov dword [esi + 0x658], ebp
mov al, byte [esi + 0x18]
test al, al
push edi
mov ebx, 0x20000000
mov edi, 0x40020003
je 0x5f7408
lea eax, [esp + 0x24]
push eax
push str.DataShadersSkinning.pvu
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], 0x40020000
mov dword [esp + 0x34], edi
mov dword [esp + 0x38], 0x40010007
mov dword [esp + 0x3c], 0x20000001
mov dword [esp + 0x40], 0x40070002
mov dword [esp + 0x44], 0x40030001
mov dword [esp + 0x48], ebp
call fcn.005f7100
test eax, eax
je 0x5f7c9d
push str.CharacterShader
push eax
push 2
lea ecx, [esi + 0x164]
call fcn.0061da00
lea ecx, [esp + 0x24]
push ecx
push str.DataShadersSkinShadow.pvu
mov ecx, esi
call fcn.005f7100
test eax, eax
je 0x5f7c9d
push str.SkinShadow
push eax
push 2
lea ecx, [esi + 0x4dc]
call fcn.0061da00
xor eax, eax
lea ebx, [esi + 0x17c]
jmp 0x5f73b0
lea edi, [eax + 1]
push edi
lea edx, [esp + 0x120]
push str.data_shadersCharLight_d.pvu
push edx
call fcn.00671a9a
add esp, 0xc
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0x120]
push ecx
mov ecx, esi
call fcn.005f7100
test eax, eax
je 0x5f7c9d
push 0x68e414
push eax
push 2
mov ecx, ebx
call fcn.0061da00
mov eax, edi
add ebx, 0x18
cmp eax, 4
jl 0x5f73b0
mov ebx, 0x20000000
mov edi, 0x40020003
lea edx, [esp + 0xb0]
push edx
push str.DataShadersLitTex.pvu
mov ecx, esi
mov dword [esp + 0xb8], ebx
mov dword [esp + 0xbc], 0x40020000
mov dword [esp + 0xc0], edi
mov dword [esp + 0xc4], 0x40010007
mov dword [esp + 0xc8], ebp
call fcn.005f7100
test eax, eax
je 0x5f7c9d
push str.LitTexShader_6_
push eax
push 2
lea ecx, [esi + 0x374]
call fcn.0061da00
lea eax, [esp + 0x48]
push eax
push str.DataShadersColTex.pvu
mov ecx, esi
mov dword [esp + 0x50], ebx
mov dword [esp + 0x54], 0x40020000
mov dword [esp + 0x58], edi
mov dword [esp + 0x5c], 0x40010007
mov dword [esp + 0x60], 0x20000001
mov dword [esp + 0x64], 0x40040005
mov dword [esp + 0x68], ebp
call fcn.005f7100
test eax, eax
je 0x5f7c9d
push str.ColTexShader_0_
push eax
push 2
lea ecx, [esi + 0x23c]
call fcn.0061da00
lea ecx, [esp + 0x48]
push ecx
push str.DataShadersColTexDL.pvu
mov ecx, esi
call fcn.005f7100
test eax, eax
je 0x5f7c9d
push str.ColTexShader_1_
push eax
push 2
lea ecx, [esi + 0x254]
call fcn.0061da00
mov edi, 2
lea ebx, [esi + 0x26c]
push edi
lea edx, [esp + 0x120]
push str.data_shadersColTexDL_d.pvu
push edx
call fcn.00671a9a
add esp, 0xc
lea eax, [esp + 0x48]
push eax
lea ecx, [esp + 0x120]
push ecx
mov ecx, esi
call fcn.005f7100
test eax, eax
je 0x5f7c9d
push 0x68e414
push eax
push 2
mov ecx, ebx
call fcn.0061da00
inc edi
add ebx, 0x18
cmp edi, 5
jl 0x5f74f1
lea edx, [esp + 0x48]
push edx
push str.DataShadersReflectPrelit.pvu
mov ecx, esi
call fcn.005f7100
test eax, eax
je 0x5f7c9d
push str.RefPrelit_0_
push eax
push 2
lea ecx, [esi + 0x3ec]
call fcn.0061da00
lea eax, [esp + 0x48]
push eax
push str.DataShadersReflectPrelitDL.pvu
mov ecx, esi
call fcn.005f7100
test eax, eax
je 0x5f7c9d
push str.RefPrelit_1_
push eax
push 2
lea ecx, [esi + 0x404]
call fcn.0061da00
lea ecx, [esp + 0x48]
push ecx
push str.DataShadersColTex.pvu
mov ecx, esi
call fcn.005f7100
test eax, eax
je 0x5f7c9d
push str.ColTexShader_5_
push eax
push 2
lea ecx, [esi + 0x2b4]
call fcn.0061da00
lea edx, [esp + 0x10]
push edx
push str.DataShadersLitTex.pvu
mov ecx, esi
mov dword [esp + 0x18], 0x20000000
mov dword [esp + 0x1c], 0x40020000
mov dword [esp + 0x20], 0x40020003
mov dword [esp + 0x24], 0x40010007
mov dword [esp + 0x28], ebp
call fcn.005f7100
test eax, eax
je 0x5f7c9d
push str.LitTexShader_0_
push eax
push 2
lea ecx, [esi + 0x2e4]
call fcn.0061da00
lea eax, [esp + 0x10]
push eax
push str.DataShadersLitTexDL.pvu
mov ecx, esi
call fcn.005f7100
test eax, eax
je 0x5f7c9d
push str.LitTexShader_1_
push eax
push 2
lea ecx, [esi + 0x2fc]
call fcn.0061da00
mov edi, 2
lea ebx, [esi + 0x314]
jmp 0x5f7650
push edi
lea ecx, [esp + 0x120]
push str.data_shadersLitTexDL_d.pvu
push ecx
call fcn.00671a9a
add esp, 0xc
lea edx, [esp + 0x10]
push edx
lea eax, [esp + 0x120]
push eax
mov ecx, esi
call fcn.005f7100
test eax, eax
je 0x5f7c9d
push 0x68e414
push eax
push 2
mov ecx, ebx
call fcn.0061da00
inc edi
add ebx, 0x18
cmp edi, 5
jl 0x5f7650
lea ecx, [esp + 0x10]
push ecx
push str.DataShadersLitTex.pvu
mov ecx, esi
call fcn.005f7100
test eax, eax
je 0x5f7c9d
push str.AltLitTexShader_0_
push eax
push 2
lea ecx, [esi + 0x53c]
call fcn.0061da00
lea edx, [esp + 0x10]
push edx
push str.DataShadersLitTexDL.pvu
mov ecx, esi
call fcn.005f7100
test eax, eax
je 0x5f7c9d
push str.AltLitTexShader_1_
push eax
push 2
lea ecx, [esi + 0x554]
call fcn.0061da00
mov edi, 2
lea ebx, [esi + 0x56c]
lea ecx, [ecx]
push edi
lea eax, [esp + 0x120]
push str.data_shadersLitTexDL_d.pvu
push eax
call fcn.00671a9a
add esp, 0xc
lea ecx, [esp + 0x10]
push ecx
lea edx, [esp + 0x120]
push edx
mov ecx, esi
call fcn.005f7100
test eax, eax
je 0x5f7c9d
push 0x68e414
push eax
push 2
mov ecx, ebx
call fcn.0061da00
inc edi
add ebx, 0x18
cmp edi, 5
jl 0x5f7700
lea eax, [esp + 0x10]
push eax
push str.DataShadersRefLitTex.pvu
mov ecx, esi
call fcn.005f7100
test eax, eax
je 0x5f7c9d
push str.RefLitTexShader_0_
push eax
push 2
lea ecx, [esi + 0x38c]
call fcn.0061da00
lea ecx, [esp + 0x10]
push ecx
push str.DataShadersRefLitTexDL.pvu
mov ecx, esi
call fcn.005f7100
test eax, eax
je 0x5f7c9d
push str.RefLitTexShader_1_
push eax
push 2
lea ecx, [esi + 0x3a4]
call fcn.0061da00
lea edx, [esp + 0x10]
push edx
push str.DataShadersSpecularLitTex.pvu
mov ecx, esi
call fcn.005f7100
test eax, eax
je 0x5f7c9d
push str.SpecLitTexShader_0_
push eax
push 2
lea ecx, [esi + 0x3bc]
call fcn.0061da00
lea eax, [esp + 0x10]
push eax
push str.DataShadersSpecularLitTexDL.pvu
mov ecx, esi
call fcn.005f7100
test eax, eax
je 0x5f7c9d
push str.SpecLitTexShader_1_
push eax
push 2
lea ecx, [esi + 0x3d4]
call fcn.0061da00
lea ecx, [esp + 0x10]
push ecx
push str.DataShadersRefractLitTex.pvu
mov ecx, esi
call fcn.005f7100
test eax, eax
je 0x5f7c9d
push str.RefractLitTexShader_0_
push eax
push 2
lea ecx, [esi + 0x464]
call fcn.0061da00
lea edx, [esp + 0x10]
push edx
push str.DataShadersRefractLitTexDL.pvu
mov ecx, esi
call fcn.005f7100
test eax, eax
je 0x5f7c9d
push str.RefractLitTexShader_1_
push eax
push 2
lea ecx, [esi + 0x47c]
call fcn.0061da00
lea eax, [esp + 0x10]
push eax
push str.DataShadersBillboard.pvu
mov ecx, esi
call fcn.005f7100
test eax, eax
je 0x5f7c9d
push str.BillboardShader_0_
push eax
push 2
lea ecx, [esi + 0x50c]
call fcn.0061da00
lea ecx, [esp + 0x10]
push ecx
push str.DataShadersBillboardDL.pvu
mov ecx, esi
call fcn.005f7100
test eax, eax
je 0x5f7c9d
push str.BillboardShader_1_
push eax
push 2
lea ecx, [esi + 0x524]
call fcn.0061da00
lea edx, [esp + 0x10]
push edx
push str.DataShadersLitTex.pvu
mov ecx, esi
call fcn.005f7100
test eax, eax
je 0x5f7c9d
push str.LitTexShader_5_
push eax
push 2
lea ecx, [esi + 0x35c]
call fcn.0061da00
lea eax, [esp + 0x10]
push eax
push str.DataShadersLitTex.pvu
mov ecx, esi
call fcn.005f7100
test eax, eax
je 0x5f7c9d
push str.AltLitTexShader_5_
push eax
push 2
lea ecx, [esi + 0x5b4]
call fcn.0061da00
mov al, byte [esi + 0x18]
test al, al
je 0x5f7930
push str.DataShadersSkin.ppu
mov ecx, esi
call fcn.005f7200
test eax, eax
je 0x5f7c9d
push str.SkinPShader
push eax
push 3
lea ecx, [esi + 0x5cc]
call fcn.0061da00
lea ecx, [esp + 0x64]
push ecx
mov ebx, 0x20000000
mov edi, 0x40020000
push str.DataShadersRefMask.pvu
mov ecx, esi
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x70], edi
mov dword [esp + 0x74], 0x40020003
mov dword [esp + 0x78], 0x40010007
mov dword [esp + 0x7c], 0x20000001
mov dword [esp + 0x80], 0x40040005
mov dword [esp + 0x84], 0x20000002
mov dword [esp + 0x88], 0x40010008
mov dword [esp + 0x8c], ebp
call fcn.005f7100
test eax, eax
je 0x5f7c9d
push str.TwoPassMask_0_
push eax
push 2
lea ecx, [esi + 0x41c]
call fcn.0061da00
lea edx, [esp + 0x64]
push edx
push str.DataShadersRefMaskDL.pvu
mov ecx, esi
call fcn.005f7100
test eax, eax
je 0x5f7c9d
push str.TwoPassMask_1_
push eax
push 2
lea ecx, [esi + 0x434]
call fcn.0061da00
lea eax, [esp + 0x9c]
push eax
push str.DataShadersParticle.pvu
mov ecx, esi
mov dword [esp + 0xa4], ebx
mov dword [esp + 0xa8], edi
mov dword [esp + 0xac], 0x40040005
mov dword [esp + 0xb0], 0x40010007
mov dword [esp + 0xb4], ebp
call fcn.005f7100
test eax, eax
je 0x5f7c9d
push str.ParticleShader
push eax
push 2
lea ecx, [esi + 0x44c]
call fcn.0061da00
lea ecx, [esp + 0x88]
push ecx
push str.DataShadersStenShad.pvu
mov ecx, esi
mov dword [esp + 0x90], ebx
mov dword [esp + 0x94], edi
mov dword [esp + 0x98], 0x40020003
mov dword [esp + 0x9c], 0x40010007
mov dword [esp + 0xa0], ebp
call fcn.005f7100
test eax, eax
je 0x5f7c9d
push str.StenShadShader
push eax
push 2
lea ecx, [esi + 0x4f4]
call fcn.0061da00
mov al, byte [esi + 0x18]
test al, al
je 0x5f7cc9
lea edx, [esp + 0x24]
mov dword [esp + 0x24], ebx
mov dword [esp + 0x28], edi
push edx
mov ebp, 0x40020004
mov ebx, 0x4002000a
mov edi, 0x4002000b
push str.DataShadersBumpLitTex.pvu
mov ecx, esi
mov dword [esp + 0x34], 0x40020003
mov dword [esp + 0x38], 0x40010007
mov dword [esp + 0x3c], 0x20000001
mov dword [esp + 0x40], ebp
mov dword [esp + 0x44], ebx
mov dword [esp + 0x48], edi
mov dword [esp + 0x4c], 0xffffffff
call fcn.005f7100
test eax, eax
je 0x5f7c9d
push str.BumpLitTexShader
push eax
push 2
lea ecx, [esi + 0x494]
call fcn.0061da00
lea eax, [esp + 0xc4]
push eax
push str.DataShadersBumpPreLitTex.pvu
mov ecx, esi
mov dword [esp + 0xcc], 0x20000000
mov dword [esp + 0xd0], 0x40020000
mov dword [esp + 0xd4], 0x40020003
mov dword [esp + 0xd8], 0x40010007
mov dword [esp + 0xdc], 0x40040005
mov dword [esp + 0xe0], 0x20000001
mov dword [esp + 0xe4], ebp
mov dword [esp + 0xe8], ebx
mov dword [esp + 0xec], edi
mov dword [esp + 0xf0], 0xffffffff
call fcn.005f7100
test eax, eax
je 0x5f7c9d
push str.BumpPreLitTexShader
push eax
push 2
lea ecx, [esi + 0x4ac]
call fcn.0061da00
lea ecx, [esp + 0xec]
push ecx
push str.DataShadersSkinBumpSpec.pvu
mov ecx, esi
mov dword [esp + 0xf4], 0x20000000
mov dword [esp + 0xf8], 0x40020000
mov dword [esp + 0xfc], 0x40020003
mov dword [esp + 0x100], 0x40010007
mov dword [esp + 0x104], 0x20000001
mov dword [esp + 0x108], 0x40070002
mov dword [esp + 0x10c], 0x40030001
mov dword [esp + 0x110], 0x20000002
mov dword [esp + 0x114], ebp
mov dword [esp + 0x118], ebx
mov dword [esp + 0x11c], edi
mov dword [esp + 0x120], 0xffffffff
call fcn.005f7100
test eax, eax
je 0x5f7c9d
push str.SkinBumpSpecShader
push eax
push 2
lea ecx, [esi + 0x4c4]
call fcn.0061da00
mov al, byte [esi + 0x18]
test al, al
je 0x5f7cc9
push str.DataShadersBumpSpec.ppu
mov ecx, esi
call fcn.005f7200
test eax, eax
je 0x5f7c9d
push str.BumpSpecPShader
push eax
push 3
lea ecx, [esi + 0x5e4]
call fcn.0061da00
push str.DataShadersSpecOnly.ppu
mov ecx, esi
call fcn.005f7200
test eax, eax
je 0x5f7c9d
push str.SpecPshader
push eax
push 3
lea ecx, [esi + 0x614]
call fcn.0061da00
push str.DataShadersDepthFog.ppu
mov ecx, esi
call fcn.005f7200
test eax, eax
jne 0x5f7cb6
pop edi
pop esi
pop ebp
xor al, al
pop ebx
mov ecx, dword [esp + 0x18c]
call fcn.00671b23
add esp, 0x190
ret
push str.DepthFogPshader
push eax
push 3
lea ecx, [esi + 0x62c]
call fcn.0061da00
mov ecx, dword [esp + 0x19c]
pop edi
pop esi
pop ebp
mov al, 1
pop ebx
call fcn.00671b23
add esp, 0x190
ret