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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x640
push ebx
push ebp
push esi
push edi
xor edi, edi
cmp dword [0x7cf8f8], edi
je 0x4f05f1
cmp dword [0x7cf900], edi
je 0x4eedec
push 0x6a887c
call fcn.004e16a0
mov eax, dword [0x7cf900]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
add esp, 4
push eax
call edx
mov dword [0x7cf900], edi
mov dword [0x81688c], edi
call fcn.004ead10
cmp eax, 0xc8
jge 0x4eee04
mov dword [0x7c6e64], edi
mov dword [0x7c6e68], edi
push 0x38
lea eax, [esp + 0x44]
push edi
push eax
call fcn.004dc0b0
mov ecx, dword [0x71df64]
mov edx, dword [0x71df68]
add esp, 0xc
mov dword [esp + 0x40], ecx
mov dword [esp + 0x44], edx
call fcn.004dc6a0
mov ebp, 1
cmp eax, ebp
jne 0x4eeeab
mov eax, dword [0x7cf8f8]
mov ecx, dword [eax]
lea edx, [esp + 0xc0]
push edx
push edi
push eax
mov eax, dword [ecx + 0x20]
call eax
mov eax, dword [esp + 0xcc]
xor ecx, ecx
cmp dword [0x7c6e64], edi
mov dword [esp + 0x48], eax
sete cl
cmp eax, 0x16
mov dword [esp + 0x4c], ebp
mov dword [esp + 0x60], ebp
lea ecx, [ecx + ecx + 1]
mov dword [esp + 0x58], ecx
je 0x4eee8a
jle 0x4eee94
cmp eax, 0x19
jg 0x4eee94
mov dword [0x71df6c], 0x10
jmp 0x4eee94
mov dword [0x71df6c], 0x20
xor edx, edx
cmp dword [0x7c6e58], 2
setne dl
push edx
call fcn.004dc830
jmp 0x4ef036
cmp dword [0x714498], 0x108
jl 0x4eef77
cmp dword [0x71df74], edi
jne 0x4eeed7
cmp dword [0x8e8134], edi
jne 0x4eeed7
cmp dword [0x7c6e70], edi
je 0x4eef77
mov eax, dword [0x7cf8f8]
mov ecx, dword [eax]
lea edx, [esp + 0xc0]
push edx
push edi
push eax
mov eax, dword [ecx + 0x20]
call eax
mov eax, dword [0x71df6c]
mov ecx, dword [esp + 0xcc]
xor edx, edx
cmp dword [0x7c6e64], edi
mov dword [esp + 0x48], ecx
sete dl
cmp eax, 0x10
mov dword [esp + 0x4c], ebp
mov dword [esp + 0x60], ebp
lea edx, [edx + edx + 1]
mov dword [esp + 0x58], edx
je 0x4eef47
cmp eax, 0x20
je 0x4eef3a
push 0x6a8848
call fcn.004e16a0
add esp, 4
or eax, 0xffffffff
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [esp + 0x48], 0x16
jmp 0x4ef039
mov edx, dword [0x7c6e40]
mov eax, dword [0x7cf8f8]
mov ecx, dword [eax]
neg edx
sbb edx, edx
and edx, dword [0x7c6e44]
push 0x17
push edx
push eax
mov eax, dword [ecx + 0x18]
call eax
neg eax
sbb eax, eax
add eax, 0x18
mov dword [esp + 0x48], eax
jmp 0x4ef039
mov eax, dword [0x71df6c]
cmp eax, 0x10
je 0x4eef8d
cmp eax, 0x20
jne 0x4eef22
mov eax, 0x16
jmp 0x4eefb4
mov edx, dword [0x7c6e40]
mov eax, dword [0x7cf8f8]
mov ecx, dword [eax]
neg edx
sbb edx, edx
and edx, dword [0x7c6e44]
push 0x17
push edx
push eax
mov eax, dword [ecx + 0x18]
call eax
neg eax
sbb eax, eax
add eax, 0x18
mov ecx, dword [0x71df70]
xor edx, edx
cmp dword [0x7c6e64], edi
mov dword [esp + 0x48], eax
sete dl
cmp dword [0x7c6e58], ebp
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x4c], ebp
mov dword [esp + 0x60], edi
mov dword [esp + 0x70], ecx
lea edx, [edx + edx + 1]
mov dword [esp + 0x58], edx
mov edx, dword [esp + 0x44]
mov dword [esp + 0x88], 0x18
mov dword [esp + 0x8c], eax
mov dword [esp + 0x90], edx
mov dword [esp + 0x94], ecx
mov dword [esp + 0x9c], ebp
je 0x4ef024
push edi
call fcn.004dc830
add esp, 4
cmp dword [0x708fe0], edi
je 0x4ef039
push str.Desktop_Window_Manager
call fcn.004e16a0
add esp, 4
mov eax, dword [0x7c6e64]
mov ecx, dword [0x7c6e68]
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], ecx
call fcn.004dc690
mov edx, dword [0x8e812c]
neg edx
sbb edx, edx
and edx, 0x7fffffff
xor ecx, ecx
mov dword [esp + 0x5c], eax
mov eax, dword [0x7c6e64]
add edx, ebp
cmp eax, edi
sete cl
cmp eax, edi
mov dword [esp + 0x74], edx
mov dword [esp + 0x64], edi
mov dword [esp + 0x6c], ecx
je 0x4ef0bc
mov edx, dword [0x7c6e68]
mov ebx, dword [esp + 0x48]
mov dword [esp + 0x50], eax
lea eax, [esp + 0x54]
push eax
lea esi, [esp + 0x54]
mov dword [esp + 0x58], edx
call fcn.004e8e50
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x58]
add esp, 4
mov dword [0x7c6e64], ecx
mov dword [0x7c6e68], edx
jmp 0x4ef0c6
mov dword [0x7c6e68], edi
mov dword [esp + 0x54], edi
cmp dword [0x7c6e48], ebp
jne 0x4ef0df
cmp dword [0x7cf8fc], edi
jne 0x4ef1ca
jmp 0x4ef2f7
mov eax, dword [0x7cf8f8]
mov ecx, dword [eax]
lea edx, [esp + 0xd0]
push edx
mov edx, dword [0x7c6e40]
neg edx
sbb edx, edx
and edx, dword [0x7c6e44]
push ebp
push edx
push eax
mov eax, dword [ecx + 0x38]
call eax
movzx ecx, word [esp + 0x194]
cmp ecx, 0x200
jb 0x4ef12c
movzx edx, word [esp + 0x19c]
cmp edx, 0x200
mov dword [0x7c6e4c], ebp
jae 0x4ef132
mov dword [0x7c6e4c], edi
cmp dword [0x7cf8fc], edi
je 0x4ef284
push str.IDirect3DDevice9Ex
call fcn.004e16a0
mov ecx, dword [esp + 0x64]
mov eax, dword [0x7cf8fc]
mov esi, dword [eax]
add esp, 4
neg ecx
sbb ecx, ecx
not ecx
lea edx, [esp + 0x88]
and ecx, edx
mov edx, dword [0x7c6e3c]
push 0x7cf904
push ecx
mov ecx, dword [0x7c6e4c]
neg ecx
sbb ecx, ecx
and ecx, 0x60
add ecx, 0x20
neg edx
sbb edx, edx
lea eax, [esp + 0x48]
push eax
mov eax, dword [0x709160]
and edx, 4
or ecx, edx
neg eax
sbb eax, eax
and eax, 2
or ecx, eax
push ecx
call fcn.004dc690
mov ecx, dword [0x7c6e40]
mov edx, dword [0x7cf8fc]
neg ecx
push eax
mov eax, dword [esi + 0x50]
sbb ecx, ecx
and ecx, dword [0x7c6e44]
push ebp
push ecx
push edx
call eax
test eax, eax
jge 0x4ef25c
mov edx, dword [esp + 0x60]
mov ecx, dword [0x7cf8fc]
neg edx
sbb edx, edx
not edx
lea eax, [esp + 0x88]
and edx, eax
mov eax, dword [0x709160]
push 0x7cf904
push edx
mov edx, dword [0x7c6e3c]
neg edx
sbb edx, edx
and edx, 4
neg eax
sbb eax, eax
mov dword [0x7c6e4c], edi
mov esi, dword [ecx]
and eax, 2
lea ecx, [esp + 0x48]
or edx, eax
push ecx
or edx, 0x20
push edx
call fcn.004dc690
mov ecx, dword [0x7c6e40]
mov edx, dword [0x7cf8fc]
neg ecx
push eax
mov eax, dword [esi + 0x50]
sbb ecx, ecx
and ecx, dword [0x7c6e44]
push ebp
push ecx
push edx
call eax
test eax, eax
jge 0x4ef255
push str.Direct3DDevice9Ex
call fcn.004e16a0
add esp, 4
or eax, 0xffffffff
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
push 0x6a879c
jmp 0x4ef261
push 0x6a8778
call fcn.004e16a0
mov eax, dword [0x7cf904]
add esp, 4
mov dword [0x7cf900], eax
mov ecx, dword [eax]
mov edx, dword [ecx + 0x1f8]
push ebp
push eax
call edx
jmp 0x4ef382
push str.IDirect3DDevice9
call fcn.004e16a0
mov edx, dword [0x7c6e4c]
mov eax, dword [0x7cf8f8]
mov esi, dword [eax]
mov eax, dword [0x7c6e3c]
add esp, 4
neg edx
sbb edx, edx
and edx, 0x60
add edx, 0x20
neg eax
sbb eax, eax
push 0x7cf900
lea ecx, [esp + 0x44]
push ecx
mov ecx, dword [0x709160]
and eax, 4
or edx, eax
neg ecx
sbb ecx, ecx
and ecx, 2
or edx, ecx
push edx
call fcn.004dc690
mov edx, dword [0x7c6e40]
mov ecx, dword [esi + 0x40]
neg edx
push eax
mov eax, dword [0x7cf8f8]
sbb edx, edx
and edx, dword [0x7c6e44]
push ebp
push edx
push eax
call ecx
test eax, eax
jge 0x4ef375
mov ecx, dword [0x7c6e3c]
mov edx, dword [0x7cf8f8]
neg ecx
sbb ecx, ecx
mov dword [0x7c6e4c], edi
mov esi, dword [edx]
mov edx, dword [0x709160]
and ecx, 4
neg edx
sbb edx, edx
and edx, 2
push 0x7cf900
lea eax, [esp + 0x44]
or ecx, edx
push eax
or ecx, 0x20
push ecx
call fcn.004dc690
mov ecx, dword [0x7cf8f8]
mov edx, dword [esi + 0x40]
push eax
mov eax, dword [0x7c6e40]
neg eax
sbb eax, eax
and eax, dword [0x7c6e44]
push ebp
push eax
push ecx
call edx
test eax, eax
jge 0x4ef36e
push 0x6a8720
call fcn.004e16a0
add esp, 4
or eax, 0xffffffff
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
push 0x6a879c
jmp 0x4ef37a
push 0x6a8778
call fcn.004e16a0
add esp, 4
call fcn.004e8ba0
mov eax, dword [0x7cf900]
push ebp
mov dword [0x8168d4], edi
mov dword [0x8168dc], edi
mov dword [0x8168d8], edi
mov dword [0x8168e0], edi
mov dword [0x8168e8], edi
mov dword [0x8168e4], edi
mov ecx, dword [eax]
mov edx, dword [ecx + 0xe4]
push 7
push eax
call edx
fld1
mov edx, dword [0x709f90]
mov eax, dword [0x7cf900]
mov ecx, dword [eax]
shl edx, 8
or edx, dword [0x709f94]
push edi
push ecx
fstp dword [esp]
shl edx, 8
or edx, dword [0x709f98]
push edx
push ebp
push edi
push edi
push eax
mov eax, dword [ecx + 0xac]
call eax
mov ecx, dword [0x7cf900]
mov esi, dword [ecx]
push edi
add esi, 0x44
call fcn.004dc690
mov edx, dword [0x7cf900]
push eax
mov eax, dword [esi]
push edi
push edi
push edx
call eax
fld1
mov edx, dword [0x709f90]
mov eax, dword [0x7cf900]
mov ecx, dword [eax]
shl edx, 8
or edx, dword [0x709f94]
push edi
push ecx
fstp dword [esp]
shl edx, 8
or edx, dword [0x709f98]
push edx
push ebp
push edi
push edi
push eax
mov eax, dword [ecx + 0xac]
call eax
mov ecx, dword [0x7cf900]
mov esi, dword [ecx]
push edi
add esi, 0x44
call fcn.004dc690
mov edx, dword [0x7cf900]
push eax
mov eax, dword [esi]
push edi
push edi
push edx
call eax
fld1
mov eax, dword [0x7cf900]
mov ecx, dword [eax]
mov edx, dword [0x709f90]
push edi
push ecx
fstp dword [esp]
shl edx, 8
or edx, dword [0x709f94]
shl edx, 8
or edx, dword [0x709f98]
push edx
push ebp
push edi
push edi
push eax
mov eax, dword [ecx + 0xac]
call eax
mov ecx, dword [0x7cf900]
mov esi, dword [ecx]
push edi
add esi, 0x44
call fcn.004dc690
mov edx, dword [0x7cf900]
push eax
mov eax, dword [esi]
push edi
push edi
push edx
call eax
fld1
mov edx, dword [0x709f90]
mov eax, dword [0x7cf900]
mov ecx, dword [eax]
shl edx, 8
or edx, dword [0x709f94]
push edi
push ecx
fstp dword [esp]
shl edx, 8
or edx, dword [0x709f98]
push edx
push ebp
push edi
push edi
push eax
mov eax, dword [ecx + 0xac]
call eax
mov eax, dword [0x7cf900]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x48]
push 0x7cf910
push edi
push edi
push edi
push eax
call edx
mov eax, dword [0x7cf900]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x38]
push 0x7cf908
push edi
push eax
call edx
nop
mov eax, dword [0x7cf908]
mov ecx, dword [eax]
lea edx, [esp + 0x30]
push edx
push eax
mov eax, dword [ecx + 0x18]
call eax
cmp dword [esp + 0x30], ebp
jne 0x4ef510
jmp 0x4ef530
mov eax, dword [0x7cf908]
mov ecx, dword [eax]
lea edx, [esp + 0x30]
push edx
push eax
mov eax, dword [ecx + 0x18]
call eax
cmp dword [esp + 0x30], edi
jne 0x4ef530
call dword [0x7090b0]
mov esi, eax
mov eax, dword [0x7cf908]
mov ecx, dword [eax]
lea edx, [esp + 0x30]
push edx
push eax
mov eax, dword [ecx + 0x18]
call eax
cmp dword [esp + 0x30], ebp
jne 0x4ef550
jmp 0x4ef570
mov eax, dword [0x7cf908]
mov ecx, dword [eax]
lea edx, [esp + 0x30]
push edx
push eax
mov eax, dword [ecx + 0x18]
call eax
cmp dword [esp + 0x30], edi
jne 0x4ef570
call dword [0x7090b0]
sub eax, esi
push 0x6a7520
mov dword [0x7cf8ec], eax
call fcn.004e16a0
mov eax, dword [0x7cf900]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x1c]
add esp, 4
push 0x7cf934
push eax
call edx
mov eax, dword [0x7cf954]
mov ecx, eax
shr ecx, 0xa
and ecx, ebp
mov dword [0x7cf90c], ecx
mov ecx, dword [0x7c6e4c]
cmp ecx, edi
je 0x4ef5e5
movzx edx, word [0x7cf9f8]
cmp edx, 0x200
mov dword [0x7c6e50], ebp
jae 0x4ef5eb
mov dword [0x7c6e50], edi
cmp ecx, edi
je 0x4ef604
movzx ecx, word [0x7cfa00]
cmp ecx, 0x200
mov dword [0x7c6e54], ebp
jae 0x4ef60a
mov dword [0x7c6e54], edi
shr eax, 0xb
and eax, ebp
mov dword [0x7cfa70], eax
mov eax, dword [0x7cf970]
mov edx, eax
shr eax, 8
and eax, ebp
shr edx, 1
mov dword [0x7cfa68], eax
mov eax, dword [0x7cf98c]
and edx, ebp
cmp eax, edi
mov dword [0x7cfa64], edx
jne 0x4ef642
mov eax, 0x100
mov dword [0x7cf98c], eax
mov ecx, dword [0x7cf990]
cmp ecx, edi
jne 0x4ef657
mov ecx, 0x100
mov dword [0x7cf990], ecx
cmp eax, ecx
mov dword [0x7cfa6c], eax
jb 0x4ef666
mov dword [0x7cfa6c], ecx
lea edx, [esp + 0x200]
push edx
mov eax, 0xff
mov dword [0x816878], eax
mov dword [0x81687c], eax
mov eax, dword [0x7cf8f8]
mov ecx, dword [eax]
push edi
push edi
push eax
mov eax, dword [ecx + 0x14]
call eax
lea ecx, [esp + 0x400]
push ecx
lea edx, [esp + 0x204]
push edx
push str.Driver:_s__Description:_s
call fcn.004e3210
mov eax, dword [0x7cf910]
mov ecx, dword [eax]
add esp, 0xc
lea edx, [esp + 0xa0]
push edx
push eax
mov eax, dword [ecx + 0x30]
call eax
mov ecx, dword [esp + 0xa0]
mov eax, ecx
sub eax, 0x16
mov dword [0x7cf880], ecx
je 0x4ef6fc
sub eax, ebp
je 0x4ef6f5
sub eax, ebp
je 0x4ef6ee
push ecx
push 0x6a86d0
call fcn.004e3210
mov eax, dword [esp + 0x34]
add esp, 8
jmp 0x4ef701
mov eax, str.D3DFMT_X1R5G5B5
jmp 0x4ef701
mov eax, str.D3DFMT_R5G6B5
jmp 0x4ef701
mov eax, str.D3DFMT_X8R8G8B8
push eax
push 0x6a8680
call fcn.004e3210
mov ecx, dword [0x7cf880]
mov eax, dword [0x7cf8f8]
mov edx, dword [eax]
mov edx, dword [edx + 0x30]
add esp, 8
push 0x50
push ecx
push ecx
mov ecx, dword [0x7c6e40]
neg ecx
sbb ecx, ecx
and ecx, dword [0x7c6e44]
push ebp
push ecx
push eax
call edx
test eax, eax
jne 0x4ef750
mov dword [0x7cf8cc], 0x50
mov eax, str.D3DFMT_D16
jmp 0x4ef7ce
mov ecx, dword [0x7cf880]
mov eax, dword [0x7cf8f8]
mov edx, dword [eax]
mov edx, dword [edx + 0x30]
push 0x4d
push ecx
push ecx
mov ecx, dword [0x7c6e40]
neg ecx
sbb ecx, ecx
and ecx, dword [0x7c6e44]
push ebp
push ecx
push eax
call edx
test eax, eax
jne 0x4ef78e
mov dword [0x7cf8cc], 0x4d
mov eax, str.D3DFMT_D24X8
jmp 0x4ef7ce
mov ecx, dword [0x7cf880]
mov eax, dword [0x7cf8f8]
mov edx, dword [eax]
mov edx, dword [edx + 0x30]
push 0x47
push ecx
push ecx
mov ecx, dword [0x7c6e40]
neg ecx
sbb ecx, ecx
and ecx, dword [0x7c6e44]
push ebp
push ecx
push eax
call edx
test eax, eax
jne 0x4f05e4
mov dword [0x7cf8cc], 0x47
mov eax, str.D3DFMT_D32
push eax
push 0x6a8634
call fcn.004e3210
mov edx, dword [0x7cf880]
mov eax, dword [0x7cf8f8]
mov ecx, dword [eax]
add esp, 8
push 0x17
push 3
push edi
push edx
mov edx, dword [0x7c6e40]
neg edx
sbb edx, edx
and edx, dword [0x7c6e44]
push ebp
push edx
push eax
mov eax, dword [ecx + 0x28]
call eax
test eax, eax
jne 0x4ef81c
mov dword [0x7cf884], 0x17
mov esi, str.D_D3DFMT_R5G6B5
jmp 0x4ef85e
mov edx, dword [0x7cf880]
mov eax, dword [0x7cf8f8]
mov ecx, dword [eax]
push 0x18
push 3
push edi
push edx
mov edx, dword [0x7c6e40]
neg edx
sbb edx, edx
and edx, dword [0x7c6e44]
push ebp
push edx
push eax
mov eax, dword [ecx + 0x28]
call eax
test eax, eax
jne 0x4f05cc
mov dword [0x7cf884], 0x18
mov esi, str.D_D3DFMT_X1R5G5B5
push esi
push str.16bit
call fcn.004e3210
mov edx, dword [0x7cf880]
mov eax, dword [0x7cf8f8]
mov ecx, dword [eax]
add esp, 8
push 0x16
push 3
push edi
push edx
mov edx, dword [0x7c6e40]
neg edx
sbb edx, edx
and edx, dword [0x7c6e44]
push ebp
push edx
push eax
mov eax, dword [ecx + 0x28]
call eax
test eax, eax
jne 0x4ef8ac
mov dword [0x7cf888], 0x16
mov esi, str.D_D3DFMT_X8R8G8B8
jmp 0x4ef8b8
mov ecx, dword [0x7cf884]
mov dword [0x7cf888], ecx
push esi
push str.32bit
call fcn.004e3210
mov ecx, dword [0x7cf880]
mov eax, dword [0x7cf8f8]
mov edx, dword [eax]
mov edx, dword [edx + 0x28]
add esp, 8
mov ebx, 0x1a
push ebx
push 3
push edi
push ecx
mov ecx, dword [0x7c6e40]
neg ecx
sbb ecx, ecx
and ecx, dword [0x7c6e44]
push ebp
push ecx
push eax
call edx
test eax, eax
lea esi, [ebx - 5]
jne 0x4ef909
mov dword [0x7cf88c], ebx
mov eax, str.D_D3DFMT_A4R4G4B4
jmp 0x4ef946
mov edx, dword [0x7cf880]
mov eax, dword [0x7cf8f8]
mov ecx, dword [eax]
push esi
push 3
push edi
push edx
mov edx, dword [0x7c6e40]
neg edx
sbb edx, edx
and edx, dword [0x7c6e44]
push ebp
push edx
push eax
mov eax, dword [ecx + 0x28]
call eax
test eax, eax
jne 0x4f05b4
mov dword [0x7cf88c], esi
mov eax, str.D_D3DFMT_A8R8G8B8
push eax
push 0x6a855c
call fcn.004e3210
mov edx, dword [0x7cf880]
mov eax, dword [0x7cf8f8]
mov ecx, dword [eax]
add esp, 8
push esi
push 3
push edi
push edx
mov edx, dword [0x7c6e40]
neg edx
sbb edx, edx
and edx, dword [0x7c6e44]
push ebp
push edx
push eax
mov eax, dword [ecx + 0x28]
call eax
test eax, eax
jne 0x4ef98f
mov dword [0x7cf890], esi
mov eax, str.D_D3DFMT_A8R8G8B8
jmp 0x4ef9cc
mov edx, dword [0x7cf880]
mov eax, dword [0x7cf8f8]
mov ecx, dword [eax]
push ebx
push 3
push edi
push edx
mov edx, dword [0x7c6e40]
neg edx
sbb edx, edx
and edx, dword [0x7c6e44]
push ebp
push edx
push eax
mov eax, dword [ecx + 0x28]
call eax
test eax, eax
jne 0x4f059c
mov dword [0x7cf890], ebx
mov eax, str.D_D3DFMT_A4R4G4B4
push eax
push 0x6a852c
call fcn.004e3210
mov edx, dword [0x7cf880]
mov eax, dword [0x7cf8f8]
mov ecx, dword [eax]
add esp, 8
push 0x19
push 3
push edi
push edx
mov edx, dword [0x7c6e40]
neg edx
sbb edx, edx
and edx, dword [0x7c6e44]
push ebp
push edx
push eax
mov eax, dword [ecx + 0x28]
call eax
test eax, eax
jne 0x4efa1a
mov dword [0x7cf894], 0x19
mov eax, str.D_D3DFMT_A1R5G5B5
jmp 0x4efa92
mov edx, dword [0x7cf880]
mov eax, dword [0x7cf8f8]
mov ecx, dword [eax]
push esi
push 3
push edi
push edx
mov edx, dword [0x7c6e40]
neg edx
sbb edx, edx
and edx, dword [0x7c6e44]
push ebp
push edx
push eax
mov eax, dword [ecx + 0x28]
call eax
test eax, eax
jne 0x4efa55
mov dword [0x7cf894], esi
mov eax, str.D_D3DFMT_A8R8G8B8
jmp 0x4efa92
mov edx, dword [0x7cf880]
mov eax, dword [0x7cf8f8]
mov ecx, dword [eax]
push ebx
push 3
push edi
push edx
mov edx, dword [0x7c6e40]
neg edx
sbb edx, edx
and edx, dword [0x7c6e44]
push ebp
push edx
push eax
mov eax, dword [ecx + 0x28]
call eax
test eax, eax
jne 0x4f0584
mov dword [0x7cf894], ebx
mov eax, str.D_D3DFMT_A4R4G4B4
push eax
push 0x6a84e4
call fcn.004e3210
mov edx, dword [0x7cf880]
mov eax, dword [0x7cf8f8]
mov ecx, dword [eax]
add esp, 8
push esi
push 3
push edi
push edx
mov edx, dword [0x7c6e40]
neg edx
sbb edx, edx
and edx, dword [0x7c6e44]
push ebp
push edx
push eax
mov eax, dword [ecx + 0x28]
call eax
test eax, eax
jne 0x4efade
mov dword [0x7cf898], esi
mov eax, str.D_D3DFMT_A8R8G8B8
jmp 0x4efb5b
mov edx, dword [0x7cf880]
mov eax, dword [0x7cf8f8]
mov ecx, dword [eax]
push 0x19
push 3
push edi
push edx
mov edx, dword [0x7c6e40]
neg edx
sbb edx, edx
and edx, dword [0x7c6e44]
push ebp
push edx
push eax
mov eax, dword [ecx + 0x28]
call eax
test eax, eax
jne 0x4efb1e
mov dword [0x7cf898], 0x19
mov eax, str.D_D3DFMT_A1R5G5B5
jmp 0x4efb5b
mov edx, dword [0x7cf880]
mov eax, dword [0x7cf8f8]
mov ecx, dword [eax]
push ebx
push 3
push edi
push edx
mov edx, dword [0x7c6e40]
neg edx
sbb edx, edx
and edx, dword [0x7c6e44]
push ebp
push edx
push eax
mov eax, dword [ecx + 0x28]
call eax
test eax, eax
jne 0x4f056c
mov dword [0x7cf898], ebx
mov eax, str.D_D3DFMT_A4R4G4B4
push eax
push 0x6a84b0
call fcn.004e3210
mov edx, dword [0x7cf880]
mov eax, dword [0x7cf8f8]
mov ecx, dword [eax]
add esp, 8
push 0x31545844
push 3
push edi
push edx
mov edx, dword [0x7c6e40]
neg edx
sbb edx, edx
and edx, dword [0x7c6e44]
push ebp
push edx
push eax
mov eax, dword [ecx + 0x28]
call eax
test eax, eax
jne 0x4efbac
mov dword [0x7cf89c], 0x31545844
mov eax, str._D_D3DFMT_DXT1
jmp 0x4efbbd
mov ecx, dword [0x7cf894]
mov dword [0x7cf89c], ecx
mov eax, 0x6a8490
push eax
push 0x6a846c
call fcn.004e3210
mov ecx, dword [0x7cf880]
mov eax, dword [0x7cf8f8]
mov edx, dword [eax]
mov edx, dword [edx + 0x28]
add esp, 8
push 0x32545844
push 3
push edi
push ecx
mov ecx, dword [0x7c6e40]
neg ecx
sbb ecx, ecx
and ecx, dword [0x7c6e44]
push ebp
push ecx
push eax
call edx
test eax, eax
jne 0x4efc0e
mov dword [0x7cf8a0], 0x32545844
mov eax, str._D_D3DFMT_DXT2
jmp 0x4efc1d
mov eax, dword [0x7cf890]
mov dword [0x7cf8a0], eax
mov eax, 0x6a8490
push eax
push 0x6a8434
call fcn.004e3210
mov edx, dword [0x7cf880]
mov eax, dword [0x7cf8f8]
mov ecx, dword [eax]
add esp, 8
push 0x33545844
push 3
push edi
push edx
mov edx, dword [0x7c6e40]
neg edx
sbb edx, edx
and edx, dword [0x7c6e44]
push ebp
push edx
push eax
mov eax, dword [ecx + 0x28]
call eax
test eax, eax
jne 0x4efc6e
mov dword [0x7cf8a4], 0x33545844
mov eax, str._D_D3DFMT_DXT3
jmp 0x4efc7f
mov ecx, dword [0x7cf890]
mov dword [0x7cf8a4], ecx
mov eax, 0x6a8490
push eax
push 0x6a83fc
call fcn.004e3210
mov ecx, dword [0x7cf880]
mov eax, dword [0x7cf8f8]
mov edx, dword [eax]
mov edx, dword [edx + 0x28]
add esp, 8
push 0x34545844
push 3
push edi
push ecx
mov ecx, dword [0x7c6e40]
neg ecx
sbb ecx, ecx
and ecx, dword [0x7c6e44]
push ebp
push ecx
push eax
call edx
test eax, eax
jne 0x4efcd0
mov dword [0x7cf8a8], 0x34545844
mov eax, str._D_D3DFMT_DXT4
jmp 0x4efcdf
mov eax, dword [0x7cf890]
mov dword [0x7cf8a8], eax
mov eax, 0x6a8490
push eax
push 0x6a83c4
call fcn.004e3210
mov edx, dword [0x7cf880]
mov eax, dword [0x7cf8f8]
mov ecx, dword [eax]
add esp, 8
push 0x35545844
push 3
push edi
push edx
mov edx, dword [0x7c6e40]
neg edx
sbb edx, edx
and edx, dword [0x7c6e44]
push ebp
push edx
push eax
mov eax, dword [ecx + 0x28]
call eax
test eax, eax
jne 0x4efd30
mov dword [0x7cf8ac], 0x35545844
mov eax, str._D_D3DFMT_DXT5
jmp 0x4efd41
mov ecx, dword [0x7cf890]
mov dword [0x7cf8ac], ecx
mov eax, 0x6a8490
push eax
push 0x6a838c
call fcn.004e3210
mov ecx, dword [0x7cf880]
add esp, 8
mov eax, dword [0x7cf8f8]
mov edx, dword [eax]
xor ebx, ebx
cmp ecx, 0x17
setne bl
mov edx, dword [edx + 0x28]
add ebx, 0x17
push ebx
push 3
push ebp
push ecx
mov ecx, dword [0x7c6e40]
neg ecx
sbb ecx, ecx
and ecx, dword [0x7c6e44]
push ebp
push ecx
push eax
call edx
test eax, eax
jne 0x4eff2d
mov eax, dword [0x7cf880]
xor edx, edx
cmp eax, 0x17
setne dl
add edx, 0x17
cmp eax, 0x17
mov dword [0x7cf8b0], edx
jne 0x4eff23
mov ecx, str.D3DFMT_R5G6B5
cmp edx, edi
je 0x4efdc7
push ecx
push 0x6a8360
call fcn.004e3210
add esp, 8
mov eax, dword [0x7cf880]
mov ecx, dword [0x7cf8f8]
mov edx, dword [ecx]
push 0x16
push 3
push ebp
push eax
mov eax, dword [0x7c6e40]
neg eax
sbb eax, eax
and eax, dword [0x7c6e44]
push ebp
push eax
push ecx
mov ecx, dword [edx + 0x28]
call ecx
test eax, eax
jne 0x4efff0
mov dword [0x7cf8b4], 0x16
mov eax, str.D_D3DFMT_X8R8G8B8
push eax
push 0x6a8334
call fcn.004e3210
add esp, 8
mov edx, dword [0x7cf880]
mov eax, dword [0x7cf8f8]
mov ecx, dword [eax]
push esi
push 3
push ebp
push edx
mov edx, dword [0x7c6e40]
neg edx
sbb edx, edx
and edx, dword [0x7c6e44]
push ebp
push edx
push eax
mov eax, dword [ecx + 0x28]
call eax
test eax, eax
jne 0x4f008e
mov dword [0x7cf8b8], esi
mov eax, str.D_D3DFMT_A8R8G8B8
push eax
push 0x6a82fc
call fcn.004e3210
add esp, 8
mov edx, dword [0x7cf880]
mov eax, dword [0x7cf8f8]
mov ecx, dword [eax]
mov esi, 0x71
push esi
push 3
push ebp
push edx
mov edx, dword [0x7c6e40]
neg edx
sbb edx, edx
and edx, dword [0x7c6e44]
push ebp
push edx
push eax
mov eax, dword [ecx + 0x28]
call eax
test eax, eax
jne 0x4f00e9
push str.D_D3DFMT_A16B16G16R16F
push 0x6a82a8
mov dword [0x7cf8bc], esi
call fcn.004e3210
add esp, 8
mov edx, dword [0x7cf880]
mov eax, dword [0x7cf8f8]
mov ecx, dword [eax]
push 0x74
push 3
push ebp
push edx
mov edx, dword [0x7c6e40]
neg edx
sbb edx, edx
and edx, dword [0x7c6e44]
push ebp
push edx
push eax
mov eax, dword [ecx + 0x28]
call eax
test eax, eax
jne 0x4f0101
mov dword [0x7cf8c0], 0x74
mov eax, str.D_D3DFMT_A32B32G32R32F
push eax
push 0x6a8254
call fcn.004e3210
add esp, 8
cmp dword [0x71df6c], 0x20
jne 0x4f0157
mov ecx, dword [0x7cf8b4]
mov eax, dword [0x7cf898]
mov dword [0x7cf8c4], ecx
mov dword [0x7cf8c8], eax
jmp 0x4f016f
mov ecx, str.D_D3DFMT_R5G5B5
jmp 0x4efdb0
mov ecx, dword [0x7cf880]
mov eax, dword [0x7cf8f8]
mov edx, dword [eax]
xor ebx, ebx
cmp ecx, 0x17
sete bl
mov edx, dword [edx + 0x28]
add ebx, 0x17
push ebx
push 3
push ebp
push ecx
mov ecx, dword [0x7c6e40]
neg ecx
sbb ecx, ecx
and ecx, dword [0x7c6e44]
push ebp
push ecx
push eax
call edx
test eax, eax
jne 0x4eff95
mov eax, dword [0x7cf880]
xor edx, edx
cmp eax, 0x17
sete dl
add edx, 0x17
cmp eax, 0x17
mov dword [0x7cf8b0], edx
jne 0x4eff8b
mov ecx, str.D3DFMT_R5G5B5
jmp 0x4efdb0
mov ecx, str.D_D3DFMT_R5G6B5
jmp 0x4efdb0
mov edx, dword [0x7cf880]
mov eax, dword [0x7cf8f8]
mov ecx, dword [eax]
push 0x16
push 3
push ebp
push edx
mov edx, dword [0x7c6e40]
neg edx
sbb edx, edx
and edx, dword [0x7c6e44]
push ebp
push edx
push eax
mov eax, dword [ecx + 0x28]
call eax
test eax, eax
jne 0x4effd8
mov dword [0x7cf8b0], 0x16
mov ecx, str.D_D3DFMT_X8R8G8B8
jmp 0x4efdb4
push 0x6a81f4
call fcn.004e16a0
add esp, 4
mov dword [0x7cf8b0], edi
jmp 0x4efdc2
mov ecx, dword [0x7cf880]
mov eax, dword [0x7cf8f8]
mov edx, dword [eax]
mov edx, dword [edx + 0x28]
push 0x17
push 3
push ebp
push ecx
mov ecx, dword [0x7c6e40]
neg ecx
sbb ecx, ecx
and ecx, dword [0x7c6e44]
push ebp
push ecx
push eax
call edx
test eax, eax
jne 0x4f0033
mov dword [0x7cf8b4], 0x17
mov eax, str.D3DFMT_R5G6B5
jmp 0x4efe03
mov edx, dword [0x7cf880]
mov eax, dword [0x7cf8f8]
mov ecx, dword [eax]
push 0x18
push 3
push ebp
push edx
mov edx, dword [0x7c6e40]
neg edx
sbb edx, edx
and edx, dword [0x7c6e44]
push ebp
push edx
push eax
mov eax, dword [ecx + 0x28]
call eax
test eax, eax
jne 0x4f0076
mov dword [0x7cf8b4], 0x18
mov eax, str.D3DFMT_R5G5B5
jmp 0x4efe03
push 0x6a81b4
call fcn.004e16a0
add esp, 4
mov dword [0x7cf8b4], edi
jmp 0x4efe11
mov edx, dword [0x7cf880]
mov eax, dword [0x7cf8f8]
mov ecx, dword [eax]
push 0x1a
push 3
push ebp
push edx
mov edx, dword [0x7c6e40]
neg edx
sbb edx, edx
and edx, dword [0x7c6e44]
push ebp
push edx
push eax
mov eax, dword [ecx + 0x28]
call eax
test eax, eax
jne 0x4f00d1
mov dword [0x7cf8b8], 0x1a
mov eax, str.D3DFMT_A4R4G4B4
jmp 0x4efe4e
push 0x6a8158
call fcn.004e16a0
add esp, 4
mov dword [0x7cf8b8], edi
jmp 0x4efe5c
push 0x6a8108
call fcn.004e16a0
add esp, 4
mov dword [0x7cf8bc], edi
jmp 0x4efeab
mov edx, dword [0x7cf880]
mov eax, dword [0x7cf8f8]
mov ecx, dword [eax]
push esi
push 3
push ebp
push edx
mov edx, dword [0x7c6e40]
neg edx
sbb edx, edx
and edx, dword [0x7c6e44]
push ebp
push edx
push eax
mov eax, dword [ecx + 0x28]
call eax
test eax, eax
jne 0x4f013f
mov dword [0x7cf8c0], esi
mov eax, str.D_D3DFMT_A16B16G16R16F
jmp 0x4efeed
push 0x6a80b8
call fcn.004e16a0
add esp, 4
mov dword [0x7cf8c0], edi
jmp 0x4efefb
mov edx, dword [0x7cf8b0]
mov ecx, dword [0x7cf894]
mov dword [0x7cf8c4], edx
mov dword [0x7cf8c8], ecx
mov edx, dword [0x7cf990]
mov eax, dword [0x7cf98c]
push edx
push eax
push 0x6a8094
call fcn.004e3210
add esp, 0xc
cmp dword [0x7cf90c], edi
mov eax, 0x6a808c
jne 0x4f019b
mov eax, 0x6a8080
push eax
push 0x6a8054
call fcn.004e3210
add esp, 8
cmp dword [0x7cfa70], edi
mov eax, 0x6a8048
jne 0x4f01bb
mov eax, 0x6a8038
push eax
push 0x6a8018
call fcn.004e3210
movzx ecx, word [0x7cf9f8]
push ecx
push 0x6a7ff4
call fcn.004e3210
movzx edx, word [0x7cfa00]
push edx
push 0x6a7fcc
call fcn.004e3210
add esp, 0x18
mov dword [esp + 0x18], edi
mov dword [esp + 0x14], edi
mov dword [0x7c6e74], edi
mov dword [esp + 0x2c], 3
jmp 0x4f0210
mov eax, dword [0x71df68]
mov ecx, dword [0x71df64]
or ebp, 0xffffffff
mov dword [esp + 0x20], ebp
mov dword [esp + 0x24], ebp
mov dword [esp + 0x84], ebp
mov esi, 0x100
cmp esi, ecx
jg 0x4f023a
cmp esi, eax
jle 0x4f023e
sar esi, 1
jmp 0x4f0232
mov eax, dword [0x7cf900]
push edi
lea edx, [esp + 0x20]
push edx
mov edx, dword [0x7cf880]
push 2
push edx
push esi
mov dword [esp + 0x30], edi
mov ecx, dword [eax]
push esi
push eax
mov eax, dword [ecx + 0x90]
call eax
test eax, eax
jne 0x4f049a
mov ecx, dword [0x7cf880]
push ecx
mov dword [esp + 0xa4], edi
mov dword [esp + 0xa8], edi
mov dword [esp + 0xac], esi
mov dword [esp + 0xb0], esi
call fcn.004e8f70
add esp, 4
push 0x10
lea ecx, [esp + 0xa4]
push ecx
mov ebx, eax
mov eax, dword [esp + 0x24]
mov edx, dword [eax]
mov edx, dword [edx + 0x34]
lea ecx, [esp + 0x80]
push ecx
push eax
call edx
test eax, eax
jne 0x4f049a
push edi
call fcn.004dcfc0
add esp, 4
mov dword [esp + 0x24], edx
push 0x10
lea edx, [esp + 0xa4]
push edx
mov dword [esp + 0x28], eax
mov eax, dword [0x7cf910]
mov ecx, dword [eax]
lea edx, [esp + 0x40]
push edx
push eax
mov eax, dword [ecx + 0x34]
call eax
test eax, eax
jne 0x4f049a
xor edi, edi
test esi, esi
jle 0x4f032f
lea esp, [esp]
movzx ecx, word [ebx + 2]
mov edx, dword [esp + 0x38]
imul ecx, esi
mov eax, dword [esp + 0x78]
imul edx, edi
add edx, dword [esp + 0x3c]
imul eax, edi
add eax, dword [esp + 0x7c]
push ecx
push edx
push eax
call fcn.004dc130
add edi, 1
add esp, 0xc
cmp edi, esi
jl 0x4f0300
mov eax, dword [0x7cf910]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x38]
push eax
call edx
push 0
call fcn.004dcfc0
sub eax, dword [esp + 0x24]
push 0
sbb edx, dword [esp + 0x2c]
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
call fcn.004dcfc0
add esp, 8
push 0
mov dword [esp + 0x88], edx
lea edx, [esp + 0x1c]
push edx
mov edx, dword [0x7cf880]
push 0
push 0
push 0
push edx
mov ebp, eax
mov eax, dword [0x7cf900]
mov ecx, dword [eax]
push esi
push esi
push eax
mov eax, dword [ecx + 0x70]
call eax
test eax, eax
jne 0x4f049a
mov eax, dword [0x7cf900]
mov ecx, dword [eax]
push 0
lea edx, [esp + 0x18]
push edx
mov edx, dword [0x7cf880]
push 2
push edx
push esi
push esi
push eax
mov eax, dword [ecx + 0x90]
call eax
test eax, eax
jne 0x4f049a
mov eax, dword [0x7cf900]
mov ecx, dword [eax]
push 0
lea edx, [esp + 0xa4]
push edx
mov edx, dword [esp + 0x20]
push edx
lea edx, [esp + 0xac]
push edx
mov edx, dword [0x7cf910]
push edx
push eax
mov eax, dword [ecx + 0x88]
call eax
mov edx, dword [esp + 0x14]
mov eax, dword [0x7cf900]
mov ecx, dword [eax]
push edx
mov edx, dword [esp + 0x1c]
push edx
push eax
mov eax, dword [ecx + 0x80]
call eax
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
push 0x10
push 0
lea edx, [esp + 0x40]
push edx
push eax
mov eax, dword [ecx + 0x34]
call eax
test eax, eax
jne 0x4f049a
xor edi, edi
test esi, esi
jle 0x4f0451
movzx ecx, word [ebx + 2]
mov edx, dword [esp + 0x38]
imul ecx, esi
mov eax, dword [esp + 0x78]
imul edx, edi
add edx, dword [esp + 0x3c]
imul eax, edi
add eax, dword [esp + 0x7c]
push ecx
push edx
push eax
call fcn.004dc130
add edi, 1
add esp, 0xc
cmp edi, esi
jl 0x4f0422
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x38]
push eax
call edx
mov eax, dword [esp + 0x18]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
xor eax, eax
push eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], eax
call fcn.004dcfc0
add esp, 4
sub eax, ebp
sbb edx, dword [esp + 0x84]
mov ebp, eax
mov dword [esp + 0x84], edx
mov eax, dword [esp + 0x14]
xor edi, edi
cmp eax, edi
je 0x4f04b0
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esp + 0x14], edi
mov eax, dword [esp + 0x18]
cmp eax, edi
je 0x4f04c4
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esp + 0x18], edi
mov eax, dword [esp + 0x1c]
cmp eax, edi
je 0x4f04d8
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esp + 0x1c], edi
sub dword [esp + 0x2c], 1
jne 0x4f0210
mov ebx, dword [esp + 0x84]
mov eax, ebp
and eax, ebx
cmp eax, 0xffffffff
je 0x4f0555
mov esi, dword [esp + 0x20]
mov edi, dword [esp + 0x24]
mov ecx, esi
and ecx, edi
cmp ecx, 0xffffffff
je 0x4f0555
push ebp
push esi
push 0x6a7f70
call fcn.004e3210
add esp, 0xc
cmp edi, ebx
jg 0x4f053e
jl 0x4f051d
cmp esi, ebp
jae 0x4f053e
push 0x6a7f48
mov dword [0x7c6e74], 1
call fcn.004e16a0
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
push 0x6a7f24
call fcn.004e16a0
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
push 0x6a7efc
call fcn.004e16a0
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
push 0x6a7eb0
call fcn.004e16a0
add esp, 4
or eax, 0xffffffff
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
push 0x6a7e60
call fcn.004e16a0
add esp, 4
or eax, 0xffffffff
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
push 0x6a7e18
call fcn.004e16a0
add esp, 4
or eax, 0xffffffff
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
push 0x6a7dd0
call fcn.004e16a0
add esp, 4
or eax, 0xffffffff
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
push 0x6a7d90
call fcn.004e16a0
add esp, 4
or eax, 0xffffffff
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
push 0x6a7d58
call fcn.004e16a0
add esp, 4
pop edi
or eax, 0xffffffff
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret