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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x594aab
mov eax, dword fs:[0]
push eax
sub esp, 0xd8
mov eax, dword [0x5d5de8]
xor eax, esp
mov dword [esp + 0xd0], eax
push ebx
push esi
push edi
mov eax, dword [0x5d5de8]
xor eax, esp
push eax
lea eax, [esp + 0xe8]
mov dword fs:[0], eax
mov ebx, ecx
mov ecx, dword [ebx + 0x36c]
xor eax, eax
mov dword [esp + 0x5c], eax
mov dword [esp + 0x80], eax
cmp dword [ecx + 0x5c], eax
mov dword [esp + 0x7c], ebx
je 0x44e9a3
lea edx, [esp + 0x80]
push edx
mov dword [esp + 0x64], eax
lea edx, [esp + 0x60]
push edx
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], eax
mov dword [esp + 0x68], 0x4000
mov eax, dword [ecx + 0x5c]
mov ecx, dword [eax]
lea edx, [esp + 0x68]
push edx
push eax
mov eax, dword [ecx + 0x5c]
call eax
mov eax, dword [ebx + 0x438]
mov edi, dword [eax]
add ebx, 0x434
mov esi, ebx
mov dword [esp + 0xa4], edi
mov dword [esp + 0xa0], esi
call fcn.004816c0
mov dword [esp + 0x38], eax
mov byte [eax + 0x19], 1
mov eax, dword [esp + 0x38]
mov dword [eax + 4], eax
mov eax, dword [esp + 0x38]
mov dword [eax], eax
mov eax, dword [esp + 0x38]
mov dword [eax + 8], eax
xor eax, eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0xf0], eax
mov dword [esp + 0x14], eax
test esi, esi
mov ecx, dword [ebx + 4]
mov dword [esp + 0x64], ecx
je 0x44ea02
cmp esi, ebx
je 0x44ea07
call fcn.0056999e
cmp edi, dword [esp + 0x64]
je 0x44ea62
test esi, esi
jne 0x44ea16
call fcn.0056999e
cmp edi, dword [esi + 4]
jne 0x44ea20
call fcn.0056999e
mov edi, dword [edi + 0xc]
mov esi, dword [edi + 0x40]
test esi, esi
je 0x44ea46
mov edx, dword [esi + 0x30]
add dword [esp + 0x14], edx
lea ecx, [esi + 0x3c]
lea eax, [esp + 0x34]
call fcn.004560a0
add dword [eax], 1
mov ecx, dword [esi + 0x30]
add dword [eax + 4], ecx
lea esi, [esp + 0xa0]
call fcn.0043ecc0
mov edi, dword [esp + 0xa4]
mov esi, dword [esp + 0xa0]
jmp 0x44e9f3
mov dword [esp + 0xdc], 0xf
mov dword [esp + 0xd8], 0
mov byte [esp + 0xc8], 0
mov esi, dword [esp + 0x7c]
mov ecx, esi
mov byte [esp + 0xf0], 1
call fcn.00454150
test al, al
je 0x44ea9e
mov edx, str.Recommended
jmp 0x44eab1
call fcn.00454130
test al, al
mov edx, str.Supported
jne 0x44eab1
mov edx, str.Unsupported
mov ecx, esi
call fcn.00454120
test al, al
mov eax, 0x5a7428
jne 0x44eac6
mov eax, 0x5a742c
push edx
push eax
lea edx, [esp + 0x20]
push str.3D_Mode_is__s__3D_is__s_on_this_system__r_n_r_n
push edx
call fcn.00472300
add esp, 0x10
push 0xffffffffffffffff
xor edi, edi
push edi
push eax
lea ecx, [esp + 0xd0]
mov byte [esp + 0xfc], 2
call fcn.0043db30
mov ebx, 0x10
mov byte [esp + 0xf0], 1
cmp dword [esp + 0x30], ebx
jb 0x44eb14
mov eax, dword [esp + 0x1c]
push eax
call fcn.00569095
add esp, 4
mov eax, dword [esi + 0x43c]
push eax
lea ecx, [esp + 0x1c]
push str.Num_Images:__d_r_n
push ecx
call fcn.00472300
add esp, 0xc
push 0xffffffffffffffff
push edi
push eax
lea ecx, [esp + 0xd0]
mov byte [esp + 0xfc], 3
call fcn.0043db30
mov byte [esp + 0xf0], 1
cmp dword [esp + 0x30], ebx
jb 0x44eb60
mov edx, dword [esp + 0x1c]
push edx
call fcn.00569095
add esp, 4
mov ecx, dword [esi + 0x4b4]
mov eax, dword [ecx]
mov edx, dword [eax + 0x44]
call edx
push eax
lea eax, [esp + 0x1c]
push str.Num_Sounds:__d_r_n
push eax
call fcn.00472300
add esp, 0xc
push 0xffffffffffffffff
push edi
push eax
lea ecx, [esp + 0xd0]
mov byte [esp + 0xfc], 4
call fcn.0043db30
mov byte [esp + 0xf0], 1
cmp dword [esp + 0x30], ebx
jb 0x44ebb3
mov ecx, dword [esp + 0x1c]
push ecx
call fcn.00569095
add esp, 4
mov ecx, dword [esp + 0x5c]
shr ecx, 0xa
lea edx, [esp + 0x84]
call fcn.00470e60
push eax
lea edx, [esp + 0x1c]
push edx
mov byte [esp + 0xf8], 5
call fcn.00470aa0
mov esi, eax
mov byte [esp + 0xf8], 6
mov ecx, dword [esp + 0x64]
sub ecx, dword [esp + 0x88]
lea edx, [esp + 0x48]
shr ecx, 0xa
call fcn.00470e60
push eax
lea eax, [esp + 0xb4]
push eax
mov byte [esp + 0x100], 7
call fcn.00470aa0
add esp, 0x10
mov byte [esp + 0xf0], 8
cmp dword [esi + 0x18], ebx
jb 0x44ec25
mov esi, dword [esi + 4]
jmp 0x44ec28
add esi, 4
cmp dword [eax + 0x18], ebx
jb 0x44ec32
mov eax, dword [eax + 4]
jmp 0x44ec35
add eax, 4
push esi
push eax
lea ecx, [esp + 0x68]
push str.Video_Memory:__s__s_KB_r_n
push ecx
call fcn.00472300
add esp, 0x10
push 0xffffffffffffffff
push edi
push eax
lea ecx, [esp + 0xd0]
mov byte [esp + 0xfc], 9
call fcn.0043db30
cmp dword [esp + 0x78], ebx
jb 0x44ec74
mov edx, dword [esp + 0x64]
push edx
call fcn.00569095
add esp, 4
cmp dword [esp + 0xc0], ebx
mov esi, 0xf
mov dword [esp + 0x78], esi
mov dword [esp + 0x74], edi
mov byte [esp + 0x64], 0
jb 0x44ec9f
mov eax, dword [esp + 0xac]
push eax
call fcn.00569095
add esp, 4
cmp dword [esp + 0x58], ebx
mov dword [esp + 0xc0], esi
mov dword [esp + 0xbc], edi
mov byte [esp + 0xac], 0
jb 0x44ecc8
mov ecx, dword [esp + 0x44]
push ecx
call fcn.00569095
add esp, 4
cmp dword [esp + 0x30], ebx
mov dword [esp + 0x58], esi
mov dword [esp + 0x54], edi
mov byte [esp + 0x44], 0
jb 0x44ece8
mov edx, dword [esp + 0x1c]
push edx
call fcn.00569095
add esp, 4
mov byte [esp + 0xf0], 1
cmp dword [esp + 0x9c], ebx
mov dword [esp + 0x30], esi
mov dword [esp + 0x2c], edi
mov byte [esp + 0x1c], 0
jb 0x44ed16
mov eax, dword [esp + 0x88]
push eax
call fcn.00569095
add esp, 4
mov eax, dword [esp + 0x14]
cdq
and edx, 0x3ff
add eax, edx
mov ecx, eax
sar ecx, 0xa
lea edx, [esp + 0x84]
call fcn.00470e60
mov byte [esp + 0xf0], 0xa
cmp dword [eax + 0x18], ebx
jb 0x44ed46
mov eax, dword [eax + 4]
jmp 0x44ed49
add eax, 4
push eax
lea ecx, [esp + 0x1c]
push str.Texture_Memory:__s_KB_r_n
push ecx
call fcn.00472300
add esp, 0xc
push 0xffffffffffffffff
push edi
push eax
lea ecx, [esp + 0xd0]
mov byte [esp + 0xfc], 0xb
call fcn.0043db30
cmp dword [esp + 0x30], ebx
jb 0x44ed87
mov edx, dword [esp + 0x1c]
push edx
call fcn.00569095
add esp, 4
mov byte [esp + 0xf0], 1
cmp dword [esp + 0x9c], ebx
mov dword [esp + 0x30], esi
mov dword [esp + 0x2c], edi
mov byte [esp + 0x1c], 0
jb 0x44edb5
mov eax, dword [esp + 0x88]
push eax
call fcn.00569095
add esp, 4
lea ecx, [esp + 0x14]
lea eax, [esp + 0x34]
mov dword [esp + 0x14], 1
call fcn.004560a0
mov esi, dword [eax]
mov eax, dword [eax + 4]
cdq
and edx, 0x3ff
add eax, edx
mov ecx, eax
sar ecx, 0xa
lea edx, [esp + 0x84]
call fcn.00470e60
push eax
lea ecx, [esp + 0x44]
push ecx
mov byte [esp + 0xf8], 0xc
call fcn.00470aa0
add esp, 8
mov byte [esp + 0xf0], 0xd
cmp dword [eax + 0x18], ebx
jb 0x44ee11
mov eax, dword [eax + 4]
jmp 0x44ee14
add eax, 4
push eax
push esi
lea edx, [esp + 0x20]
push str.A8R8G8B8:__d____s_KB_r_n
push edx
call fcn.00472300
add esp, 0x10
push 0xffffffffffffffff
push edi
push eax
lea ecx, [esp + 0xd0]
mov byte [esp + 0xfc], 0xe
call fcn.0043db30
cmp dword [esp + 0x30], ebx
jb 0x44ee53
mov eax, dword [esp + 0x1c]
push eax
call fcn.00569095
add esp, 4
cmp dword [esp + 0x58], ebx
mov esi, 0xf
mov dword [esp + 0x30], esi
mov dword [esp + 0x2c], edi
mov byte [esp + 0x1c], 0
jb 0x44ee78
mov ecx, dword [esp + 0x44]
push ecx
call fcn.00569095
add esp, 4
mov byte [esp + 0xf0], 1
cmp dword [esp + 0x9c], ebx
mov dword [esp + 0x58], esi
mov dword [esp + 0x54], edi
mov byte [esp + 0x44], 0
jb 0x44eea6
mov edx, dword [esp + 0x88]
push edx
call fcn.00569095
add esp, 4
lea ecx, [esp + 0x14]
lea eax, [esp + 0x34]
mov dword [esp + 0x14], 2
call fcn.004560a0
mov esi, dword [eax]
mov eax, dword [eax + 4]
cdq
and edx, 0x3ff
add eax, edx
mov ecx, eax
sar ecx, 0xa
lea edx, [esp + 0x84]
call fcn.00470e60
push eax
lea eax, [esp + 0x44]
push eax
mov byte [esp + 0xf8], 0xf
call fcn.00470aa0
add esp, 8
mov byte [esp + 0xf0], bl
cmp dword [eax + 0x18], ebx
jb 0x44ef01
mov eax, dword [eax + 4]
jmp 0x44ef04
add eax, 4
push eax
push esi
lea ecx, [esp + 0x20]
push str.A4R4G4B4:__d____s_KB_r_n
push ecx
call fcn.00472300
add esp, 0x10
push 0xffffffffffffffff
push edi
push eax
lea ecx, [esp + 0xd0]
mov byte [esp + 0xfc], 0x11
call fcn.0043db30
cmp dword [esp + 0x30], ebx
jb 0x44ef43
mov edx, dword [esp + 0x1c]
push edx
call fcn.00569095
add esp, 4
cmp dword [esp + 0x58], ebx
mov esi, 0xf
mov dword [esp + 0x30], esi
mov dword [esp + 0x2c], edi
mov byte [esp + 0x1c], 0
jb 0x44ef68
mov eax, dword [esp + 0x44]
push eax
call fcn.00569095
add esp, 4
mov byte [esp + 0xf0], 1
cmp dword [esp + 0x9c], ebx
mov dword [esp + 0x58], esi
mov dword [esp + 0x54], edi
mov byte [esp + 0x44], 0
jb 0x44ef96
mov ecx, dword [esp + 0x88]
push ecx
call fcn.00569095
add esp, 4
lea ecx, [esp + 0x14]
lea eax, [esp + 0x34]
mov dword [esp + 0x14], 4
call fcn.004560a0
mov esi, dword [eax]
mov eax, dword [eax + 4]
cdq
and edx, 0x3ff
add eax, edx
mov ecx, eax
sar ecx, 0xa
lea edx, [esp + 0x84]
call fcn.00470e60
push eax
lea edx, [esp + 0x44]
push edx
mov byte [esp + 0xf8], 0x12
call fcn.00470aa0
add esp, 8
mov byte [esp + 0xf0], 0x13
cmp dword [eax + 0x18], ebx
jb 0x44eff2
mov eax, dword [eax + 4]
jmp 0x44eff5
add eax, 4
push eax
push esi
lea eax, [esp + 0x20]
push str.R5G6B5:__d____s_KB_r_n
push eax
call fcn.00472300
add esp, 0x10
push 0xffffffffffffffff
push edi
push eax
lea ecx, [esp + 0xd0]
mov byte [esp + 0xfc], 0x14
call fcn.0043db30
cmp dword [esp + 0x30], ebx
jb 0x44f034
mov ecx, dword [esp + 0x1c]
push ecx
call fcn.00569095
add esp, 4
cmp dword [esp + 0x58], ebx
mov esi, 0xf
mov dword [esp + 0x30], esi
mov dword [esp + 0x2c], edi
mov byte [esp + 0x1c], 0
jb 0x44f059
mov edx, dword [esp + 0x44]
push edx
call fcn.00569095
add esp, 4
mov byte [esp + 0xf0], 1
cmp dword [esp + 0x9c], ebx
mov dword [esp + 0x58], esi
mov dword [esp + 0x54], edi
mov byte [esp + 0x44], 0
jb 0x44f087
mov eax, dword [esp + 0x88]
push eax
call fcn.00569095
add esp, 4
lea ecx, [esp + 0x14]
lea eax, [esp + 0x34]
mov dword [esp + 0x14], 8
call fcn.004560a0
mov esi, dword [eax]
mov eax, dword [eax + 4]
cdq
and edx, 0x3ff
add eax, edx
mov ecx, eax
sar ecx, 0xa
lea edx, [esp + 0x84]
call fcn.00470e60
push eax
lea ecx, [esp + 0x44]
push ecx
mov byte [esp + 0xf8], 0x15
call fcn.00470aa0
add esp, 8
mov byte [esp + 0xf0], 0x16
cmp dword [eax + 0x18], ebx
jb 0x44f0e3
mov eax, dword [eax + 4]
jmp 0x44f0e6
add eax, 4
push eax
push esi
lea edx, [esp + 0x20]
push str.Palette8:__d____s_KB_r_n
push edx
call fcn.00472300
add esp, 0x10
push 0xffffffffffffffff
push edi
push eax
lea ecx, [esp + 0xd0]
mov byte [esp + 0xfc], 0x17
call fcn.0043db30
cmp dword [esp + 0x30], ebx
jb 0x44f125
mov eax, dword [esp + 0x1c]
push eax
call fcn.00569095
add esp, 4
cmp dword [esp + 0x58], ebx
mov esi, 0xf
mov dword [esp + 0x30], esi
mov dword [esp + 0x2c], edi
mov byte [esp + 0x1c], 0
jb 0x44f14a
mov ecx, dword [esp + 0x44]
push ecx
call fcn.00569095
add esp, 4
mov byte [esp + 0xf0], 1
cmp dword [esp + 0x9c], ebx
mov dword [esp + 0x58], esi
mov dword [esp + 0x54], edi
mov byte [esp + 0x44], 0
jb 0x44f178
mov edx, dword [esp + 0x88]
push edx
call fcn.00569095
add esp, 4
push 0xb
push str.Video_Stats
lea ecx, [esp + 0x68]
mov dword [esp + 0x80], esi
mov dword [esp + 0x7c], edi
mov byte [esp + 0x6c], 0
call fcn.0043dd50
mov esi, dword [esp + 0x7c]
push edi
mov byte [esp + 0xf4], 0x18
mov eax, dword [esi]
mov eax, dword [eax + 0x78]
lea ecx, [esp + 0x64]
push ecx
lea edx, [esp + 0xcc]
push edx
mov ecx, esi
call eax
cmp dword [esp + 0x78], ebx
jb 0x44f1ce
mov ecx, dword [esp + 0x64]
push ecx
call fcn.00569095
add esp, 4
call dword [sym.imp.WINMM.dll_timeGetTime]
cmp dword [esp + 0xdc], ebx
mov dword [esi + 0x474], eax
jb 0x44f1f3
mov edx, dword [esp + 0xc8]
push edx
call fcn.00569095
add esp, 4
mov dword [esp + 0xf0], 0xffffffff
mov eax, dword [esp + 0x38]
push eax
lea ecx, [esp + 0x38]
mov dword [esp + 0xdc], edi
push ecx
mov dword [esp + 0xe4], 0xf
mov byte [esp + 0xd0], 0
mov edx, dword [eax]
push edx
mov esi, ecx
push esi
lea eax, [esp + 0x70]
push eax
mov edi, ecx
call fcn.00459b40
mov ecx, dword [esp + 0x38]
push ecx
call fcn.00569095
add esp, 4
mov ecx, dword [esp + 0xe8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xd0]
xor ecx, esp
call fcn.005697e2
mov esp, ebp
pop ebp
ret