Function at 0x10001090
Capabilities:
Terminate process

Disassembly:
sub esp, 0x84
push ebx
push esi
xor ebx, ebx
push edi
mov byte [esp + 0xc], bl
mov byte [esp + 0xd], bl
mov byte [esp + 0xe], bl
mov byte [esp + 0xf], bl
call fcn.10011c40
call fcn.1002d570
call fcn.10033010
call sym.alleg40.dll__register_bitmap_file_type_init
mov eax, dword [esp + 0x98]
cmp eax, ebx
jne 0x100010d0
call dword [sym.imp.MSVCRT.dll__errno]
mov dword [sym.alleg40.dll_allegro_errno], eax
mov eax, dword [esp + 0xc]
mov ecx, 0x100
mov edi, sym.alleg40.dll_black_palette
rep stosd dword es:[edi], eax
mov ecx, 0x10
mov eax, 0x10075068
mov edx, ecx
add eax, 4
and edx, 0xf
inc ecx
cmp eax, sym.alleg40.dll_default_palette
mov edx, dword [edx*4 + sym.alleg40.dll_desktop_palette]
mov dword [eax - 4], edx
jl 0x100010ef
mov eax, dword [sym.alleg40.dll_system_directx]
push ebx
mov dword [sym.alleg40.dll_system_driver], eax
call sym.alleg40.dll_reload_config_texts
mov edi, dword [esp + 0x98]
add esp, 4
cmp edi, ebx
jne 0x10001170
push ebx
push 0x40
lea ecx, [esp + 0x58]
push 0x6375722e
push ecx
push 0x41534338
push 0x100758e8
call sym.alleg40.dll_uconvert
add esp, 0x14
lea edx, [esp + 0x14]
push eax
push 0x40
push 0x6375722e
push edx
push 0x41534338
push 0x100758f0
call sym.alleg40.dll_uconvert
add esp, 0x14
push eax
call sym.alleg40.dll_get_config_id
add esp, 0xc
mov edi, eax
push ebx
push sym.alleg40.dll_allegro_error
mov dword [sym.alleg40.dll_system_driver], ebx
call dword [sym.alleg40.dll_usetc]
mov eax, dword [sym.alleg40.dll_system_directx]
add esp, 8
cmp eax, ebx
je 0x100011e8
mov esi, 0x1007c7dc
cmp dword [esi - 4], edi
je 0x100011a1
cmp dword [esi + 4], ebx
je 0x100011de
cmp edi, ebx
jne 0x100011de
mov eax, dword [esi]
mov dword [sym.alleg40.dll_system_driver], eax
mov eax, dword [eax + 0xc]
push eax
call sym.alleg40.dll_get_config_text
mov ecx, dword [sym.alleg40.dll_system_driver]
add esp, 4
mov dword [ecx + 8], eax
mov eax, dword [sym.alleg40.dll_system_driver]
mov edx, dword [eax + 8]
mov dword [eax + 4], edx
mov eax, dword [sym.alleg40.dll_system_driver]
call dword [eax + 0x10]
test eax, eax
je 0x100011e8
cmp edi, ebx
mov dword [sym.alleg40.dll_system_driver], ebx
jne 0x100011f0
mov eax, dword [esi + 0xc]
add esi, 0xc
cmp eax, ebx
jne 0x10001193
cmp dword [sym.alleg40.dll_system_driver], ebx
jne 0x1000126d
push str.Fatal_error:_unable_to_activate_the_Allegro_system
call sym.alleg40.dll_get_config_text
push sym.alleg40.dll_allegro_error
mov esi, eax
call dword [sym.alleg40.dll_ugetc]
add esp, 8
test eax, eax
je 0x1000123d
push sym.alleg40.dll_allegro_error
push esi
push 0x40
lea ecx, [esp + 0x1c]
push 0x6375722e
push ecx
push 0x41534338
push str._s_n_s_n
call sym.alleg40.dll_uconvert
add esp, 0x14
push eax
call sym.alleg40.dll_allegro_message
add esp, 0xc
jmp 0x10001265
push esi
push 0x40
lea edx, [esp + 0x18]
push 0x6375722e
push edx
push 0x41534338
push 0x10075934
call sym.alleg40.dll_uconvert
add esp, 0x14
push eax
call sym.alleg40.dll_allegro_message
add esp, 8
push 1
call dword [sym.imp.MSVCRT.dll_exit]
call sym.alleg40.dll_check_cpu
cmp dword [sym.alleg40.dll__allegro_count], ebx
jne 0x1000128f
mov eax, dword [esp + 0x9c]
cmp eax, ebx
je 0x1000128f
push sym.alleg40.dll_allegro_exit
call eax
add esp, 4
mov eax, dword [sym.alleg40.dll__allegro_count]
pop edi
inc eax
pop esi
mov dword [sym.alleg40.dll__allegro_count], eax
xor eax, eax
pop ebx
add esp, 0x84
ret