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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x65096b
mov eax, dword fs:[0]
push eax
sub esp, 0xd8
mov eax, dword [0x6a9fa4]
xor eax, esp
mov dword [esp + 0xd0], eax
push ebx
push esi
push edi
mov eax, dword [0x6a9fa4]
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 0x5552a3
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.00564ec0
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 0x555302
cmp esi, ebx
je 0x555307
call fcn.0062472f
cmp edi, dword [esp + 0x64]
je 0x555362
test esi, esi
jne 0x555316
call fcn.0062472f
cmp edi, dword [esi + 4]
jne 0x555320
call fcn.0062472f
mov edi, dword [edi + 0xc]
mov esi, dword [edi + 0x40]
test esi, esi
je 0x555346
mov edx, dword [esi + 0x30]
add dword [esp + 0x14], edx
lea ecx, [esi + 0x3c]
lea eax, [esp + 0x34]
call fcn.0055e3c0
add dword [eax], 1
mov ecx, dword [esi + 0x30]
add dword [eax + 4], ecx
lea esi, [esp + 0xa0]
call fcn.00565b70
mov edi, dword [esp + 0xa4]
mov esi, dword [esp + 0xa0]
jmp 0x5552f3
mov dword [esp + 0xdc], 0xf
mov dword [esp + 0xd8], 0
mov byte [esp + 0xc8], 0
mov edi, dword [esp + 0x7c]
mov eax, edi
mov byte [esp + 0xf0], 1
call fcn.0055b430
test al, al
je 0x55539e
mov edx, str.Recommended
jmp 0x5553b3
mov eax, edi
call fcn.0055b410
test al, al
mov edx, str.Supported
jne 0x5553b3
mov edx, str.Unsupported
mov eax, edi
call fcn.0055b400
test al, al
mov eax, 0x67f3d4
jne 0x5553c8
mov eax, 0x67f3d8
push edx
push eax
push str.3D_Mode_is__s__3D_is__s_on_this_system__r_n_r_n
lea esi, [esp + 0x24]
call fcn.005b73b0
add esp, 0xc
push 0xffffffffffffffff
push 0
push eax
lea ecx, [esp + 0xd0]
mov byte [esp + 0xfc], 2
call fcn.00420020
mov ebx, 0x10
mov byte [esp + 0xf0], 1
cmp dword [esp + 0x30], ebx
jb 0x555414
mov edx, dword [esp + 0x1c]
push edx
call fcn.0062414c
add esp, 4
mov eax, dword [edi + 0x43c]
push eax
push str.Num_Images:__d_r_n
lea esi, [esp + 0x20]
call fcn.005b73b0
add esp, 8
push 0xffffffffffffffff
push 0
push eax
lea ecx, [esp + 0xd0]
mov byte [esp + 0xfc], 3
call fcn.00420020
mov byte [esp + 0xf0], 1
cmp dword [esp + 0x30], ebx
jb 0x555460
mov eax, dword [esp + 0x1c]
push eax
call fcn.0062414c
add esp, 4
mov ecx, dword [edi + 0x4b4]
mov edx, dword [ecx]
mov eax, dword [edx + 0x44]
call eax
push eax
push str.Num_Sounds:__d_r_n
lea esi, [esp + 0x20]
call fcn.005b73b0
add esp, 8
push 0xffffffffffffffff
push 0
push eax
lea ecx, [esp + 0xd0]
mov byte [esp + 0xfc], 4
call fcn.00420020
mov byte [esp + 0xf0], 1
cmp dword [esp + 0x30], ebx
jb 0x5554b3
mov ecx, dword [esp + 0x1c]
push ecx
call fcn.0062414c
add esp, 4
mov ecx, dword [esp + 0x5c]
shr ecx, 0xa
lea edx, [esp + 0x84]
call fcn.005b67a0
mov ebx, eax
lea eax, [esp + 0x18]
mov byte [esp + 0xf0], 5
call fcn.005b60c0
mov esi, eax
mov byte [esp + 0xf0], 6
mov ecx, dword [esp + 0x5c]
sub ecx, dword [esp + 0x80]
lea edx, [esp + 0x40]
shr ecx, 0xa
call fcn.005b67a0
mov ebx, eax
lea eax, [esp + 0xa8]
mov byte [esp + 0xf0], 7
call fcn.005b60c0
mov edi, 0x10
mov byte [esp + 0xf0], 8
cmp dword [esi + 0x18], edi
jb 0x555527
mov esi, dword [esi + 4]
jmp 0x55552a
add esi, 4
cmp dword [eax + 0x18], edi
jb 0x555534
mov eax, dword [eax + 4]
jmp 0x555537
add eax, 4
push esi
push eax
push str.Video_Memory:__s__s_KB_r_n
lea esi, [esp + 0x6c]
call fcn.005b73b0
add esp, 0xc
push 0xffffffffffffffff
xor ebx, ebx
push ebx
push eax
lea ecx, [esp + 0xd0]
mov byte [esp + 0xfc], 9
call fcn.00420020
cmp dword [esp + 0x78], edi
jb 0x555577
mov edx, dword [esp + 0x64]
push edx
call fcn.0062414c
add esp, 4
cmp dword [esp + 0xc0], edi
mov esi, 0xf
mov dword [esp + 0x78], esi
mov dword [esp + 0x74], ebx
mov byte [esp + 0x64], bl
jb 0x5555a1
mov eax, dword [esp + 0xac]
push eax
call fcn.0062414c
add esp, 4
mov edi, 8
cmp dword [esp + 0x58], edi
mov dword [esp + 0xc0], esi
mov dword [esp + 0xbc], ebx
mov byte [esp + 0xac], bl
jb 0x5555ce
mov ecx, dword [esp + 0x44]
push ecx
call fcn.0062414c
add esp, 4
cmp dword [esp + 0x30], 0x10
mov dword [esp + 0x58], 7
mov dword [esp + 0x54], ebx
mov word [esp + 0x44], bx
jb 0x5555f3
mov edx, dword [esp + 0x1c]
push edx
call fcn.0062414c
add esp, 4
mov byte [esp + 0xf0], 1
cmp dword [esp + 0x9c], edi
mov dword [esp + 0x30], esi
mov dword [esp + 0x2c], ebx
mov byte [esp + 0x1c], bl
jb 0x555620
mov eax, dword [esp + 0x88]
push eax
call fcn.0062414c
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.005b67a0
mov byte [esp + 0xf0], 0xa
cmp dword [eax + 0x18], edi
jb 0x555650
mov eax, dword [eax + 4]
jmp 0x555653
add eax, 4
push eax
push str.Texture_Memory:__s_KB_r_n
lea esi, [esp + 0x20]
call fcn.005b73b0
add esp, 8
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esp + 0xd0]
mov byte [esp + 0xfc], 0xb
call fcn.00420020
cmp dword [esp + 0x30], 0x10
jb 0x555691
mov ecx, dword [esp + 0x1c]
push ecx
call fcn.0062414c
add esp, 4
mov byte [esp + 0xf0], 1
cmp dword [esp + 0x9c], edi
mov dword [esp + 0x30], 0xf
mov dword [esp + 0x2c], ebx
mov byte [esp + 0x1c], bl
jb 0x5556c2
mov edx, dword [esp + 0x88]
push edx
call fcn.0062414c
add esp, 4
lea ecx, [esp + 0x14]
lea eax, [esp + 0x34]
mov dword [esp + 0x14], 1
call fcn.0055e3c0
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.005b67a0
mov ebx, eax
lea eax, [esp + 0x40]
mov byte [esp + 0xf0], 0xc
call fcn.005b60c0
mov edi, 0x10
mov byte [esp + 0xf0], 0xd
cmp dword [eax + 0x18], edi
jb 0x555720
mov eax, dword [eax + 4]
jmp 0x555723
add eax, 4
push eax
push esi
push str.A8R8G8B8:__d____s_KB_r_n
lea esi, [esp + 0x24]
call fcn.005b73b0
add esp, 0xc
push 0xffffffffffffffff
xor esi, esi
push esi
push eax
lea ecx, [esp + 0xd0]
mov byte [esp + 0xfc], 0xe
call fcn.00420020
cmp dword [esp + 0x30], edi
jb 0x555763
mov eax, dword [esp + 0x1c]
push eax
call fcn.0062414c
add esp, 4
cmp dword [esp + 0x58], edi
mov ebx, 0xf
mov dword [esp + 0x30], ebx
mov dword [esp + 0x2c], esi
mov byte [esp + 0x1c], 0
jb 0x555788
mov ecx, dword [esp + 0x44]
push ecx
call fcn.0062414c
add esp, 4
mov byte [esp + 0xf0], 1
cmp dword [esp + 0x9c], 8
mov dword [esp + 0x58], ebx
mov dword [esp + 0x54], esi
mov byte [esp + 0x44], 0
jb 0x5557b7
mov edx, dword [esp + 0x88]
push edx
call fcn.0062414c
add esp, 4
lea ecx, [esp + 0x14]
lea eax, [esp + 0x34]
mov dword [esp + 0x14], 2
call fcn.0055e3c0
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.005b67a0
mov byte [esp + 0xf0], bl
mov ebx, eax
lea eax, [esp + 0x40]
call fcn.005b60c0
mov ebx, 0x10
mov byte [esp + 0xf0], bl
cmp dword [eax + 0x18], ebx
jb 0x555813
mov eax, dword [eax + 4]
jmp 0x555816
add eax, 4
push eax
push esi
push str.A4R4G4B4:__d____s_KB_r_n
lea esi, [esp + 0x24]
call fcn.005b73b0
add esp, 0xc
push 0xffffffffffffffff
xor esi, esi
push esi
push eax
lea ecx, [esp + 0xd0]
mov byte [esp + 0xfc], 0x11
call fcn.00420020
cmp dword [esp + 0x30], ebx
jb 0x555856
mov eax, dword [esp + 0x1c]
push eax
call fcn.0062414c
add esp, 4
cmp dword [esp + 0x58], ebx
mov edi, 0xf
mov dword [esp + 0x30], edi
mov dword [esp + 0x2c], esi
mov byte [esp + 0x1c], 0
jb 0x55587b
mov ecx, dword [esp + 0x44]
push ecx
call fcn.0062414c
add esp, 4
mov byte [esp + 0xf0], 1
cmp dword [esp + 0x9c], 8
mov dword [esp + 0x58], edi
mov dword [esp + 0x54], esi
mov byte [esp + 0x44], 0
jb 0x5558aa
mov edx, dword [esp + 0x88]
push edx
call fcn.0062414c
add esp, 4
lea ecx, [esp + 0x14]
lea eax, [esp + 0x34]
mov dword [esp + 0x14], 4
call fcn.0055e3c0
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.005b67a0
mov ebx, eax
lea eax, [esp + 0x40]
mov byte [esp + 0xf0], 0x12
call fcn.005b60c0
mov edi, 0x10
mov byte [esp + 0xf0], 0x13
cmp dword [eax + 0x18], edi
jb 0x555908
mov eax, dword [eax + 4]
jmp 0x55590b
add eax, 4
push eax
push esi
push str.R5G6B5:__d____s_KB_r_n
lea esi, [esp + 0x24]
call fcn.005b73b0
add esp, 0xc
push 0xffffffffffffffff
xor ebx, ebx
push ebx
push eax
lea ecx, [esp + 0xd0]
mov byte [esp + 0xfc], 0x14
call fcn.00420020
cmp dword [esp + 0x30], edi
jb 0x55594b
mov eax, dword [esp + 0x1c]
push eax
call fcn.0062414c
add esp, 4
cmp dword [esp + 0x58], edi
mov esi, 0xf
mov dword [esp + 0x30], esi
mov dword [esp + 0x2c], ebx
mov byte [esp + 0x1c], bl
jb 0x55596f
mov ecx, dword [esp + 0x44]
push ecx
call fcn.0062414c
add esp, 4
mov dword [esp + 0x58], esi
mov esi, 8
mov byte [esp + 0xf0], 1
cmp dword [esp + 0x9c], esi
mov dword [esp + 0x54], ebx
mov byte [esp + 0x44], bl
jb 0x5559a1
mov edx, dword [esp + 0x88]
push edx
call fcn.0062414c
add esp, 4
lea ecx, [esp + 0x14]
lea eax, [esp + 0x34]
mov dword [esp + 0x14], esi
call fcn.0055e3c0
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.005b67a0
mov ebx, eax
lea eax, [esp + 0x40]
mov byte [esp + 0xf0], 0x15
call fcn.005b60c0
mov edi, 0x10
mov byte [esp + 0xf0], 0x16
cmp dword [eax + 0x18], edi
jb 0x5559fb
mov eax, dword [eax + 4]
jmp 0x5559fe
add eax, 4
push eax
push esi
push str.Palette8:__d____s_KB_r_n
lea esi, [esp + 0x24]
call fcn.005b73b0
add esp, 0xc
push 0xffffffffffffffff
xor ebx, ebx
push ebx
push eax
lea ecx, [esp + 0xd0]
mov byte [esp + 0xfc], 0x17
call fcn.00420020
cmp dword [esp + 0x30], edi
jb 0x555a3e
mov eax, dword [esp + 0x1c]
push eax
call fcn.0062414c
add esp, 4
cmp dword [esp + 0x58], edi
mov esi, 0xf
mov dword [esp + 0x30], esi
mov dword [esp + 0x2c], ebx
mov byte [esp + 0x1c], bl
jb 0x555a62
mov ecx, dword [esp + 0x44]
push ecx
call fcn.0062414c
add esp, 4
mov byte [esp + 0xf0], 1
cmp dword [esp + 0x9c], 8
mov dword [esp + 0x58], esi
mov dword [esp + 0x54], ebx
mov byte [esp + 0x44], bl
jb 0x555a90
mov edx, dword [esp + 0x88]
push edx
call fcn.0062414c
add esp, 4
push 0xb
push str.Video_Stats
lea ecx, [esp + 0x68]
mov dword [esp + 0x80], esi
mov dword [esp + 0x7c], ebx
mov byte [esp + 0x6c], bl
call fcn.00405590
mov esi, dword [esp + 0x7c]
push ebx
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], edi
jb 0x555ae5
mov ecx, dword [esp + 0x64]
push ecx
call fcn.0062414c
add esp, 4
call dword [sym.imp.winmm.dll_timeGetTime]
cmp dword [esp + 0xdc], edi
mov dword [esi + 0x474], eax
jb 0x555b0a
mov edx, dword [esp + 0xc8]
push edx
call fcn.0062414c
add esp, 4
mov dword [esp + 0xf0], 0xffffffff
mov eax, dword [esp + 0x38]
push eax
lea ecx, [esp + 0x38]
push ecx
mov dword [esp + 0xe4], 0xf
mov dword [esp + 0xe0], ebx
mov byte [esp + 0xd0], bl
mov edx, dword [eax]
push edx
mov esi, ecx
push esi
lea eax, [esp + 0x70]
push eax
mov edi, ecx
call fcn.00562420
mov ecx, dword [esp + 0x38]
push ecx
call fcn.0062414c
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.00626d59
mov esp, ebp
pop ebp
ret