Function at 0x1090b440
Capabilities:
Get memory capacity

Disassembly:
sub esp, 0x554
fld qword [0x10c10b80]
push ebx
fdiv qword [0x10c71ad8]
push ebp
push esi
push edi
lea eax, [esp + 0x44]
push eax
mov esi, 0x7fffffff
mov dword [esp + 0x28], 1
mov dword [esp + 0x40], 0
mov dword [esp + 0x48], 0x20
fstp dword [esp + 0x2c]
call dword [sym.imp.KERNEL32.dll_GlobalMemoryStatus]
mov eax, dword [esp + 0x4c]
shr eax, 0x14
lea ecx, [esp + 0x64]
mov dword [esp + 0x40], eax
mov dword [esp + 0x14], ecx
mov ecx, 0xd4
mov edi, dword [esp + 0x14]
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 edx, [esp + 0x1c]
push edx
push 0
call sub.DDRAW.dll_DirectDrawCreate
test eax, eax
jl 0x1090b607
mov eax, dword [esp + 0x18]
mov ecx, dword [eax]
lea edx, [esp + 0x1c]
push edx
push 0x10bdfb10
push eax
call dword [ecx]
test eax, eax
jl 0x1090b5d9
lea eax, [esp + 0x2c]
mov dword [esp + 0x20], eax
mov ecx, 0x10
mov edi, dword [esp + 0x20]
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 eax, dword [esp + 0x1c]
lea edx, [esp + 0x14]
push edx
lea edx, [esp + 0x14]
push edx
lea edx, [esp + 0x34]
push edx
mov dword [esp + 0x38], 0x10007000
mov ecx, dword [eax]
push eax
call dword [ecx + 0x5c]
mov eax, dword [esp + 0x10]
test eax, eax
je 0x1090b52f
cmp eax, esi
jae 0x1090b52f
mov esi, eax
lea eax, [esp + 0x2c]
mov dword [esp + 0x20], eax
mov ecx, 0x10
mov edi, dword [esp + 0x20]
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 eax, dword [esp + 0x1c]
lea edx, [esp + 0x14]
push edx
lea edx, [esp + 0x14]
push edx
lea edx, [esp + 0x34]
push edx
mov dword [esp + 0x38], 0x10005000
mov ecx, dword [eax]
push eax
call dword [ecx + 0x5c]
mov eax, dword [esp + 0x10]
test eax, eax
je 0x1090b57f
cmp esi, eax
jbe 0x1090b57f
mov esi, eax
lea eax, [esp + 0x2c]
mov dword [esp + 0x20], eax
mov ecx, 0x10
mov edi, dword [esp + 0x20]
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 eax, dword [esp + 0x1c]
lea edx, [esp + 0x14]
push edx
lea edx, [esp + 0x14]
push edx
lea edx, [esp + 0x34]
push edx
mov dword [esp + 0x38], 0x10004040
mov ecx, dword [eax]
push eax
call dword [ecx + 0x5c]
mov eax, dword [esp + 0x10]
test eax, eax
je 0x1090b5cf
cmp esi, eax
jbe 0x1090b5cf
mov esi, eax
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [esp + 0x18]
mov edx, dword [eax]
push eax
call dword [edx + 8]
cmp esi, 0x7fffffff
je 0x1090b607
mov eax, esi
cdq
and edx, 0x3ff
add eax, edx
sar eax, 0xa
cdq
and edx, 0x3ff
add eax, edx
sar eax, 0xa
mov esi, eax
push 0xdc
call sub.d3d8.dll_Direct3DCreate8
mov ebp, eax
xor edi, edi
cmp ebp, edi
je 0x1090b96d
mov eax, dword [ebp]
lea ecx, [esp + 0x64]
push ecx
push 1
push edi
push ebp
call dword [eax + 0x34]
test eax, eax
jl 0x1090b657
test dword [esp + 0x80], reloc.ole32.dll_CoCreateGuid
mov dword [esp + 0x3c], 1
jne 0x1090b649
mov dword [esp + 0x24], edi
cmp dword [esp + reloc.ole32.dll_CoCreateGuid], 8
jae 0x1090b657
mov dword [esp + 0x24], edi
mov edx, dword [ebp]
push 0x33545844
push 3
push edi
push 0x16
push 1
push edi
push ebp
call dword [edx + 0x28]
test eax, eax
jge 0x1090b678
mov eax, esi
cdq
sub eax, edx
sar eax, 1
mov esi, eax
mov eax, dword [ebp]
lea ecx, reloc.ole32.dll_CoCreateGuid
push ecx
push 2
push edi
push ebp
call dword [eax + 0x14]
test eax, eax
jge 0x1090b6b2
lea edx, reloc.ole32.dll_CoCreateGuid
mov dword [esp + 0x20], edx
mov ecx, 0x42c
mov edi, dword [esp + 0x20]
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 eax, dword [ebp]
push ebp
call dword [eax + 8]
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x1090b6e9
cmp dword [esp + 0xfc], 4
jae 0x1090b6e9
mov ecx, dword [0x10c946c0]
mov edx, dword [ecx]
push 0
push 0x10c108d4
push 0x10c0f9c8
push 0
push str.D3DDrv.D3DRenderDevice
call dword [edx + 0x28]
cmp esi, 8
mov ecx, dword [0x10c946c0]
push 0
jge 0x1090b996
mov eax, dword [ecx]
push 0x10c0f990
push str.FullScreenViewportX
push 0
push str.WinDrv.WindowsClient
call dword [eax + 0x28]
mov ecx, dword [0x10c946c0]
mov edx, dword [ecx]
push 0
push 0x10c0f934
push str.FullScreenViewportY
push 0
push str.WinDrv.WindowsClient
call dword [edx + 0x28]
mov ecx, dword [0x10c946c0]
mov eax, dword [ecx]
push 0
push 0x10c0f8fc
push 0x10c0f8cc
push 0
push str.WinDrv.WindowsClient
call dword [eax + 0x28]
mov ecx, dword [0x10c946c0]
mov edx, dword [ecx]
push 0
push 0x10c0f8bc
push 0x10c0f890
push 0
push str.WinDrv.WindowsClient
call dword [edx + 0x28]
mov ecx, dword [0x10c946c0]
mov eax, dword [ecx]
push 0
push 0x10c0f8bc
push 0x10c0f860
push 0
push str.WinDrv.WindowsClient
call dword [eax + 0x28]
mov ecx, dword [0x10c946c0]
mov edx, dword [ecx]
push 0
push 0x10c0f8bc
push 0x10c0f830
push 0
push str.WinDrv.WindowsClient
call dword [edx + 0x28]
mov ecx, dword [0x10c946c0]
mov eax, dword [ecx]
push 0
push 0x10c0f828
push 0x10c0f800
push 0
push str.WinDrv.WindowsClient
call dword [eax + 0x28]
mov ecx, dword [0x10c946c0]
mov edx, dword [ecx]
push 0
push 0x10c0f8bc
push 0x10c0f7d0
push 0
push str.WinDrv.WindowsClient
call dword [edx + 0x28]
mov ecx, dword [0x10c946c0]
mov eax, dword [ecx]
push 0
push 0x10c0f8bc
push 0x10c0f7a4
push 0
push str.WinDrv.WindowsClient
call dword [eax + 0x28]
mov ecx, dword [0x10c946c0]
mov edx, dword [ecx]
push 0
push 0x10c108d4
push 0x10c0f794
push 0
push str.WinDrv.WindowsClient
call dword [edx + 0x28]
mov ecx, dword [0x10c946c0]
mov eax, dword [ecx]
push 0
push 0x10c108d4
push 0x10c0f77c
push 0
push str.WinDrv.WindowsClient
call dword [eax + 0x28]
mov ecx, dword [0x10c946c0]
mov edx, dword [ecx]
push 0
push 0x10c108d4
push 0x10c0f76c
push 0
push str.WinDrv.WindowsClient
call dword [edx + 0x28]
mov ecx, dword [0x10c946c0]
mov eax, dword [ecx]
push 0
push 0x10c108d4
push 0x10c0f754
push 0
push str.WinDrv.WindowsClient
call dword [eax + 0x28]
mov ecx, dword [0x10c946c0]
mov edx, dword [ecx]
push 0
push 0x10c108d4
push 0x10c0f738
push 0
push str.D3DDrv.D3DRenderDevice
call dword [edx + 0x28]
mov ecx, dword [0x10c946c0]
mov eax, dword [ecx]
push 0
push 0x10c108d4
push 0x10c0f720
push 0
push str.D3DDrv.D3DRenderDevice
call dword [eax + 0x28]
mov ecx, dword [0x10c946c0]
mov edx, dword [ecx]
push 0
push 0x10c108d4
push 0x10c0f6fc
push 0
push str.D3DDrv.D3DRenderDevice
call dword [edx + 0x28]
mov ecx, dword [0x10c946c0]
mov eax, dword [ecx]
push 0
push 0x10c108d4
push 0x10c0f6d0
push 0
push str.D3DDrv.D3DRenderDevice
call dword [eax + 0x28]
mov ecx, dword [0x10c946c0]
mov edx, dword [ecx]
push 0
push 0x10c108e8
push 0x10c0f6bc
push 0
push str.D3DDrv.D3DRenderDevice
call dword [edx + 0x28]
mov ecx, dword [0x10c946c0]
mov eax, dword [ecx]
push 0
push 0x10c108e8
push 0x10c0f698
push 0
push str.D3DDrv.D3DRenderDevice
call dword [eax + 0x28]
mov ecx, dword [0x10c946c0]
mov edx, dword [ecx]
push 0
push 0x10c108d4
push 0x10c0f9c8
push 0
push str.D3DDrv.D3DRenderDevice
call dword [edx + 0x28]
mov ecx, dword [0x10c946c0]
mov eax, dword [ecx]
push 0
push 0x10c108e8
push 0x10c0f67c
push 0
push str.WinDrv.WindowsClient
call dword [eax + 0x28]
jmp 0x1090c0f2
lea ecx, reloc.ole32.dll_CoCreateGuid
mov dword [esp + 0x20], ecx
mov ecx, 0x42c
mov edi, dword [esp + 0x20]
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
jmp 0x1090b6e9
cmp esi, 0x10
jg 0x1090bc00
mov edx, dword [ecx]
push 0x10c0f674
push str.FullScreenViewportX
push 0
push str.WinDrv.WindowsClient
call dword [edx + 0x28]
mov ecx, dword [0x10c946c0]
mov eax, dword [ecx]
push 0
push 0x10c0f66c
push str.FullScreenViewportY
push 0
push str.WinDrv.WindowsClient
call dword [eax + 0x28]
mov ecx, dword [0x10c946c0]
mov edx, dword [ecx]
push 0
push 0x10c0f8fc
push 0x10c0f8cc
push 0
push str.WinDrv.WindowsClient
call dword [edx + 0x28]
mov ecx, dword [0x10c946c0]
mov eax, dword [ecx]
push 0
push 0x10c0f828
push 0x10c0f890
push 0
push str.WinDrv.WindowsClient
call dword [eax + 0x28]
mov ecx, dword [0x10c946c0]
mov edx, dword [ecx]
push 0
push 0x10c0f828
push 0x10c0f860
push 0
push str.WinDrv.WindowsClient
call dword [edx + 0x28]
mov ecx, dword [0x10c946c0]
mov eax, dword [ecx]
push 0
push 0x10c0f828
push 0x10c0f830
push 0
push str.WinDrv.WindowsClient
call dword [eax + 0x28]
mov ecx, dword [0x10c946c0]
mov edx, dword [ecx]
push 0
push 0x10c0f8bc
push 0x10c0f800
push 0
push str.WinDrv.WindowsClient
call dword [edx + 0x28]
mov ecx, dword [0x10c946c0]
mov eax, dword [ecx]
push 0
push 0x10c0f828
push 0x10c0f7d0
push 0
push str.WinDrv.WindowsClient
call dword [eax + 0x28]
mov ecx, dword [0x10c946c0]
mov edx, dword [ecx]
push 0
push 0x10c0f828
push 0x10c0f7a4
push 0
push str.WinDrv.WindowsClient
call dword [edx + 0x28]
mov ecx, dword [0x10c946c0]
mov eax, dword [ecx]
push 0
push 0x10c108d4
push 0x10c0f794
push 0
push str.WinDrv.WindowsClient
call dword [eax + 0x28]
mov ecx, dword [0x10c946c0]
mov edx, dword [ecx]
push 0
push 0x10c108d4
push 0x10c0f77c
push 0
push str.WinDrv.WindowsClient
call dword [edx + 0x28]
mov ecx, dword [0x10c946c0]
mov eax, dword [ecx]
push 0
push 0x10c108d4
push 0x10c0f76c
push 0
push str.WinDrv.WindowsClient
call dword [eax + 0x28]
mov ecx, dword [0x10c946c0]
mov edx, dword [ecx]
push 0
push 0x10c108d4
push 0x10c0f754
push 0
push str.WinDrv.WindowsClient
call dword [edx + 0x28]
mov ecx, dword [0x10c946c0]
mov eax, dword [ecx]
push 0
push 0x10c108d4
push 0x10c0f738
push 0
push str.D3DDrv.D3DRenderDevice
call dword [eax + 0x28]
mov ecx, dword [0x10c946c0]
mov edx, dword [ecx]
push 0
push 0x10c108d4
push 0x10c0f720
push 0
push str.D3DDrv.D3DRenderDevice
call dword [edx + 0x28]
mov ecx, dword [0x10c946c0]
mov eax, dword [ecx]
push 0
push 0x10c108d4
push 0x10c0f6fc
push 0
push str.D3DDrv.D3DRenderDevice
call dword [eax + 0x28]
mov ecx, dword [0x10c946c0]
mov edx, dword [ecx]
push 0
push 0x10c108d4
push 0x10c0f6d0
push 0
push str.D3DDrv.D3DRenderDevice
call dword [edx + 0x28]
mov ecx, dword [0x10c946c0]
mov eax, dword [ecx]
push 0
push 0x10c108e8
push 0x10c0f6bc
push 0
push str.D3DDrv.D3DRenderDevice
call dword [eax + 0x28]
mov ecx, dword [0x10c946c0]
mov edx, dword [ecx]
push 0
push 0x10c108e8
push 0x10c0f698
push 0
push str.D3DDrv.D3DRenderDevice
call dword [edx + 0x28]
mov ecx, dword [0x10c946c0]
mov eax, dword [ecx]
push 0
push 0x10c108d4
push 0x10c0f9c8
push 0
push str.D3DDrv.D3DRenderDevice
call dword [eax + 0x28]
push 0
push 0x10c108e8
push 0x10c0f67c
jmp 0x1090c0e0
cmp esi, 0x20
jg 0x1090bd8c
mov eax, dword [ecx]
push 0x10c0f8fc
push 0x10c0f8cc
push 0
push str.WinDrv.WindowsClient
call dword [eax + 0x28]
mov ecx, dword [0x10c946c0]
mov edx, dword [ecx]
push 0
push 0x10c0f660
push 0x10c0f890
push 0
push str.WinDrv.WindowsClient
call dword [edx + 0x28]
mov ecx, dword [0x10c946c0]
mov eax, dword [ecx]
push 0
push 0x10c0f660
push 0x10c0f860
push 0
push str.WinDrv.WindowsClient
call dword [eax + 0x28]
mov ecx, dword [0x10c946c0]
mov edx, dword [ecx]
push 0
push 0x10c0f828
push 0x10c0f830
push 0
push str.WinDrv.WindowsClient
call dword [edx + 0x28]
mov ecx, dword [0x10c946c0]
mov eax, dword [ecx]
push 0
push 0x10c0f828
push 0x10c0f800
push 0
push str.WinDrv.WindowsClient
call dword [eax + 0x28]
mov ecx, dword [0x10c946c0]
mov edx, dword [ecx]
push 0
push 0x10c0f660
push 0x10c0f7d0
push 0
push str.WinDrv.WindowsClient
call dword [edx + 0x28]
mov ecx, dword [0x10c946c0]
mov eax, dword [ecx]
push 0
push 0x10c0f660
push 0x10c0f7a4
push 0
push str.WinDrv.WindowsClient
call dword [eax + 0x28]
mov ecx, dword [0x10c946c0]
mov edx, dword [ecx]
push 0
push 0x10c108d4
push 0x10c0f77c
push 0
push str.WinDrv.WindowsClient
call dword [edx + 0x28]
mov ecx, dword [0x10c946c0]
mov eax, dword [ecx]
push 0
push 0x10c108d4
push 0x10c0f738
push 0
push str.D3DDrv.D3DRenderDevice
call dword [eax + 0x28]
mov ecx, dword [0x10c946c0]
mov edx, dword [ecx]
push 0
push 0x10c108d4
push 0x10c0f6fc
push 0
push str.D3DDrv.D3DRenderDevice
call dword [edx + 0x28]
mov ecx, dword [0x10c946c0]
mov eax, dword [ecx]
push 0
push 0x10c108d4
push 0x10c0f6d0
push 0
push str.D3DDrv.D3DRenderDevice
call dword [eax + 0x28]
mov ecx, dword [0x10c946c0]
mov edx, dword [ecx]
push 0
push 0x10c108e8
push 0x10c0f6bc
push 0
push str.D3DDrv.D3DRenderDevice
call dword [edx + 0x28]
mov ecx, dword [0x10c946c0]
mov eax, dword [ecx]
push 0
push 0x10c108d4
push 0x10c0f9c8
push 0
push str.D3DDrv.D3DRenderDevice
call dword [eax + 0x28]
jmp 0x1090c0f2
cmp esi, 0x40
jg 0x1090be82
mov edx, dword [ecx]
push 0x10c0f8fc
push 0x10c0f8cc
push 0
push str.WinDrv.WindowsClient
call dword [edx + 0x28]
mov ecx, dword [0x10c946c0]
mov eax, dword [ecx]
push 0
push 0x10c0f8fc
push 0x10c0f890
push 0
push str.WinDrv.WindowsClient
call dword [eax + 0x28]
mov ecx, dword [0x10c946c0]
mov edx, dword [ecx]
push 0
push 0x10c0f8fc
push 0x10c0f860
push 0
push str.WinDrv.WindowsClient
call dword [edx + 0x28]
mov ecx, dword [0x10c946c0]
mov eax, dword [ecx]
push 0
push 0x10c0f660
push 0x10c0f830
push 0
push str.WinDrv.WindowsClient
call dword [eax + 0x28]
mov ecx, dword [0x10c946c0]
mov edx, dword [ecx]
push 0
push 0x10c0f8fc
push 0x10c0f800
push 0
push str.WinDrv.WindowsClient
call dword [edx + 0x28]
mov ecx, dword [0x10c946c0]
mov eax, dword [ecx]
push 0
push 0x10c0f660
push 0x10c0f7d0
push 0
push str.WinDrv.WindowsClient
call dword [eax + 0x28]
mov ecx, dword [0x10c946c0]
mov edx, dword [ecx]
push 0
push 0x10c0f8fc
push 0x10c0f7a4
push 0
push str.WinDrv.WindowsClient
call dword [edx + 0x28]
mov ecx, dword [0x10c946c0]
mov eax, dword [ecx]
push 0
push 0x10c108d4
push 0x10c0f6d0
push 0
push str.D3DDrv.D3DRenderDevice
call dword [eax + 0x28]
jmp 0x1090c0f2
cmp dword [esp + 0x44], 0x80
jg 0x1090bf4d
mov edx, dword [ecx]
push 0x10c0f8fc
push 0x10c0f8cc
push 0
push str.WinDrv.WindowsClient
call dword [edx + 0x28]
mov ecx, dword [0x10c946c0]
mov eax, dword [ecx]
push 0
push 0x10c0f8fc
push 0x10c0f890
push 0
push str.WinDrv.WindowsClient
call dword [eax + 0x28]
mov ecx, dword [0x10c946c0]
mov edx, dword [ecx]
push 0
push 0x10c0f8fc
push 0x10c0f860
push 0
push str.WinDrv.WindowsClient
call dword [edx + 0x28]
mov ecx, dword [0x10c946c0]
mov eax, dword [ecx]
push 0
push 0x10c0f8fc
push 0x10c0f800
push 0
push str.WinDrv.WindowsClient
call dword [eax + 0x28]
mov ecx, dword [0x10c946c0]
mov edx, dword [ecx]
push 0
push 0x10c0f8fc
push 0x10c0f7d0
push 0
push str.WinDrv.WindowsClient
call dword [edx + 0x28]
mov ecx, dword [0x10c946c0]
mov eax, dword [ecx]
push 0
push 0x10c0f8fc
push 0x10c0f7a4
push 0
push str.WinDrv.WindowsClient
call dword [eax + 0x28]
push 0
push 0x10c0f660
push 0x10c0f830
jmp 0x1090c0e0
cmp esi, 0x80
jg 0x1090c028
mov eax, dword [ecx]
push 0x10c0f650
push 0x10c0f8cc
push 0
push str.WinDrv.WindowsClient
call dword [eax + 0x28]
mov ecx, dword [0x10c946c0]
mov edx, dword [ecx]
push 0
push 0x10c0f650
push 0x10c0f890
push 0
push str.WinDrv.WindowsClient
call dword [edx + 0x28]
mov ecx, dword [0x10c946c0]
mov eax, dword [ecx]
push 0
push 0x10c0f650
push 0x10c0f860
push 0
push str.WinDrv.WindowsClient
call dword [eax + 0x28]
mov ecx, dword [0x10c946c0]
mov edx, dword [ecx]
push 0
push 0x10c0f650
push 0x10c0f830
push 0
push str.WinDrv.WindowsClient
call dword [edx + 0x28]
mov ecx, dword [0x10c946c0]
mov eax, dword [ecx]
push 0
push 0x10c0f650
push 0x10c0f800
push 0
push str.WinDrv.WindowsClient
call dword [eax + 0x28]
mov ecx, dword [0x10c946c0]
mov edx, dword [ecx]
push 0
push 0x10c0f650
push 0x10c0f7d0
push 0
push str.WinDrv.WindowsClient
call dword [edx + 0x28]
mov ecx, dword [0x10c946c0]
mov eax, dword [ecx]
push 0
push 0x10c0f650
push 0x10c0f7a4
push 0
push str.WinDrv.WindowsClient
call dword [eax + 0x28]
jmp 0x1090c0f2
mov edx, dword [ecx]
push 0x10c0f63c
push 0x10c0f8cc
push 0
push str.WinDrv.WindowsClient
call dword [edx + 0x28]
mov ecx, dword [0x10c946c0]
mov eax, dword [ecx]
push 0
push 0x10c0f63c
push 0x10c0f890
push 0
push str.WinDrv.WindowsClient
call dword [eax + 0x28]
mov ecx, dword [0x10c946c0]
mov edx, dword [ecx]
push 0
push 0x10c0f63c
push 0x10c0f860
push 0
push str.WinDrv.WindowsClient
call dword [edx + 0x28]
mov ecx, dword [0x10c946c0]
mov eax, dword [ecx]
push 0
push 0x10c0f63c
push 0x10c0f830
push 0
push str.WinDrv.WindowsClient
call dword [eax + 0x28]
mov ecx, dword [0x10c946c0]
mov edx, dword [ecx]
push 0
push 0x10c0f63c
push 0x10c0f800
push 0
push str.WinDrv.WindowsClient
call dword [edx + 0x28]
mov ecx, dword [0x10c946c0]
mov eax, dword [ecx]
push 0
push 0x10c0f63c
push 0x10c0f7d0
push 0
push str.WinDrv.WindowsClient
call dword [eax + 0x28]
push 0
push 0x10c0f63c
push 0x10c0f7a4
mov ecx, dword [0x10c946c0]
mov edx, dword [ecx]
push 0
push str.WinDrv.WindowsClient
call dword [edx + 0x28]
fld dword [esp + 0x28]
pop edi
fcomp dword [0x10c10b7c]
pop esi
pop ebp
pop ebx
fnstsw ax
test ah, 5
jp 0x1090c1e2
mov ecx, dword [0x10c946c0]
mov eax, dword [ecx]
push 0
push 0x10c108d4
push 0x10c0f76c
push 0
push str.WinDrv.WindowsClient
call dword [eax + 0x28]
mov ecx, dword [0x10c946c0]
mov edx, dword [ecx]
push 0
push 0x10c108d4
push 0x10c0f794
push 0
push str.WinDrv.WindowsClient
call dword [edx + 0x28]
mov ecx, dword [0x10c946c0]
mov eax, dword [ecx]
push 0
push 0x10c108d4
push 0x10c0f77c
push 0
push str.WinDrv.WindowsClient
call dword [eax + 0x28]
mov ecx, dword [0x10c946c0]
mov edx, dword [ecx]
push 0
push 0x10c108e8
push 0x10c0f67c
push 0
push str.WinDrv.WindowsClient
call dword [edx + 0x28]
mov ecx, dword [0x10c946c0]
mov eax, dword [ecx]
push 0
push str.PDL_Low
push 0x10c0f604
push 0
push str.Engine.LevelInfo
call dword [eax + 0x28]
mov ecx, dword [0x10c946c0]
mov edx, dword [ecx]
push 0
push 0x10c108d4
push 0x10c0f6fc
push 0
push str.D3DDrv.D3DRenderDevice
call dword [edx + 0x28]
mov ecx, dword [0x10c946c0]
mov eax, dword [ecx]
push 0
push 0x10c108d4
push 0x10c0f6d0
push 0
push str.D3DDrv.D3DRenderDevice
call dword [eax + 0x28]
jmp 0x1090c2df
fld dword [esp + 0x18]
fcomp dword [0x10c10b10]
fnstsw ax
test ah, 5
jp 0x1090c2a8
mov eax, dword [esp + 0x14]
test eax, eax
mov ecx, dword [0x10c946c0]
push 0
jne 0x1090c290
mov edx, dword [ecx]
push 0x10c108d4
push 0x10c0f76c
push 0
push str.WinDrv.WindowsClient
call dword [edx + 0x28]
mov ecx, dword [0x10c946c0]
mov eax, dword [ecx]
push 0
push 0x10c108e8
push 0x10c0f67c
push 0
push str.WinDrv.WindowsClient
call dword [eax + 0x28]
mov ecx, dword [0x10c946c0]
mov edx, dword [ecx]
push 0
push str.PDL_Low
push 0x10c0f604
push 0
push str.Engine.LevelInfo
call dword [edx + 0x28]
mov ecx, dword [0x10c946c0]
mov eax, dword [ecx]
push 0
push 0x10c108d4
push 0x10c0f6fc
push 0
push str.D3DDrv.D3DRenderDevice
call dword [eax + 0x28]
push 0
push 0x10c108d4
push 0x10c0f6d0
push 0
push str.D3DDrv.D3DRenderDevice
jmp 0x1090c2d4
mov eax, dword [ecx]
push 0x10c0f5c8
push 0x10c0f604
push 0
push str.Engine.LevelInfo
call dword [eax + 0x28]
jmp 0x1090c2df
fld dword [esp + 0x18]
fcomp dword [0x10c10b78]
fnstsw ax
test ah, 5
jp 0x1090c2df
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x1090c2df
push 0
push 0x10c0f5c8
push 0x10c0f604
push 0
push str.Engine.LevelInfo
mov ecx, dword [0x10c946c0]
mov edx, dword [ecx]
call dword [edx + 0x28]
mov eax, dword [esp + reloc.ole32.dll_CoCreateGuid]
cmp eax, 0x1002
je 0x1090c480
cmp eax, 0x121a
jne 0x1090c345
mov ecx, dword [0x10c946c0]
mov eax, dword [ecx]
push 0
push 0x10c0f5c0
push str.FullScreenViewportX
push 0
push str.WinDrv.WindowsClient
call dword [eax + 0x28]
mov ecx, dword [0x10c946c0]
mov edx, dword [ecx]
push 0
push 0x10c0f5b8
push str.FullScreenViewportY
push 0
push str.WinDrv.WindowsClient
call dword [edx + 0x28]
push 0
push 0x10c108d4
push 0x10c0f754
jmp 0x1090c46e
cmp eax, 0x8086
je 0x1090c480
cmp eax, 0x10de
jne 0x1090c480
mov eax, dword [esp + reloc.ole32.dll_CoCreateGuid]
cmp eax, 0x20
jne 0x1090c38c
mov ecx, dword [0x10c946c0]
mov edx, dword [ecx]
push 0
push 0x10c108d4
push 0x10c0f77c
push 0
push str.WinDrv.WindowsClient
call dword [edx + 0x28]
mov eax, dword [esp + reloc.ole32.dll_CoCreateGuid]
cmp eax, 0x28
jb 0x1090c3bb
cmp eax, 0x2f
ja 0x1090c3bb
mov ecx, dword [0x10c946c0]
mov eax, dword [ecx]
push 0
push 0x10c108d4
push 0x10c0f77c
push 0
push str.WinDrv.WindowsClient
call dword [eax + 0x28]
mov eax, dword [esp + reloc.ole32.dll_CoCreateGuid]
cmp eax, 0x100
jb 0x1090c3ee
cmp eax, 0x103
ja 0x1090c3ee
mov ecx, dword [0x10c946c0]
mov edx, dword [ecx]
push 0
push 0x10c108d4
push 0x10c0f77c
push 0
push str.WinDrv.WindowsClient
call dword [edx + 0x28]
mov eax, dword [esp + reloc.ole32.dll_CoCreateGuid]
cmp eax, 0x110
jb 0x1090c421
cmp eax, 0x113
ja 0x1090c421
mov ecx, dword [0x10c946c0]
mov eax, dword [ecx]
push 0
push 0x10c108d4
push 0x10c0f77c
push 0
push str.WinDrv.WindowsClient
call dword [eax + 0x28]
mov eax, dword [esp + reloc.ole32.dll_CoCreateGuid]
cmp eax, 0x150
jb 0x1090c454
cmp eax, 0x153
ja 0x1090c454
mov ecx, dword [0x10c946c0]
mov edx, dword [ecx]
push 0
push 0x10c108d4
push 0x10c0f77c
push 0
push str.WinDrv.WindowsClient
call dword [edx + 0x28]
mov eax, dword [esp + reloc.ole32.dll_CoCreateGuid]
cmp eax, 0x170
jb 0x1090c480
cmp eax, 0x179
ja 0x1090c480
push 0
push 0x10c108d4
push 0x10c0f77c
mov ecx, dword [0x10c946c0]
mov eax, dword [ecx]
push 0
push str.WinDrv.WindowsClient
call dword [eax + 0x28]
mov eax, dword [esp + 0x30]
cmp eax, 0x40
jl 0x1090c490
cmp eax, 0x80
jge 0x1090c4cc
mov ecx, dword [0x10c946c0]
mov edx, dword [ecx]
push 0
push 0x10c108e8
push 0x10c0f598
push 0
push str.UNIAudio.UNIAudioSubsystem
call dword [edx + 0x28]
mov ecx, dword [0x10c946c0]
mov eax, dword [ecx]
push 0
push 0x10c108e8
push str.bLowSoundDetail
push 0
push str.Engine.LevelInfo
call dword [eax + 0x28]
add esp, 0x554
ret