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

Disassembly:
sub esp, 0x204
mov eax, dword [0x7664f8]
xor eax, esp
mov dword [esp + 0x200], eax
push ebx
mov ebx, dword [esp + 0x20c]
push ebp
push esi
mov esi, dword [esp + 0x218]
push edi
push 0xa
lea eax, [esp + 0x14]
push str._r_n_02d___device_caps_info__Direct3D9_____r_n
push eax
mov edi, ecx
call fcn.0055c6b1
add esp, 0xc
lea ecx, [esp + 0x10]
push ecx
push ebx
mov ecx, edi
call fcn.004f1ce0
cmp dword [esi], 1
mov ebp, eax
mov eax, 0x614e6c
je 0x4f21aa
mov eax, 0x614e68
push eax
lea edx, [esp + 0x14]
push str._DeviceType__:__s_r_n
push edx
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 8]
push ecx
lea edx, [esp + 0x14]
push str._Caps__:__08x_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
add ebp, eax
cmp dword [esi + 8], 0x20000
jne 0x4f221d
push 1
lea ecx, [esp + 0x14]
push str.__READ_SCANLINE_:__d_r_n
push ecx
call fcn.0055c6b1
add esp, 0xc
lea edx, [esp + 0x10]
push edx
push ebx
mov ecx, edi
call fcn.004f1ce0
add ebp, eax
mov eax, dword [esi + 0xc]
push eax
lea ecx, [esp + 0x14]
push str._Caps2__:__08x_r_n
push ecx
call fcn.0055c6b1
add esp, 0xc
lea edx, [esp + 0x10]
push edx
push ebx
mov ecx, edi
call fcn.004f1ce0
add ebp, eax
mov eax, dword [esi + 0xc]
shr eax, 0x14
and eax, 1
push eax
lea ecx, [esp + 0x14]
push str.__CANCALIBRATEGAMMA_:__d_r_n
push ecx
call fcn.0055c6b1
add esp, 0xc
lea edx, [esp + 0x10]
push edx
push ebx
mov ecx, edi
call fcn.004f1ce0
add ebp, eax
mov eax, dword [esi + 0xc]
shr eax, 0x11
and eax, 1
push eax
lea ecx, [esp + 0x14]
push str.__FULLSCREENGAMMA_:__d_r_n
push ecx
call fcn.0055c6b1
add esp, 0xc
lea edx, [esp + 0x10]
push edx
push ebx
mov ecx, edi
call fcn.004f1ce0
add ebp, eax
mov eax, dword [esi + 0x10]
push eax
lea ecx, [esp + 0x14]
push str._Caps3__:__08x_r_n
push ecx
call fcn.0055c6b1
add esp, 0xc
lea edx, [esp + 0x10]
push edx
push ebx
mov ecx, edi
call fcn.004f1ce0
add ebp, eax
mov eax, dword [esi + 0x14]
push eax
lea ecx, [esp + 0x14]
push str._PresentationIntervals__:__08x_r_n
push ecx
call fcn.0055c6b1
add esp, 0xc
lea edx, [esp + 0x10]
push edx
push ebx
mov ecx, edi
call fcn.004f1ce0
add ebp, eax
mov eax, dword [esi + 0x14]
cmp eax, 4
ja 0x4f2315
je 0x4f230e
sub eax, 1
je 0x4f2302
sub eax, 1
jne 0x4f2321
push str.__INTERVAL_TWO_r_n
lea eax, [esp + 0x14]
push eax
jmp 0x4f2343
push str.__INTERVAL_ONE_r_n
lea ecx, [esp + 0x14]
push ecx
jmp 0x4f2343
push str.__INTERVAL_THREE_r_n
jmp 0x4f233e
cmp eax, 8
je 0x4f2339
cmp eax, 0x80000000
je 0x4f232d
push str.__unknown_r_n
lea eax, [esp + 0x14]
push eax
jmp 0x4f2343
push str.__INTERVAL_IMMEDIATE_r_n
lea ecx, [esp + 0x14]
push ecx
jmp 0x4f2343
push str.__INTERVAL_FOUR_r_n
lea edx, [esp + 0x14]
push edx
call fcn.0055c6b1
add esp, 8
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x18]
push ecx
lea edx, [esp + 0x14]
push str._CursorCaps__:__08x_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x18]
and ecx, 1
push ecx
lea edx, [esp + 0x14]
push str.__COLOR_:__d_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x18]
shr ecx, 1
and ecx, 1
push ecx
lea edx, [esp + 0x14]
push str.__LOWRES_:__d_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x1c]
push ecx
lea edx, [esp + 0x14]
push str._DevCaps__:__08x_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x1c]
shr ecx, 0x11
and ecx, 1
push ecx
lea edx, [esp + 0x14]
push str.__CANBLTSYSTONONLOCAL_:__d_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x1c]
shr ecx, 0xb
add ebp, eax
and ecx, 1
push ecx
lea edx, [esp + 0x14]
push str.__CANRENDERAFTERFLIP_:__d_r_n
push edx
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x1c]
shr ecx, 0xa
and ecx, 1
push ecx
lea edx, [esp + 0x14]
push str.__DRAWPRIMTLVERTEX_:__d_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x1c]
shr ecx, 4
and ecx, 1
push ecx
lea edx, [esp + 0x14]
push str.__EXECUTESYSTEMMEMORY_:__d_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x1c]
shr ecx, 5
and ecx, 1
push ecx
lea edx, [esp + 0x14]
push str.__EXECUTEVIDEOMEMORY_:__d_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x1c]
shr ecx, 0x13
and ecx, 1
push ecx
lea edx, [esp + 0x14]
push str.__HWRASTERIZATION_:__d_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
movzx ecx, word [esi + 0x1e]
and ecx, 1
push ecx
lea edx, [esp + 0x14]
push str.__HWTRANSFORMANDLIGHT_:__d_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
movzx ecx, byte [esi + 0x1f]
and ecx, 1
push ecx
lea edx, [esp + 0x14]
push str.__NPATCHES_:__d_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x1c]
shr ecx, 0x14
and ecx, 1
push ecx
lea edx, [esp + 0x14]
push str.__PUREDEVICE_:__d_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x1c]
shr ecx, 0x15
and ecx, 1
push ecx
lea edx, [esp + 0x14]
push str.__QUINTICRTPATCHES_:__d_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x1c]
shr ecx, 0x16
and ecx, 1
push ecx
lea edx, [esp + 0x14]
push str.__RTPATCHES_:__d_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x1c]
shr ecx, 0x17
and ecx, 1
push ecx
lea edx, [esp + 0x14]
push str.__RTPATCHHANDLEZERO_:__d_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x1c]
add ebp, eax
shr ecx, 0xe
and ecx, 1
push ecx
lea edx, [esp + 0x14]
push str.__SEPARATETEXTUREMEMORIES_:__d_r_n
push edx
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x1c]
shr ecx, 0xc
and ecx, 1
push ecx
lea edx, [esp + 0x14]
push str.__TEXTURENONLOCALVIDMEM_:__d_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x1c]
shr ecx, 8
and ecx, 1
push ecx
lea edx, [esp + 0x14]
push str.__TEXTURESYSTEMMEMORY_:__d_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x1c]
shr ecx, 9
and ecx, 1
push ecx
lea edx, [esp + 0x14]
push str.__TEXTUREVIDEOMEMORY_:__d_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x1c]
shr ecx, 6
and ecx, 1
push ecx
lea edx, [esp + 0x14]
push str.__TLVERTEXSYSTEMMEMORY_:__d_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x1c]
shr ecx, 7
and ecx, 1
push ecx
lea edx, [esp + 0x14]
push str.__TLVERTEXVIDEOMEMORY_:__d_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x20]
push ecx
lea edx, [esp + 0x14]
push str._PrimitiveMiscCaps__:__08x_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x20]
shr ecx, 0xb
and ecx, 1
push ecx
lea edx, [esp + 0x14]
push str.__BLENDOP_:__d_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x20]
shr ecx, 8
and ecx, 1
push ecx
lea edx, [esp + 0x14]
push str.__CLIPPLANESCALEDPOINTS_:__d_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x20]
shr ecx, 9
and ecx, 1
push ecx
lea edx, [esp + 0x14]
push str.__CLIPTLVERTS_:__d_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x20]
shr ecx, 7
and ecx, 1
push ecx
lea edx, [esp + 0x14]
push str.__COLORWRITEENABLE_:__d_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x20]
add ebp, eax
shr ecx, 6
and ecx, 1
push ecx
lea edx, [esp + 0x14]
push str.__CULLCCW_:__d_r_n
push edx
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x20]
shr ecx, 5
and ecx, 1
push ecx
lea edx, [esp + 0x14]
push str.__CULLCW_:__d_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x20]
shr ecx, 4
and ecx, 1
push ecx
lea edx, [esp + 0x14]
push str.__CULLNONE_:__d_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x20]
shr ecx, 1
and ecx, 1
push ecx
lea edx, [esp + 0x14]
push str.__MASKZ_:__d_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x20]
shr ecx, 0xa
and ecx, 1
push ecx
lea edx, [esp + 0x14]
push str.__TSSARGTEMP_:__d_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x24]
push ecx
lea edx, [esp + 0x14]
push str._RasterCaps__:__08x_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x24]
shr ecx, 0x11
and ecx, 1
push ecx
lea edx, [esp + 0x14]
push str.__ANISOTROPY_:__d_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x24]
shr ecx, 0x16
and ecx, 1
push ecx
lea edx, [esp + 0x14]
push str.__COLORPERSPECTIVE_:__d_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x24]
and ecx, 1
push ecx
lea edx, [esp + 0x14]
push str.__DITHER_:__d_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
movzx ecx, word [esi + 0x26]
and ecx, 1
push ecx
lea edx, [esp + 0x14]
push str.__FOGRANGE_:__d_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x24]
shr ecx, 8
and ecx, 1
push ecx
lea edx, [esp + 0x14]
push str.__FOGTABLE_:__d_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x24]
add ebp, eax
shr ecx, 7
and ecx, 1
push ecx
lea edx, [esp + 0x14]
push str.__FOGVERTEX_:__d_r_n
push edx
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x24]
shr ecx, 0xd
and ecx, 1
push ecx
lea edx, [esp + 0x14]
push str.__MIPMAPLODBIAS_:__d_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x24]
shr ecx, 0x12
and ecx, 1
push ecx
lea edx, [esp + 0x14]
push str.__WBUFFER_:__d_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x24]
shr ecx, 0x14
and ecx, 1
push ecx
lea edx, [esp + 0x14]
push str.__D3DPRASTERCAPS_WFOG_:__d_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x24]
shr ecx, 0xf
and ecx, 1
push ecx
lea edx, [esp + 0x14]
push str.__ZBUFFERLESSHSR_:__d_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x24]
shr ecx, 0x15
and ecx, 1
push ecx
lea edx, [esp + 0x14]
push str.__ZFOG_:__d_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x24]
shr ecx, 4
and ecx, 1
push ecx
lea edx, [esp + 0x14]
push str.__ZTEST_:__d_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x28]
push ecx
lea edx, [esp + 0x14]
push str._ZCmpCaps__:__08x_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x28]
shr ecx, 7
and ecx, 1
push ecx
lea edx, [esp + 0x14]
push str.__ALWAYS_:__d_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x28]
shr ecx, 2
and ecx, 1
push ecx
lea edx, [esp + 0x14]
push str.__EQUAL_:__d_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x28]
shr ecx, 4
and ecx, 1
push ecx
lea edx, [esp + 0x14]
push str.__GREATER_:__d_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x28]
add ebp, eax
shr ecx, 6
and ecx, 1
push ecx
lea edx, [esp + 0x14]
push str.__GREATEREQUAL_:__d_r_n
push edx
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x28]
shr ecx, 1
and ecx, 1
push ecx
lea edx, [esp + 0x14]
push str.__LESS_:__d_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x28]
shr ecx, 3
and ecx, 1
push ecx
lea edx, [esp + 0x14]
push str.__LESSEQUAL_:__d_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x28]
and ecx, 1
push ecx
lea edx, [esp + 0x14]
push str.__NEVER_:__d_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x28]
shr ecx, 5
and ecx, 1
push ecx
lea edx, [esp + 0x14]
push str.__NOTEQUAL_:__d_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x2c]
push ecx
lea edx, [esp + 0x14]
push str._SrcBlendCaps__:__08x_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x2c]
shr ecx, 0xc
and ecx, 1
push ecx
lea edx, [esp + 0x14]
push str.__BOTHINVSRCALPHA_:__d_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x2c]
shr ecx, 0xb
and ecx, 1
push ecx
lea edx, [esp + 0x14]
push str.__BOTHSRCALPHA_:__d_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x2c]
shr ecx, 6
and ecx, 1
push ecx
lea edx, [esp + 0x14]
push str.__DESTALPHA_:__d_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x2c]
shr ecx, 8
and ecx, 1
push ecx
lea edx, [esp + 0x14]
push str.__DESTCOLOR_:__d_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x2c]
shr ecx, 7
and ecx, 1
push ecx
lea edx, [esp + 0x14]
push str.__INVDESTALPHA_:__d_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x2c]
add ebp, eax
shr ecx, 9
and ecx, 1
push ecx
lea edx, [esp + 0x14]
push str.__INVDESTCOLOR_:__d_r_n
push edx
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x2c]
shr ecx, 5
and ecx, 1
push ecx
lea edx, [esp + 0x14]
push str.__INVSRCALPHA_:__d_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x2c]
shr ecx, 3
and ecx, 1
push ecx
lea edx, [esp + 0x14]
push str.__INVSRCCOLOR_:__d_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x2c]
shr ecx, 1
and ecx, 1
push ecx
lea edx, [esp + 0x14]
push str.__ONE_:__d_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x2c]
shr ecx, 4
and ecx, 1
push ecx
lea edx, [esp + 0x14]
push str.__SRCALPHA_:__d_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x2c]
shr ecx, 0xa
add ebp, eax
and ecx, 1
push ecx
push str.__SRCALPHASAT_:__d_r_n
lea edx, [esp + 0x18]
push edx
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x2c]
shr ecx, 2
and ecx, 1
push ecx
lea edx, [esp + 0x14]
push str.__SRCCOLOR_:__d_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x2c]
and ecx, 1
push ecx
lea edx, [esp + 0x14]
push str.__ZERO_:__d_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x30]
push ecx
lea edx, [esp + 0x14]
push str._DestBlendCaps__:__08x_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x30]
shr ecx, 0xc
and ecx, 1
push ecx
lea edx, [esp + 0x14]
push str.__BOTHINVSRCALPHA_:__d_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x30]
shr ecx, 0xb
and ecx, 1
push ecx
lea edx, [esp + 0x14]
push str.__BOTHSRCALPHA_:__d_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x30]
add ebp, eax
shr ecx, 6
and ecx, 1
push ecx
lea edx, [esp + 0x14]
push str.__DESTALPHA_:__d_r_n
push edx
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x30]
shr ecx, 8
and ecx, 1
push ecx
lea edx, [esp + 0x14]
push str.__DESTCOLOR_:__d_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x30]
shr ecx, 7
and ecx, 1
push ecx
lea edx, [esp + 0x14]
push str.__INVDESTALPHA_:__d_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x30]
shr ecx, 9
and ecx, 1
push ecx
lea edx, [esp + 0x14]
push str.__INVDESTCOLOR_:__d_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x30]
shr ecx, 5
and ecx, 1
push ecx
lea edx, [esp + 0x14]
push str.__INVSRCALPHA_:__d_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x30]
shr ecx, 3
add ebp, eax
and ecx, 1
push ecx
push str.__INVSRCCOLOR_:__d_r_n
lea edx, [esp + 0x18]
push edx
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x30]
shr ecx, 1
and ecx, 1
push ecx
lea edx, [esp + 0x14]
push str.__ONE_:__d_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x30]
shr ecx, 4
and ecx, 1
push ecx
lea edx, [esp + 0x14]
push str.__SRCALPHA_:__d_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x30]
shr ecx, 0xa
and ecx, 1
push ecx
lea edx, [esp + 0x14]
push str.__SRCALPHASAT_:__d_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x30]
shr ecx, 2
and ecx, 1
push ecx
lea edx, [esp + 0x14]
push str.__SRCCOLOR_:__d_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x30]
and ecx, 1
push ecx
lea edx, [esp + 0x14]
push str.__ZERO_:__d_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x34]
push ecx
lea edx, [esp + 0x14]
push str._AlphaCmpCaps__:__08x_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x34]
shr ecx, 7
and ecx, 1
push ecx
lea edx, [esp + 0x14]
push str.__ALWAYS_:__d_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x34]
shr ecx, 2
and ecx, 1
push ecx
lea edx, [esp + 0x14]
push str.__EQUAL_:__d_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x34]
shr ecx, 4
and ecx, 1
push ecx
lea edx, [esp + 0x14]
push str.__GREATER_:__d_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x34]
shr ecx, 6
and ecx, 1
push ecx
lea edx, [esp + 0x14]
push str.__GREATEREQUAL_:__d_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x34]
shr ecx, 1
add ebp, eax
and ecx, 1
push ecx
push str.__LESS_:__d_r_n
lea edx, [esp + 0x18]
push edx
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x34]
shr ecx, 3
and ecx, 1
push ecx
lea edx, [esp + 0x14]
push str.__LESSEQUAL_:__d_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x34]
and ecx, 1
push ecx
lea edx, [esp + 0x14]
push str.__NEVER_:__d_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x34]
shr ecx, 5
and ecx, 1
push ecx
lea edx, [esp + 0x14]
push str.__NOTEQUAL_:__d_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x38]
push ecx
lea edx, [esp + 0x14]
push str._ShadeCaps__:__08x_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x38]
shr ecx, 0xe
and ecx, 1
push ecx
lea edx, [esp + 0x14]
push str.__ALPHAGOURAUDBLEND_:__d_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x38]
add ebp, eax
shr ecx, 3
and ecx, 1
push ecx
lea edx, [esp + 0x14]
push str.__COLORGOURAUDRGB_:__d_r_n
push edx
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x38]
shr ecx, 0x13
and ecx, 1
push ecx
lea edx, [esp + 0x14]
push str.__FOGGOURAUD_:__d_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x38]
shr ecx, 9
and ecx, 1
push ecx
lea edx, [esp + 0x14]
push str.__SPECULARGOURAUDRGB_:__d_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x3c]
push ecx
lea edx, [esp + 0x14]
push str._TextureCaps__:__08x_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x3c]
shr ecx, 2
and ecx, 1
push ecx
lea edx, [esp + 0x14]
push str.__ALPHA_:__d_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x3c]
shr ecx, 7
and ecx, 1
push ecx
lea edx, [esp + 0x14]
push str.__ALPHAPALETTE_:__d_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x3c]
shr ecx, 0xb
and ecx, 1
push ecx
lea edx, [esp + 0x14]
push str.__CUBEMAP_:__d_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x3c]
shr ecx, 0x11
and ecx, 1
push ecx
lea edx, [esp + 0x14]
push str.__CUBEMAP_POW2_:__d_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
movzx ecx, word [esi + 0x3e]
and ecx, 1
push ecx
lea edx, [esp + 0x14]
push str.__MIPCUBEMAP_:__d_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x3c]
shr ecx, 0xe
and ecx, 1
push ecx
lea edx, [esp + 0x14]
push str.__MIPMAP_:__d_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x3c]
shr ecx, 0xf
and ecx, 1
push ecx
lea edx, [esp + 0x14]
push str.__MIPVOLUMEMAP_:__d_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x3c]
add ebp, eax
shr ecx, 8
and ecx, 1
push ecx
lea edx, [esp + 0x14]
push str.__NONPOW2CONDITIONAL_:__d_r_n
push edx
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x3c]
and ecx, 1
push ecx
lea edx, [esp + 0x14]
push str.__PERSPECTIVE_:__d_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x3c]
shr ecx, 1
and ecx, 1
push ecx
lea edx, [esp + 0x14]
push str.__POW2_:__d_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x3c]
shr ecx, 0xa
and ecx, 1
push ecx
lea edx, [esp + 0x14]
push str.__PROJECTED_:__d_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x3c]
shr ecx, 5
and ecx, 1
push ecx
lea edx, [esp + 0x14]
push str.__SQUAREONLY_:__d_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x3c]
shr ecx, 6
and ecx, 1
push ecx
lea edx, [esp + 0x14]
push str.__TEXREPEATNOTSCALEDBYSIZE_:__d_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x3c]
shr ecx, 0xd
and ecx, 1
push ecx
lea edx, [esp + 0x14]
push str.__VOLUMEMAP_:__d_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x3c]
shr ecx, 0x12
and ecx, 1
push ecx
lea edx, [esp + 0x14]
push str.__VOLUMEMAP_POW2_:__d_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x40]
push ecx
lea edx, [esp + 0x14]
push str._TextureFilterCaps__:__08x_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x40]
shr ecx, 0x1a
and ecx, 1
push ecx
lea edx, [esp + 0x14]
push str.__MAGFANISOTROPIC_:__d_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x40]
shr ecx, 0x19
and ecx, 1
push ecx
lea edx, [esp + 0x14]
push str.__MAGFLINEAR_:__d_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
movzx ecx, byte [esi + 0x43]
add ebp, eax
and ecx, 1
push ecx
lea edx, [esp + 0x14]
push str.__MAGFPOINT_:__d_r_n
push edx
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x40]
shr ecx, 0xa
and ecx, 1
push ecx
lea edx, [esp + 0x14]
push str.__MINFANISOTROPIC_:__d_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x40]
shr ecx, 9
and ecx, 1
push ecx
lea edx, [esp + 0x14]
push str.__MINFLINEAR_:__d_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x40]
shr ecx, 8
and ecx, 1
push ecx
lea edx, [esp + 0x14]
push str.__MINFPOINT_:__d_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x40]
shr ecx, 0x11
and ecx, 1
push ecx
lea edx, [esp + 0x14]
push str.__MIPFLINEAR_:__d_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
movzx ecx, word [esi + 0x42]
and ecx, 1
push ecx
lea edx, [esp + 0x14]
push str.__MIPFPOINT_:__d_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x44]
push ecx
lea edx, [esp + 0x14]
push str._CubeTextureFilterCaps__:__08x_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x44]
shr ecx, 0x1a
and ecx, 1
push ecx
lea edx, [esp + 0x14]
push str.__MAGFANISOTROPIC_:__d_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x44]
shr ecx, 0x19
and ecx, 1
push ecx
lea edx, [esp + 0x14]
push str.__MAGFLINEAR_:__d_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
movzx ecx, byte [esi + 0x47]
and ecx, 1
push ecx
lea edx, [esp + 0x14]
push str.__MAGFPOINT_:__d_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x44]
shr ecx, 0xa
and ecx, 1
push ecx
lea edx, [esp + 0x14]
push str.__MINFANISOTROPIC_:__d_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x44]
shr ecx, 9
add ebp, eax
and ecx, 1
push ecx
lea edx, [esp + 0x14]
push str.__MINFLINEAR_:__d_r_n
push edx
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x44]
shr ecx, 8
and ecx, 1
push ecx
lea edx, [esp + 0x14]
push str.__MINFPOINT_:__d_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x44]
shr ecx, 0x11
and ecx, 1
push ecx
lea edx, [esp + 0x14]
push str.__MIPFLINEAR_:__d_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
movzx ecx, word [esi + 0x46]
and ecx, 1
push ecx
lea edx, [esp + 0x14]
push str.__MIPFPOINT_:__d_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x48]
push ecx
lea edx, [esp + 0x14]
push str._VolumeTextureFilterCaps__:__08x_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x48]
shr ecx, 0x1a
and ecx, 1
push ecx
lea edx, [esp + 0x14]
push str.__MAGFANISOTROPIC_:__d_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x48]
shr ecx, 0x19
and ecx, 1
push ecx
lea edx, [esp + 0x14]
push str.__MAGFLINEAR_:__d_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
movzx ecx, byte [esi + 0x4b]
and ecx, 1
push ecx
lea edx, [esp + 0x14]
push str.__MAGFPOINT_:__d_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x48]
shr ecx, 0xa
and ecx, 1
push ecx
lea edx, [esp + 0x14]
push str.__MINFANISOTROPIC_:__d_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x48]
shr ecx, 9
and ecx, 1
push ecx
lea edx, [esp + 0x14]
push str.__MINFLINEAR_:__d_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x48]
shr ecx, 8
and ecx, 1
push ecx
lea edx, [esp + 0x14]
push str.__MINFPOINT_:__d_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x48]
shr ecx, 0x11
add ebp, eax
and ecx, 1
push ecx
lea edx, [esp + 0x14]
push str.__MIPFLINEAR_:__d_r_n
push edx
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
movzx ecx, word [esi + 0x4a]
and ecx, 1
push ecx
lea edx, [esp + 0x14]
push str.__MIPFPOINT_:__d_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x4c]
push ecx
lea edx, [esp + 0x14]
push str._TextureAddressCaps__:__08x_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x4c]
shr ecx, 3
and ecx, 1
push ecx
lea edx, [esp + 0x14]
push str.__BORDER_:__d_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x4c]
shr ecx, 2
and ecx, 1
push ecx
lea edx, [esp + 0x14]
push str.__CLAMP_:__d_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x4c]
shr ecx, 4
and ecx, 1
push ecx
lea edx, [esp + 0x14]
push str.__INDEPENDENTUV_:__d_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x4c]
shr ecx, 1
and ecx, 1
push ecx
lea edx, [esp + 0x14]
push str.__MIRROR_:__d_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x4c]
shr ecx, 5
and ecx, 1
push ecx
lea edx, [esp + 0x14]
push str.__MIRRORONCE_:__d_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x4c]
and ecx, 1
push ecx
lea edx, [esp + 0x14]
push str.__WRAP_:__d_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x50]
push ecx
lea edx, [esp + 0x14]
push str._VolumeTextureAddressCaps__:__08x_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x50]
shr ecx, 3
and ecx, 1
push ecx
lea edx, [esp + 0x14]
push str.__BORDER_:__d_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x50]
shr ecx, 2
add ebp, eax
and ecx, 1
push ecx
push str.__CLAMP_:__d_r_n
lea edx, [esp + 0x18]
push edx
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x50]
shr ecx, 4
and ecx, 1
push ecx
lea edx, [esp + 0x14]
push str.__INDEPENDENTUV_:__d_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x50]
shr ecx, 1
and ecx, 1
push ecx
lea edx, [esp + 0x14]
push str.__MIRROR_:__d_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x50]
shr ecx, 5
and ecx, 1
push ecx
lea edx, [esp + 0x14]
push str.__MIRRORONCE_:__d_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x50]
and ecx, 1
push ecx
lea edx, [esp + 0x14]
push str.__WRAP_:__d_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x54]
push ecx
lea edx, [esp + 0x14]
push str._LineCaps__:__08x_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x54]
add ebp, eax
shr ecx, 3
and ecx, 1
push ecx
lea edx, [esp + 0x14]
push str.__ALPHACMP_:__d_r_n
push edx
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x54]
shr ecx, 2
and ecx, 1
push ecx
lea edx, [esp + 0x14]
push str.__BLEND_:__d_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x54]
shr ecx, 4
and ecx, 1
push ecx
lea edx, [esp + 0x14]
push str.__FOG_:__d_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x54]
and ecx, 1
push ecx
lea edx, [esp + 0x14]
push str.__TEXTURE_:__d_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x54]
shr ecx, 1
and ecx, 1
push ecx
lea edx, [esp + 0x14]
push str.__ZTEST_:__d_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0x5c]
mov edx, dword [esi + 0x58]
push ecx
push edx
add ebp, eax
lea eax, [esp + 0x18]
push str._MaxTexture__:__d_x__d_r_n
push eax
call fcn.0055c6b1
add esp, 0x10
lea ecx, [esp + 0x10]
push ecx
push ebx
mov ecx, edi
call fcn.004f1ce0
mov edx, dword [esi + 0x60]
push edx
add ebp, eax
lea eax, [esp + 0x14]
push str._MaxVolumeExtent__:__d_r_n
push eax
call fcn.0055c6b1
add esp, 0xc
lea ecx, [esp + 0x10]
push ecx
push ebx
mov ecx, edi
call fcn.004f1ce0
mov edx, dword [esi + 0x64]
push edx
add ebp, eax
lea eax, [esp + 0x14]
push str._MaxTextureRepeat__:__d_r_n
push eax
call fcn.0055c6b1
add esp, 0xc
lea ecx, [esp + 0x10]
push ecx
push ebx
mov ecx, edi
call fcn.004f1ce0
mov edx, dword [esi + 0x68]
push edx
add ebp, eax
lea eax, [esp + 0x14]
push str._MaxTextureAspectRatio__:__d_r_n
push eax
call fcn.0055c6b1
add esp, 0xc
lea ecx, [esp + 0x10]
push ecx
push ebx
mov ecx, edi
call fcn.004f1ce0
mov edx, dword [esi + 0x6c]
push edx
add ebp, eax
lea eax, [esp + 0x14]
push str._MaxAnisotropy__:__d_r_n
push eax
call fcn.0055c6b1
add esp, 0xc
lea ecx, [esp + 0x10]
push ecx
push ebx
mov ecx, edi
call fcn.004f1ce0
fld dword [esi + 0x70]
sub esp, 8
fstp qword [esp]
lea edx, [esp + 0x18]
push str._MaxVertexW__:__f_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0x10
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
fld dword [esi + 0x80]
add ebp, eax
sub esp, 0x20
fstp qword [esp + 0x18]
fld dword [esi + 0x7c]
fstp qword [esp + 0x10]
fld dword [esi + 0x78]
fstp qword [esp + 8]
fld dword [esi + 0x74]
fstp qword [esp]
lea ecx, [esp + 0x30]
push str._GuardBand__:__f___f___f___f_r_n
push ecx
call fcn.0055c6b1
add esp, 0x28
lea edx, [esp + 0x10]
push edx
push ebx
mov ecx, edi
call fcn.004f1ce0
fld dword [esi + 0x84]
sub esp, 8
fstp qword [esp]
add ebp, eax
lea eax, [esp + 0x18]
push str._ExtentsAdjust__:__f_r_n
push eax
call fcn.0055c6b1
add esp, 0x10
lea ecx, [esp + 0x10]
push ecx
push ebx
mov ecx, edi
call fcn.004f1ce0
mov edx, dword [esi + 0x88]
push edx
add ebp, eax
lea eax, [esp + 0x14]
push str._StencilCaps__:__08x_r_n
push eax
call fcn.0055c6b1
add esp, 0xc
lea ecx, [esp + 0x10]
push ecx
push ebx
mov ecx, edi
call fcn.004f1ce0
mov edx, dword [esi + 0x88]
shr edx, 7
and edx, 1
push edx
add ebp, eax
lea eax, [esp + 0x14]
push str.__DECR_:__d_r_n
push eax
call fcn.0055c6b1
add esp, 0xc
lea ecx, [esp + 0x10]
push ecx
push ebx
mov ecx, edi
call fcn.004f1ce0
mov edx, dword [esi + 0x88]
shr edx, 4
and edx, 1
push edx
add ebp, eax
lea eax, [esp + 0x14]
push str.__DECRSAT_:__d_r_n
push eax
call fcn.0055c6b1
add esp, 0xc
lea ecx, [esp + 0x10]
push ecx
push ebx
mov ecx, edi
call fcn.004f1ce0
mov edx, dword [esi + 0x88]
shr edx, 6
and edx, 1
push edx
add ebp, eax
lea eax, [esp + 0x14]
push str.__INCR_:__d_r_n
push eax
call fcn.0055c6b1
add esp, 0xc
lea ecx, [esp + 0x10]
push ecx
push ebx
mov ecx, edi
call fcn.004f1ce0
mov edx, dword [esi + 0x88]
shr edx, 3
and edx, 1
push edx
add ebp, eax
lea eax, [esp + 0x14]
push str.__INCRSAT_:__d_r_n
push eax
call fcn.0055c6b1
add esp, 0xc
lea ecx, [esp + 0x10]
push ecx
push ebx
mov ecx, edi
call fcn.004f1ce0
mov edx, dword [esi + 0x88]
shr edx, 5
and edx, 1
push edx
add ebp, eax
lea eax, [esp + 0x14]
push str.__INVERT_:__d_r_n
push eax
call fcn.0055c6b1
add esp, 0xc
lea ecx, [esp + 0x10]
push ecx
push ebx
mov ecx, edi
call fcn.004f1ce0
mov edx, dword [esi + 0x88]
and edx, 1
push edx
add ebp, eax
lea eax, [esp + 0x14]
push str.__KEEP_:__d_r_n
push eax
call fcn.0055c6b1
add esp, 0xc
lea ecx, [esp + 0x10]
push ecx
push ebx
mov ecx, edi
call fcn.004f1ce0
mov edx, dword [esi + 0x88]
shr edx, 2
and edx, 1
push edx
add ebp, eax
lea eax, [esp + 0x14]
push str.__REPLACE_:__d_r_n
push eax
call fcn.0055c6b1
add esp, 0xc
lea ecx, [esp + 0x10]
push ecx
push ebx
mov ecx, edi
call fcn.004f1ce0
mov edx, dword [esi + 0x88]
shr edx, 1
and edx, 1
push edx
add ebp, eax
lea eax, [esp + 0x14]
push str.__ZERO_:__d_r_n
push eax
call fcn.0055c6b1
add esp, 0xc
lea ecx, [esp + 0x10]
push ecx
push ebx
mov ecx, edi
call fcn.004f1ce0
mov edx, dword [esi + 0x8c]
push edx
add ebp, eax
push str._FVFCaps__:__08x_r_n
lea eax, [esp + 0x18]
push eax
call fcn.0055c6b1
add esp, 0xc
lea ecx, [esp + 0x10]
push ecx
push ebx
mov ecx, edi
call fcn.004f1ce0
mov edx, dword [esi + 0x8c]
shr edx, 0x13
and edx, 1
push edx
add ebp, eax
lea eax, [esp + 0x14]
push str.__DONOTSTRIPELEMENTS_:__d_r_n
push eax
call fcn.0055c6b1
add esp, 0xc
lea ecx, [esp + 0x10]
push ecx
push ebx
mov ecx, edi
call fcn.004f1ce0
mov edx, dword [esi + 0x8c]
shr edx, 0x14
and edx, 1
push edx
add ebp, eax
lea eax, [esp + 0x14]
push str.__PSIZE_:__d_r_n
push eax
call fcn.0055c6b1
add esp, 0xc
lea ecx, [esp + 0x10]
push ecx
push ebx
mov ecx, edi
call fcn.004f1ce0
movzx edx, word [esi + 0x8c]
add ebp, eax
neg edx
sbb edx, edx
neg edx
push edx
lea eax, [esp + 0x14]
push str.__TEXCOORDCOUNTMASK_:__d_r_n
push eax
call fcn.0055c6b1
add esp, 0xc
lea ecx, [esp + 0x10]
push ecx
push ebx
mov ecx, edi
call fcn.004f1ce0
mov edx, dword [esi + 0x90]
push edx
add ebp, eax
lea eax, [esp + 0x14]
push str._TextureOpCaps__:__08x_r_n
push eax
call fcn.0055c6b1
add esp, 0xc
lea ecx, [esp + 0x10]
push ecx
push ebx
mov ecx, edi
call fcn.004f1ce0
mov edx, dword [esi + 0x90]
shr edx, 6
and edx, 1
push edx
add ebp, eax
lea eax, [esp + 0x14]
push str.__ADD_:__d_r_n
push eax
call fcn.0055c6b1
add esp, 0xc
lea ecx, [esp + 0x10]
push ecx
push ebx
mov ecx, edi
call fcn.004f1ce0
mov edx, dword [esi + 0x90]
shr edx, 7
and edx, 1
push edx
add ebp, eax
lea eax, [esp + 0x14]
push str.__ADDSIGNED_:__d_r_n
push eax
call fcn.0055c6b1
add esp, 0xc
lea ecx, [esp + 0x10]
push ecx
push ebx
mov ecx, edi
call fcn.004f1ce0
mov edx, dword [esi + 0x90]
shr edx, 8
and edx, 1
push edx
add ebp, eax
lea eax, [esp + 0x14]
push str.__ADDSIGNED2X_:__d_r_n
push eax
call fcn.0055c6b1
add esp, 0xc
lea ecx, [esp + 0x10]
push ecx
push ebx
mov ecx, edi
call fcn.004f1ce0
mov edx, dword [esi + 0x90]
shr edx, 0xa
and edx, 1
push edx
add ebp, eax
lea eax, [esp + 0x14]
push str.__ADDSMOOTH_:__d_r_n
push eax
call fcn.0055c6b1
add esp, 0xc
lea ecx, [esp + 0x10]
push ecx
push ebx
mov ecx, edi
call fcn.004f1ce0
mov edx, dword [esi + 0x90]
shr edx, 0xf
and edx, 1
push edx
add ebp, eax
lea eax, [esp + 0x14]
push str.__BLENDCURRENTALPHA_:__d_r_n
push eax
call fcn.0055c6b1
add esp, 0xc
lea ecx, [esp + 0x10]
push ecx
push ebx
mov ecx, edi
call fcn.004f1ce0
mov edx, dword [esi + 0x90]
shr edx, 0xb
and edx, 1
push edx
add ebp, eax
lea eax, [esp + 0x14]
push str.__BLENDDIFFUSEALPHA_:__d_r_n
push eax
call fcn.0055c6b1
add esp, 0xc
lea ecx, [esp + 0x10]
push ecx
push ebx
mov ecx, edi
call fcn.004f1ce0
mov edx, dword [esi + 0x90]
shr edx, 0xd
add ebp, eax
and edx, 1
push edx
lea eax, [esp + 0x14]
push str.__BLENDFACTORALPHA_:__d_r_n
push eax
call fcn.0055c6b1
add esp, 0xc
lea ecx, [esp + 0x10]
push ecx
push ebx
mov ecx, edi
call fcn.004f1ce0
mov edx, dword [esi + 0x90]
shr edx, 0xc
and edx, 1
push edx
add ebp, eax
lea eax, [esp + 0x14]
push str.__BLENDTEXTUREALPHA_:__d_r_n
push eax
call fcn.0055c6b1
add esp, 0xc
lea ecx, [esp + 0x10]
push ecx
push ebx
mov ecx, edi
call fcn.004f1ce0
mov edx, dword [esi + 0x90]
shr edx, 0xe
and edx, 1
push edx
add ebp, eax
lea eax, [esp + 0x14]
push str.__BLENDTEXTUREALPHAPM_:__d_r_n
push eax
call fcn.0055c6b1
add esp, 0xc
lea ecx, [esp + 0x10]
push ecx
push ebx
mov ecx, edi
call fcn.004f1ce0
mov edx, dword [esi + 0x90]
shr edx, 0x15
and edx, 1
push edx
add ebp, eax
lea eax, [esp + 0x14]
push str.__BUMPENVMAP_:__d_r_n
push eax
call fcn.0055c6b1
add esp, 0xc
lea ecx, [esp + 0x10]
push ecx
push ebx
mov ecx, edi
call fcn.004f1ce0
mov edx, dword [esi + 0x90]
shr edx, 0x16
and edx, 1
push edx
add ebp, eax
lea eax, [esp + 0x14]
push str.__BUMPENVMAPLUMINANCE_:__d_r_n
push eax
call fcn.0055c6b1
add esp, 0xc
lea ecx, [esp + 0x10]
push ecx
push ebx
mov ecx, edi
call fcn.004f1ce0
mov edx, dword [esi + 0x90]
and edx, 1
push edx
add ebp, eax
lea eax, [esp + 0x14]
push str.__DISABLE_:__d_r_n
push eax
call fcn.0055c6b1
add esp, 0xc
lea ecx, [esp + 0x10]
push ecx
push ebx
mov ecx, edi
call fcn.004f1ce0
mov edx, dword [esi + 0x90]
shr edx, 0x17
and edx, 1
push edx
add ebp, eax
lea eax, [esp + 0x14]
push str.__DOTPRODUCT3_:__d_r_n
push eax
call fcn.0055c6b1
add esp, 0xc
lea ecx, [esp + 0x10]
push ecx
push ebx
mov ecx, edi
call fcn.004f1ce0
mov edx, dword [esi + 0x90]
shr edx, 0x19
and edx, 1
push edx
add ebp, eax
lea eax, [esp + 0x14]
push str.__LERP_:__d_r_n
push eax
call fcn.0055c6b1
add esp, 0xc
lea ecx, [esp + 0x10]
push ecx
push ebx
mov ecx, edi
call fcn.004f1ce0
mov edx, dword [esi + 0x90]
shr edx, 3
and edx, 1
push edx
add ebp, eax
lea eax, [esp + 0x14]
push str.__MODULATE_:__d_r_n
push eax
call fcn.0055c6b1
add esp, 0xc
lea ecx, [esp + 0x10]
push ecx
push ebx
mov ecx, edi
call fcn.004f1ce0
mov edx, dword [esi + 0x90]
shr edx, 4
and edx, 1
push edx
add ebp, eax
lea eax, [esp + 0x14]
push str.__MODULATE2X_:__d_r_n
push eax
call fcn.0055c6b1
add esp, 0xc
lea ecx, [esp + 0x10]
push ecx
push ebx
mov ecx, edi
call fcn.004f1ce0
mov edx, dword [esi + 0x90]
shr edx, 5
and edx, 1
push edx
add ebp, eax
lea eax, [esp + 0x14]
push str.__MODULATE4X_:__d_r_n
push eax
call fcn.0055c6b1
add esp, 0xc
lea ecx, [esp + 0x10]
push ecx
push ebx
mov ecx, edi
call fcn.004f1ce0
mov edx, dword [esi + 0x90]
add ebp, eax
shr edx, 0x11
and edx, 1
push edx
lea eax, [esp + 0x14]
push str.__MODULATEALPHA_ADDCOLOR_:__d_r_n
push eax
call fcn.0055c6b1
add esp, 0xc
lea ecx, [esp + 0x10]
push ecx
push ebx
mov ecx, edi
call fcn.004f1ce0
mov edx, dword [esi + 0x90]
shr edx, 0x12
and edx, 1
push edx
add ebp, eax
lea eax, [esp + 0x14]
push str.__MODULATECOLOR_ADDALPHA_:__d_r_n
push eax
call fcn.0055c6b1
add esp, 0xc
lea ecx, [esp + 0x10]
push ecx
push ebx
mov ecx, edi
call fcn.004f1ce0
mov edx, dword [esi + 0x90]
shr edx, 0x13
and edx, 1
push edx
add ebp, eax
lea eax, [esp + 0x14]
push str.__MODULATEINVALPHA_ADDCOLOR_:__d_r_n
push eax
call fcn.0055c6b1
add esp, 0xc
lea ecx, [esp + 0x10]
push ecx
push ebx
mov ecx, edi
call fcn.004f1ce0
mov edx, dword [esi + 0x90]
shr edx, 0x14
and edx, 1
push edx
add ebp, eax
lea eax, [esp + 0x14]
push str.__MODULATEINVCOLOR_ADDALPHA_:__d_r_n
push eax
call fcn.0055c6b1
add esp, 0xc
lea ecx, [esp + 0x10]
push ecx
push ebx
mov ecx, edi
call fcn.004f1ce0
movzx edx, byte [esi + 0x93]
and edx, 1
push edx
add ebp, eax
lea eax, [esp + 0x14]
push str.__MULTIPLYADD_:__d_r_n
push eax
call fcn.0055c6b1
add esp, 0xc
lea ecx, [esp + 0x10]
push ecx
push ebx
mov ecx, edi
call fcn.004f1ce0
movzx edx, word [esi + 0x92]
and edx, 1
push edx
add ebp, eax
lea eax, [esp + 0x14]
push str.__PREMODULATE_:__d_r_n
push eax
call fcn.0055c6b1
add esp, 0xc
lea ecx, [esp + 0x10]
push ecx
push ebx
mov ecx, edi
call fcn.004f1ce0
mov edx, dword [esi + 0x90]
shr edx, 1
and edx, 1
push edx
add ebp, eax
lea eax, [esp + 0x14]
push str.__SELECTARG1_:__d_r_n
push eax
call fcn.0055c6b1
add esp, 0xc
lea ecx, [esp + 0x10]
push ecx
push ebx
mov ecx, edi
call fcn.004f1ce0
mov edx, dword [esi + 0x90]
shr edx, 2
and edx, 1
push edx
add ebp, eax
lea eax, [esp + 0x14]
push str.__SELECTARG2_:__d_r_n
push eax
call fcn.0055c6b1
add esp, 0xc
lea ecx, [esp + 0x10]
push ecx
push ebx
mov ecx, edi
call fcn.004f1ce0
mov edx, dword [esi + 0x90]
shr edx, 9
and edx, 1
push edx
add ebp, eax
lea eax, [esp + 0x14]
push str.__SUBTRACT_:__d_r_n
push eax
call fcn.0055c6b1
add esp, 0xc
lea ecx, [esp + 0x10]
push ecx
push ebx
mov ecx, edi
call fcn.004f1ce0
mov edx, dword [esi + 0x94]
push edx
add ebp, eax
lea eax, [esp + 0x14]
push str._ExtentsAdjust__:__d_r_n
push eax
call fcn.0055c6b1
add esp, 0xc
lea ecx, [esp + 0x10]
push ecx
push ebx
mov ecx, edi
call fcn.004f1ce0
mov edx, dword [esi + 0x98]
push edx
add ebp, eax
lea eax, [esp + 0x14]
push str._MaxSimultaneousTextures__:__d_r_n
push eax
call fcn.0055c6b1
add esp, 0xc
lea ecx, [esp + 0x10]
push ecx
push ebx
mov ecx, edi
call fcn.004f1ce0
mov edx, dword [esi + 0x9c]
push edx
add ebp, eax
push str._VertexProcessingCaps__:__08x_r_n
lea eax, [esp + 0x18]
push eax
call fcn.0055c6b1
add esp, 0xc
lea ecx, [esp + 0x10]
push ecx
push ebx
mov ecx, edi
call fcn.004f1ce0
mov edx, dword [esi + 0x9c]
shr edx, 3
and edx, 1
push edx
add ebp, eax
lea eax, [esp + 0x14]
push str.__DIRECTIONALLIGHTS_:__d_r_n
push eax
call fcn.0055c6b1
add esp, 0xc
lea ecx, [esp + 0x10]
push ecx
push ebx
mov ecx, edi
call fcn.004f1ce0
mov edx, dword [esi + 0x9c]
shr edx, 5
and edx, 1
push edx
add ebp, eax
lea eax, [esp + 0x14]
push str.__LOCALVIEWER_:__d_r_n
push eax
call fcn.0055c6b1
add esp, 0xc
lea ecx, [esp + 0x10]
push ecx
push ebx
mov ecx, edi
call fcn.004f1ce0
mov edx, dword [esi + 0x9c]
shr edx, 1
and edx, 1
push edx
add ebp, eax
lea eax, [esp + 0x14]
push str.__MATERIALSOURCE7_:__d_r_n
push eax
call fcn.0055c6b1
add esp, 0xc
lea ecx, [esp + 0x10]
push ecx
push ebx
mov ecx, edi
call fcn.004f1ce0
mov edx, dword [esi + 0x9c]
shr edx, 4
and edx, 1
push edx
add ebp, eax
lea eax, [esp + 0x14]
push str.__POSITIONALLIGHTS_:__d_r_n
push eax
call fcn.0055c6b1
add esp, 0xc
lea ecx, [esp + 0x10]
push ecx
push ebx
mov ecx, edi
call fcn.004f1ce0
mov edx, dword [esi + 0x9c]
and edx, 1
push edx
add ebp, eax
lea eax, [esp + 0x14]
push str.__TEXGEN_:__d_r_n
push eax
call fcn.0055c6b1
add esp, 0xc
lea ecx, [esp + 0x10]
push ecx
push ebx
mov ecx, edi
call fcn.004f1ce0
mov edx, dword [esi + 0x9c]
shr edx, 6
and edx, 1
push edx
add ebp, eax
lea eax, [esp + 0x14]
push str.__TWEENING_:__d_r_n
push eax
call fcn.0055c6b1
add esp, 0xc
lea ecx, [esp + 0x10]
push ecx
push ebx
mov ecx, edi
call fcn.004f1ce0
mov edx, dword [esi + 0xa0]
push edx
add ebp, eax
lea eax, [esp + 0x14]
push str._MaxActiveLights__:__d_r_n
push eax
call fcn.0055c6b1
add esp, 0xc
lea ecx, [esp + 0x10]
push ecx
push ebx
mov ecx, edi
call fcn.004f1ce0
mov edx, dword [esi + 0xa4]
push edx
add ebp, eax
lea eax, [esp + 0x14]
push str._MaxUserClipPlanes__:__d_r_n
push eax
call fcn.0055c6b1
add esp, 0xc
lea ecx, [esp + 0x10]
push ecx
push ebx
mov ecx, edi
call fcn.004f1ce0
mov edx, dword [esi + 0xa8]
push edx
add ebp, eax
lea eax, [esp + 0x14]
push str._MaxVertexBlendMatrices__:__d_r_n
push eax
call fcn.0055c6b1
add esp, 0xc
lea ecx, [esp + 0x10]
push ecx
push ebx
mov ecx, edi
call fcn.004f1ce0
mov edx, dword [esi + 0xac]
push edx
add ebp, eax
lea eax, [esp + 0x14]
push str._MaxVertexBlendMatrixIndex__:__d_r_n
push eax
call fcn.0055c6b1
add esp, 0xc
lea ecx, [esp + 0x10]
push ecx
push ebx
mov ecx, edi
call fcn.004f1ce0
fld dword [esi + 0xb0]
sub esp, 8
fstp qword [esp]
lea edx, [esp + 0x18]
push str._MaxPointSize__:__f_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0x10
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0xb4]
push ecx
lea edx, [esp + 0x14]
push str._MaxPrimitiveCount__:__d_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0xb8]
push ecx
lea edx, [esp + 0x14]
push str._MaxVertexIndex__:__d_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0xbc]
push ecx
lea edx, [esp + 0x14]
push str._MaxStreams__:__d_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0xc0]
push ecx
lea edx, [esp + 0x14]
push str._MaxStreamStride__:__d_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0xc4]
push ecx
lea edx, [esp + 0x14]
push str._VertexShaderVersion__:__08x_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0xc8]
push ecx
lea edx, [esp + 0x14]
push str._MaxVertexShaderConst__:__d_r_n
push edx
add ebp, eax
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esi + 0xcc]
add ebp, eax
push ecx
lea edx, [esp + 0x14]
push str._PixelShaderVersion__:__08x_r_n
push edx
call fcn.0055c6b1
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ecx, edi
call fcn.004f1ce0
mov ecx, dword [esp + 0x210]
pop edi
pop esi
add eax, ebp
pop ebp
pop ebx
xor ecx, esp
call fcn.0055c6a2
add esp, 0x204
ret 8