Function at 0x1090daf0
Capabilities:
Get memory capacity

Disassembly:
push ebp
lea ebp, [esp - 0x78]
sub esp, 0x78
push 0xffffffffffffffff
push 0x10951990
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x784
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
xor edi, edi
mov dword [ebp - 4], edi
wait
mov esi, 0x7fffffff
mov dword [ebp + 0x54], esi
mov dword [ebp + 0x40], edi
fld qword [0x10959c98]
mov eax, dword [sym.imp.Core.dll_double_GSecondsPerCycle]
fdiv qword [eax]
fstp dword [ebp + 0x30]
mov dword [ebp + 0xc], 0x20
lea ecx, [ebp + 0xc]
push ecx
call dword [sym.imp.KERNEL32.dll_GlobalMemoryStatus]
mov eax, dword [ebp + 0x14]
shr eax, 0x14
mov dword [ebp + 0x3c], eax
mov ecx, dword [sym.imp.Core.dll_class_FOutputDevice__GLog]
cmp dword [ecx], edi
je 0x1090db75
push eax
push str.Physical_Memory:__i_MByte
push 0x2fa
mov edx, dword [ecx]
push edx
call dword [sym.imp.Core.dll_public:_void___cdecl_FOutputDevice::Logf2_enum_EName__unsigned_short_int_const__]
add esp, 0x10
lea eax, [ebp + 0x64]
push eax
lea ecx, [ebp + 0x68]
push ecx
call sub.DSETUP.dll_Ordinal_11
test eax, eax
je 0x1090dc66
mov ecx, dword [ebp + 0x68]
mov edx, ecx
shr edx, 0x10
mov dword [ebp + 0x6c], edx
fild dword [ebp + 0x6c]
fcomp qword [0x10959c48]
fnstsw ax
test ah, 1
jne 0x1090dbc7
movzx eax, cx
mov dword [ebp + 0x6c], eax
fild dword [ebp + 0x6c]
fcomp qword [0x10959c38]
fnstsw ax
test ah, 1
jne 0x1090dbc7
cmp word [ebp + 0x64], 0x387
ja 0x1090dc66
mov ecx, dword [sym.imp.Core.dll_class_FConfigCache__GConfig]
mov ecx, dword [ecx]
mov edx, dword [ecx]
push str.Localization.ini
mov eax, dword [sym.imp.Core.dll_int_GLanguageType]
push eax
push str.Language
push str.LanguageSet
mov edx, dword [edx + 4]
call edx
mov eax, dword [sym.imp.Core.dll_int_GLanguageType]
mov eax, dword [eax]
cmp eax, edi
jne 0x1090dc09
push str.DirectX_9.0c
push 0x10956ed4
lea ecx, [ebp - 0x790]
push ecx
jmp 0x1090dc28
push str.Please_install_DirectX_9.0c_or_later__see_Release_Notes_for_instructions_on_how_to_obtain_it_
push 0x10956ed4
cmp eax, 1
jne 0x1090dc21
lea edx, [ebp - 0x790]
push edx
jmp 0x1090dc28
lea eax, [ebp - 0x790]
push eax
call dword [sym.imp.Core.dll_int___cdecl_appSprintf_unsigned_short_int___unsigned_short_int_const__]
add esp, 0xc
push edi
push str.System_Error
lea ecx, [ebp - 0x790]
push ecx
push edi
call dword [sym.imp.USER32.dll_MessageBoxW]
mov edx, dword [sym.imp.Core.dll_int_GIsRequestingExit]
mov dword [edx], 1
wait
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
add ebp, 0x78
mov esp, ebp
pop ebp
ret
mov byte [ebp - 4], 1
wait
lea eax, [ebp - 0x144]
mov dword [ebp + 0x6c], eax
mov ecx, 0x130
mov edi, dword [ebp + 0x6c]
xor eax, eax
mov ebx, ecx
shr ecx, 2
and ebx, 3
rep stosd dword es:[edi], eax
mov ecx, ebx
rep stosb byte es:[edi], al
push 0
lea ecx, [ebp + 0x60]
push ecx
push 0
call sub.DDRAW.dll_DirectDrawCreate
test eax, eax
jge 0x1090de0c
mov eax, dword [sym.imp.Core.dll_class_FOutputDevice__GLog]
cmp dword [eax], 0
je 0x1090dcc6
push str.D3D_Driver:_Couldnt_query_amount_of_local_video_memory
push 0x2fa
mov edx, dword [eax]
push edx
call dword [sym.imp.Core.dll_public:_void___cdecl_FOutputDevice::Logf2_enum_EName__unsigned_short_int_const__]
add esp, 0xc
jmp 0x1090de0c
mov eax, dword [ebp + 0x60]
mov ecx, dword [eax]
lea edx, [ebp + 0x5c]
push edx
push 0x1095da00
push eax
mov eax, dword [ecx]
call eax
test eax, eax
jge 0x1090de01
mov eax, dword [sym.imp.Core.dll_class_FOutputDevice__GLog]
cmp dword [eax], 0
je 0x1090dd06
push str.D3D_Device:_Couldnt_query_amount_of_local_video_memory
push 0x2fa
mov ecx, dword [eax]
push ecx
call dword [sym.imp.Core.dll_public:_void___cdecl_FOutputDevice::Logf2_enum_EName__unsigned_short_int_const__]
add esp, 0xc
jmp 0x1090de01
lea edx, [ebp + 0x44]
mov dword [ebp + 0x58], edx
mov ecx, 0x10
mov edi, dword [ebp + 0x58]
xor eax, eax
mov ebx, ecx
shr ecx, 2
and ebx, 3
rep stosd dword es:[edi], eax
mov ecx, ebx
rep stosb byte es:[edi], al
mov dword [ebp + 0x44], 0x10007000
mov eax, dword [ebp + 0x5c]
mov ecx, dword [eax]
lea edx, [ebp + 0x6c]
push edx
lea edx, [ebp + 0x74]
push edx
lea edx, [ebp + 0x44]
push edx
push eax
mov eax, dword [ecx + 0x5c]
call eax
mov eax, dword [ebp + 0x74]
test eax, eax
je 0x1090dd5a
cmp eax, 0x7fffffff
jb 0x1090dd55
mov eax, 0x7fffffff
mov esi, eax
mov dword [ebp + 0x54], esi
lea ecx, [ebp + 0x44]
mov dword [ebp + 0x58], ecx
mov ecx, 0x10
mov edi, dword [ebp + 0x58]
xor eax, eax
mov ebx, ecx
shr ecx, 2
and ebx, 3
rep stosd dword es:[edi], eax
mov ecx, ebx
rep stosb byte es:[edi], al
mov dword [ebp + 0x44], 0x10005000
mov eax, dword [ebp + 0x5c]
mov edx, dword [eax]
lea ecx, [ebp + 0x6c]
push ecx
lea ecx, [ebp + 0x74]
push ecx
lea ecx, [ebp + 0x44]
push ecx
push eax
mov edx, dword [edx + 0x5c]
call edx
mov eax, dword [ebp + 0x74]
test eax, eax
je 0x1090dda8
cmp esi, eax
ja 0x1090dda3
mov eax, esi
mov esi, eax
mov dword [ebp + 0x54], esi
lea eax, [ebp + 0x44]
mov dword [ebp + 0x58], eax
mov ecx, 0x10
mov edi, dword [ebp + 0x58]
xor eax, eax
mov ebx, ecx
shr ecx, 2
and ebx, 3
rep stosd dword es:[edi], eax
mov ecx, ebx
rep stosb byte es:[edi], al
mov dword [ebp + 0x44], 0x10004040
mov eax, dword [ebp + 0x5c]
mov ecx, dword [eax]
lea edx, [ebp + 0x6c]
push edx
lea edx, [ebp + 0x74]
push edx
lea edx, [ebp + 0x44]
push edx
push eax
mov eax, dword [ecx + 0x5c]
call eax
mov eax, dword [ebp + 0x74]
test eax, eax
je 0x1090ddf6
cmp esi, eax
ja 0x1090ddf1
mov eax, esi
mov esi, eax
mov dword [ebp + 0x54], esi
mov eax, dword [ebp + 0x5c]
mov ecx, dword [eax]
push eax
mov edx, dword [ecx + 8]
call edx
mov eax, dword [ebp + 0x60]
mov ecx, dword [eax]
push eax
mov edx, dword [ecx + 8]
call edx
wait
mov dword [ebp - 4], 0
cmp esi, 0x7fffffff
je 0x1090de5b
mov eax, esi
cdq
and edx, 0x3ff
add eax, edx
sar eax, 0xa
cdq
and edx, 0x3ff
add eax, edx
sar eax, 0xa
mov dword [ebp + 0x54], eax
mov ecx, dword [sym.imp.Core.dll_class_FOutputDevice__GLog]
cmp dword [ecx], 0
je 0x1090de5b
push eax
push str.D3D_Device:_Video_memory_on_board:__i
push 0x2fa
mov eax, dword [ecx]
push eax
call dword [sym.imp.Core.dll_public:_void___cdecl_FOutputDevice::Logf2_enum_EName__unsigned_short_int_const__]
add esp, 0x10
mov byte [ebp - 4], 3
wait
push 0x20
call sub.d3d9.dll_Direct3DCreate9
mov esi, eax
test esi, esi
je 0x1090df19
mov ecx, dword [esi]
lea edx, [ebp - 0x144]
push edx
push 1
push 0
push esi
mov eax, dword [ecx + 0x38]
call eax
test eax, eax
jl 0x1090de91
mov dword [ebp + 0x40], 1
jmp 0x1090deb1
mov eax, dword [sym.imp.Core.dll_class_FOutputDevice__GLog]
cmp dword [eax], 0
je 0x1090deb1
push str.D3D_Device:_Couldnt_query_SW_vs_HW_TL
push 0x2fa
mov ecx, dword [eax]
push ecx
call dword [sym.imp.Core.dll_public:_void___cdecl_FOutputDevice::Logf2_enum_EName__unsigned_short_int_const__]
add esp, 0xc
mov edx, dword [esi]
push 0x33545844
push 3
push 0
push 0x16
push 1
push 0
push esi
mov eax, dword [edx + 0x28]
call eax
test eax, eax
jge 0x1090ded7
mov eax, dword [ebp + 0x54]
cdq
sub eax, edx
sar eax, 1
mov dword [ebp + 0x54], eax
mov ecx, dword [esi]
lea edx, [ebp - 0x590]
push edx
push 0
push 0
push esi
mov eax, dword [ecx + 0x14]
call eax
test eax, eax
jge 0x1090df0f
lea ecx, [ebp - 0x590]
mov dword [ebp + 0x58], ecx
mov ecx, 0x44c
mov edi, dword [ebp + 0x58]
xor eax, eax
mov ebx, ecx
shr ecx, 2
and ebx, 3
rep stosd dword es:[edi], eax
mov ecx, ebx
rep stosb byte es:[edi], al
mov edx, dword [esi]
push esi
mov eax, dword [edx + 8]
call eax
jmp 0x1090df76
push str.Please_install_DirectX_9.0c_or_later__see_Release_Notes_for_instructions_on_how_to_obtain_it_
push 0x318
mov ecx, dword [sym.imp.Core.dll_class_FOutputDeviceError__GError]
mov edx, dword [ecx]
push edx
call dword [sym.imp.Core.dll_public:_void___cdecl_FOutputDevice::Logf_enum_EName__unsigned_short_int_const__]
add esp, 0xc
mov eax, dword [sym.imp.Core.dll_class_FOutputDevice__GLog]
cmp dword [eax], 0
je 0x1090df55
push str.D3D_Device:_Couldnt_query_SW_vs_HW_TL
push 0x2fa
mov eax, dword [eax]
push eax
call dword [sym.imp.Core.dll_public:_void___cdecl_FOutputDevice::Logf2_enum_EName__unsigned_short_int_const__]
add esp, 0xc
lea ecx, [ebp - 0x590]
mov dword [ebp + 0x58], ecx
mov ecx, 0x44c
mov edi, dword [ebp + 0x58]
xor eax, eax
mov ebx, ecx
shr ecx, 2
and ebx, 3
rep stosd dword es:[edi], eax
mov ecx, ebx
rep stosb byte es:[edi], al
wait
xor esi, esi
mov dword [ebp - 4], esi
cmp dword [ebp + 0x40], esi
je 0x1090dfa9
cmp dword [ebp - 0xac], 4
jae 0x1090dfa9
mov edx, dword [sym.imp.Core.dll_class_FConfigCache__GConfig]
mov ecx, dword [edx]
mov eax, dword [ecx]
push esi
push str.False
push str.DetailTextures
push str.D3DDrv.D3DRenderDevice
mov edx, dword [eax + 0x30]
call edx
mov dword [ebp + 0x70], esi
mov eax, dword [sym.imp.Core.dll_class_FConfigCache__GConfig]
mov ecx, dword [eax]
mov edx, dword [ecx]
push str.Option.ini
lea eax, [ebp + 0x70]
push eax
push str.FirstRun
push str.FirstRun
mov edx, dword [edx + 4]
call edx
test eax, eax
je 0x1090dfdb
cmp dword [ebp + 0x70], 2
jge 0x1090e612
mov eax, dword [sym.imp.Core.dll_int_GL2IsFirstRun]
mov dword [eax], 1
mov eax, dword [ebp - 0x168]
cmp eax, 0x1002
jne 0x1090e13f
mov eax, dword [ebp - 0x164]
cmp eax, 0x5159
jne 0x1090e015
mov ecx, dword [sym.imp.Core.dll_int_GL2TextureDetail]
mov dword [ecx], 2
jmp 0x1090e2b8
cmp eax, 0x5157
jne 0x1090e033
fld dword [0x10959818]
mov edx, dword [sym.imp.Core.dll_int_GL2TextureDetail]
mov dword [edx], 1
jmp 0x1090e2be
cmp eax, 0x514c
jne 0x1090e050
fld dword [0x10959814]
mov eax, dword [sym.imp.Core.dll_int_GL2TextureDetail]
mov dword [eax], 1
jmp 0x1090e2be
cmp eax, 0x4966
jne 0x1090e06e
fld dword [0x10959814]
mov ecx, dword [sym.imp.Core.dll_int_GL2TextureDetail]
mov dword [ecx], 1
jmp 0x1090e2be
cmp eax, 0x4144
je 0x1090e128
cmp eax, 0x4164
je 0x1090e128
cmp eax, 0x4150
je 0x1090e112
cmp eax, 0x4151
je 0x1090e112
cmp eax, 0x4e46
je 0x1090e112
cmp eax, 0x4152
je 0x1090e112
cmp eax, 0x4e44
je 0x1090e244
cmp eax, 0x4e45
je 0x1090e244
cmp eax, 0x4145
je 0x1090e244
cmp eax, 0x4146
je 0x1090e244
cmp eax, 0x4e48
je 0x1090e0ff
cmp eax, 0x4e49
je 0x1090e0ff
cmp eax, 0x4148
je 0x1090e0ff
cmp eax, 0x4e4a
jne 0x1090e151
fld dword [0x10959810]
mov edx, dword [sym.imp.Core.dll_int_GL2TextureDetail]
mov dword [edx], esi
jmp 0x1090e2be
fld dword [0x1095980c]
mov ecx, dword [sym.imp.Core.dll_int_GL2TextureDetail]
mov dword [ecx], esi
jmp 0x1090e2be
fld dword [0x10959808]
mov eax, dword [sym.imp.Core.dll_int_GL2TextureDetail]
mov dword [eax], 1
jmp 0x1090e2be
fld dword [0x10959804]
mov ecx, dword [sym.imp.Core.dll_int_GL2TextureDetail]
mov dword [ecx], 1
jmp 0x1090e2be
cmp eax, 0x121a
je 0x1090e2ac
cmp eax, 0x8086
jne 0x1090e161
mov eax, dword [sym.imp.Core.dll_int_GL2TextureDetail]
mov dword [eax], 2
jmp 0x1090e2b8
cmp eax, 0x10de
jne 0x1090e27c
mov eax, dword [ebp - 0x164]
cmp eax, 0x20
jne 0x1090e188
mov ecx, dword [sym.imp.Core.dll_int_GL2TextureDetail]
mov dword [ecx], 2
jmp 0x1090e2b8
lea edx, [eax - 0x28]
cmp edx, 7
ja 0x1090e1a0
mov eax, dword [sym.imp.Core.dll_int_GL2TextureDetail]
mov dword [eax], 2
jmp 0x1090e2b8
lea ecx, [eax - 0x100]
cmp ecx, 3
jbe 0x1090e2ac
lea ecx, [eax - 0x110]
cmp ecx, 3
jbe 0x1090e2ac
lea ecx, [eax - 0x150]
cmp ecx, 3
jbe 0x1090e2ac
lea ecx, [eax - 0x170]
cmp ecx, 9
ja 0x1090e1ef
fld dword [0x10959814]
mov edx, dword [sym.imp.Core.dll_int_GL2TextureDetail]
mov dword [edx], 1
jmp 0x1090e2be
lea ecx, [eax - 0x200]
cmp ecx, 3
jbe 0x1090e1d8
lea ecx, [eax - 0x250]
cmp ecx, 3
ja 0x1090e21c
fld dword [0x10959804]
mov edx, dword [sym.imp.Core.dll_int_GL2TextureDetail]
mov dword [edx], 1
jmp 0x1090e2be
cmp eax, 0x281
jb 0x1090e239
fld dword [0x10959804]
mov eax, dword [sym.imp.Core.dll_int_GL2TextureDetail]
mov dword [eax], 1
jmp 0x1090e2be
lea ecx, [eax - 0x140]
cmp ecx, 5
ja 0x1090e258
fld dword [0x10959800]
mov edx, dword [sym.imp.Core.dll_int_GL2TextureDetail]
mov dword [edx], 1
jmp 0x1090e2be
cmp eax, 0x40
jb 0x1090e262
cmp eax, 0x45
jbe 0x1090e26d
cmp eax, 0xc1
jne 0x1090e004
fld dword [0x10959810]
mov eax, dword [sym.imp.Core.dll_int_GL2TextureDetail]
mov dword [eax], esi
jmp 0x1090e2be
cmp eax, 0x102b
je 0x1090e2ac
cmp eax, 0x1023
jne 0x1090e297
mov eax, dword [sym.imp.Core.dll_int_GL2TextureDetail]
mov dword [eax], 2
jmp 0x1090e2b8
cmp eax, 0x1039
jne 0x1090e2ac
mov ecx, dword [sym.imp.Core.dll_int_GL2TextureDetail]
mov dword [ecx], 2
jmp 0x1090e2b8
mov edx, dword [sym.imp.Core.dll_int_GL2TextureDetail]
mov dword [edx], 2
fld dword [0x109597fc]
fstp dword [ebp + 0x74]
fld dword [ebp + 0x30]
fdiv qword [0x109597f0]
fmul dword [ebp + 0x74]
fstp dword [ebp + 0x74]
fld dword [0x109597ec]
fld dword [ebp + 0x74]
fcom st(1)
fnstsw ax
test ah, 5
jp 0x1090e35d
fstp st(0)
fstp st(0)
mov eax, dword [sym.imp.Core.dll_int_GSEKScreenX]
mov dword [eax], 0x320
mov ecx, dword [sym.imp.Core.dll_int_GSEKScreenY]
mov dword [ecx], 0x258
mov edx, dword [sym.imp.Core.dll_int_GColorBits]
mov dword [edx], 0x10
mov eax, dword [sym.imp.Core.dll_int_GL2TextureDetail]
mov dword [eax], 2
mov ecx, dword [sym.imp.Core.dll_int_GIsL2Projector]
mov dword [ecx], esi
mov edx, dword [sym.imp.Core.dll_int_GL2RenderDeco]
mov dword [edx], esi
fld dword [0x109597e8]
mov eax, dword [sym.imp.Core.dll_float_GL2TerrainCR]
fst dword [eax]
fld dword [0x109597e4]
mov ecx, dword [sym.imp.Core.dll_float_GL2StaticMeshCR]
fstp dword [ecx]
mov edx, dword [sym.imp.Core.dll_float_GL2StaticMeshLodCR]
fst dword [edx]
mov eax, dword [sym.imp.Core.dll_float_GL2ActorCR]
fstp dword [eax]
fld1
mov ecx, dword [sym.imp.Core.dll_float_GL2OriginPawnCR]
fstp dword [ecx]
jmp 0x1090e5bc
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x1090e3ef
fld dword [0x10959800]
fcomp st(1)
fnstsw ax
test ah, 1
jne 0x1090e3ef
fstp st(0)
mov edx, dword [sym.imp.Core.dll_int_GSEKScreenX]
mov dword [edx], 0x320
mov eax, dword [sym.imp.Core.dll_int_GSEKScreenY]
mov dword [eax], 0x258
mov ecx, dword [sym.imp.Core.dll_int_GColorBits]
mov dword [ecx], 0x20
mov edx, dword [sym.imp.Core.dll_int_GIsL2Projector]
mov dword [edx], 1
mov eax, dword [sym.imp.Core.dll_int_GL2RenderDeco]
mov dword [eax], esi
fld dword [0x109597e0]
mov ecx, dword [sym.imp.Core.dll_float_GL2TerrainCR]
fstp dword [ecx]
fld dword [0x109597dc]
mov edx, dword [sym.imp.Core.dll_float_GL2StaticMeshCR]
fstp dword [edx]
fld dword [0x109597d8]
mov eax, dword [sym.imp.Core.dll_float_GL2StaticMeshLodCR]
fst dword [eax]
mov ecx, dword [sym.imp.Core.dll_float_GL2ActorCR]
fstp dword [ecx]
fld dword [0x109597d4]
jmp 0x1090e5b4
fld dword [0x10959800]
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x1090e490
fld dword [0x109597d0]
fcomp st(1)
fnstsw ax
test ah, 1
jne 0x1090e490
fstp st(0)
mov eax, dword [sym.imp.Core.dll_int_GSEKScreenX]
mov dword [eax], 0x400
mov ecx, dword [sym.imp.Core.dll_int_GSEKScreenY]
mov dword [ecx], 0x300
mov edx, dword [sym.imp.Core.dll_int_GColorBits]
mov dword [edx], 0x20
mov eax, dword [sym.imp.Core.dll_int_GIsL2Projector]
mov dword [eax], 1
mov ecx, dword [sym.imp.Core.dll_int_GL2RenderDeco]
mov dword [ecx], 1
fld dword [0x109597cc]
mov edx, dword [sym.imp.Core.dll_float_GL2TerrainCR]
fstp dword [edx]
fld dword [0x109597c8]
mov eax, dword [sym.imp.Core.dll_float_GL2StaticMeshCR]
fstp dword [eax]
fld dword [0x109597e0]
mov ecx, dword [sym.imp.Core.dll_float_GL2StaticMeshLodCR]
fst dword [ecx]
mov edx, dword [sym.imp.Core.dll_float_GL2ActorCR]
fstp dword [edx]
fld dword [0x109597d4]
mov eax, dword [sym.imp.Core.dll_float_GL2OriginPawnCR]
fstp dword [eax]
jmp 0x1090e5bc
fld dword [0x109597d0]
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x1090e536
fld dword [0x109597c4]
fcomp st(1)
fnstsw ax
test ah, 1
jne 0x1090e536
fstp st(0)
mov ecx, dword [sym.imp.Core.dll_int_GSEKScreenX]
mov dword [ecx], 0x400
mov edx, dword [sym.imp.Core.dll_int_GSEKScreenY]
mov dword [edx], 0x300
mov eax, dword [sym.imp.Core.dll_int_GColorBits]
mov dword [eax], 0x20
mov ecx, dword [sym.imp.Core.dll_int_GIsL2Projector]
mov dword [ecx], 1
mov edx, dword [sym.imp.Core.dll_int_GL2RenderDeco]
mov dword [edx], 1
fld dword [0x109597cc]
mov eax, dword [sym.imp.Core.dll_float_GL2TerrainCR]
fstp dword [eax]
fld dword [0x109597c8]
mov ecx, dword [sym.imp.Core.dll_float_GL2StaticMeshCR]
fstp dword [ecx]
fld dword [0x109597e0]
mov edx, dword [sym.imp.Core.dll_float_GL2StaticMeshLodCR]
fst dword [edx]
mov eax, dword [sym.imp.Core.dll_float_GL2ActorCR]
fstp dword [eax]
fld dword [0x109597e4]
mov ecx, dword [sym.imp.Core.dll_float_GL2OriginPawnCR]
fstp dword [ecx]
jmp 0x1090e5bc
fcomp dword [0x109597c4]
fnstsw ax
test ah, 0x41
jne 0x1090e5bc
mov edx, dword [sym.imp.Core.dll_int_GSEKScreenX]
mov dword [edx], 0x400
mov eax, dword [sym.imp.Core.dll_int_GSEKScreenY]
mov dword [eax], 0x300
mov ecx, dword [sym.imp.Core.dll_int_GColorBits]
mov dword [ecx], 0x20
mov edx, dword [sym.imp.Core.dll_int_GIsL2Projector]
mov dword [edx], 1
mov eax, dword [sym.imp.Core.dll_int_GL2RenderDeco]
mov dword [eax], 1
fld dword [0x109597c0]
mov ecx, dword [sym.imp.Core.dll_float_GL2TerrainCR]
fstp dword [ecx]
fld dword [0x109597bc]
mov edx, dword [sym.imp.Core.dll_float_GL2StaticMeshCR]
fstp dword [edx]
fld dword [0x109597b8]
mov eax, dword [sym.imp.Core.dll_float_GL2StaticMeshLodCR]
fst dword [eax]
mov ecx, dword [sym.imp.Core.dll_float_GL2ActorCR]
fstp dword [ecx]
fld dword [0x109597dc]
mov edx, dword [sym.imp.Core.dll_float_GL2OriginPawnCR]
fstp dword [edx]
cmp dword [ebp + 0x3c], 0x100
jge 0x1090e5cc
mov eax, dword [sym.imp.Core.dll_int_GL2RenderDeco]
mov dword [eax], esi
mov ecx, dword [ebp + 0x54]
mov eax, dword [sym.imp.Core.dll_int_GL2TextureDetail]
cmp ecx, 0x40
jge 0x1090e5e9
cmp dword [eax], 2
jge 0x1090e5e9
mov dword [eax], 2
mov eax, dword [sym.imp.Core.dll_int_GL2TextureDetail]
cmp ecx, 0x80
jge 0x1090e5f8
cmp dword [eax], 1
jge 0x1090e608
jmp 0x1090e5fd
cmp dword [eax], 1
jle 0x1090e608
mov dword [eax], 1
mov eax, dword [sym.imp.Core.dll_int_GL2TextureDetail]
cmp ecx, 0x100
jl 0x1090e612
mov dword [eax], esi
wait
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
add ebp, 0x78
mov esp, ebp
pop ebp
ret