Function at 0x401c72
Capabilities:
Print debug messages

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
push str.D3Z:CreateD3DRM_n
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
cmp dword [0x4367ec], 0
jne 0x401d1c
push 0x4367f0
call sub.d3drm.dll_Direct3DRMCreate
test eax, eax
je 0x401caa
call fcn.004011f7
xor eax, eax
jmp 0x4020cc
push 0x4367ec
push 0x42e780
mov eax, dword [0x4367f0]
mov ecx, dword [eax]
mov edx, dword [0x4367f0]
push edx
call dword [ecx]
test eax, eax
je 0x401cf8
cmp dword [0x4367f0], 0
je 0x401cec
mov eax, dword [0x4367f0]
mov ecx, dword [eax]
mov edx, dword [0x4367f0]
push edx
call dword [ecx + 8]
mov dword [0x4367f0], 0
call fcn.004011f7
xor eax, eax
jmp 0x4020cc
cmp dword [0x4367f0], 0
je 0x401d1c
mov eax, dword [0x4367f0]
mov ecx, dword [eax]
mov edx, dword [0x4367f0]
push edx
call dword [ecx + 8]
mov dword [0x4367f0], 0
cmp dword [0x4377c8], 8
jne 0x401f17
push str.D3Z:palettized__n
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
push 0
call dword [sym.imp.USER32.dll_GetDC]
mov dword [ebp - 8], eax
push 0x436804
push 0x100
push 0
mov eax, dword [ebp - 8]
push eax
call dword [sym.imp.GDI32.dll_GetSystemPaletteEntries]
mov ecx, dword [ebp - 8]
push ecx
push 0
call dword [sym.imp.USER32.dll_ReleaseDC]
mov dword [ebp - 4], 0
jmp 0x401d73
mov edx, dword [ebp - 4]
add edx, 1
mov dword [ebp - 4], edx
cmp dword [ebp - 4], 0x100
jge 0x401d89
mov eax, dword [ebp - 4]
mov byte [eax*4 + 0x436807], 0x40
jmp 0x401d6a
mov dword [ebp - 4], 0
jmp 0x401d9b
mov ecx, dword [ebp - 4]
add ecx, 1
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 4]
imul edx, edx, 3
cmp dword [edx*4 + str.kk], 0xffffffff
je 0x401e1d
cmp dword [ebp - 4], 0x80
jge 0x401e1d
mov eax, dword [ebp - 4]
imul eax, eax, 3
mov ecx, 0xfe
sub ecx, dword [ebp - 4]
mov dl, byte [eax*4 + str.kk]
mov byte [ecx*4 + 0x436804], dl
mov eax, dword [ebp - 4]
imul eax, eax, 3
mov ecx, 0xfe
sub ecx, dword [ebp - 4]
mov dl, byte [eax*4 + 0x42e36c]
mov byte [ecx*4 + 0x436805], dl
mov eax, dword [ebp - 4]
imul eax, eax, 3
mov ecx, 0xfe
sub ecx, dword [ebp - 4]
mov dl, byte [eax*4 + 0x42e370]
mov byte [ecx*4 + 0x436806], dl
mov eax, 0xfe
sub eax, dword [ebp - 4]
mov byte [eax*4 + 0x436807], 0x40
jmp 0x401d92
mov dword [ebp - 4], 0
jmp 0x401e2f
mov ecx, dword [ebp - 4]
add ecx, 1
mov dword [ebp - 4], ecx
cmp dword [ebp - 4], 0xd7
jge 0x401e9e
mov eax, dword [ebp - 4]
cdq
mov ecx, 0x24
idiv ecx
cdq
mov ecx, 6
idiv ecx
mov eax, dword [ebp - 4]
mov cl, byte [edx*4 + 0x42e350]
mov byte [eax*4 + 0x436804], cl
mov eax, dword [ebp - 4]
cdq
mov ecx, 6
idiv ecx
cdq
mov ecx, 6
idiv ecx
mov eax, dword [ebp - 4]
mov cl, byte [edx*4 + 0x42e350]
mov byte [eax*4 + 0x436805], cl
mov eax, dword [ebp - 4]
cdq
mov ecx, 6
idiv ecx
mov eax, dword [ebp - 4]
mov cl, byte [edx*4 + 0x42e350]
mov byte [eax*4 + 0x436806], cl
jmp 0x401e26
mov byte [0x436b60], 0x4a
mov byte [0x436b61], 0x4a
mov byte [0x436b62], 0xff
mov byte [0x436c00], 0xff
mov byte [0x436c01], 0xff
mov byte [0x436c02], 0xff
push 0
push 0x436800
push 0x436804
push 0xc
mov edx, dword [0x4367e0]
mov eax, dword [edx]
mov ecx, dword [0x4367e0]
push ecx
call dword [eax + 0x14]
mov edx, dword [0x436800]
push edx
mov eax, dword [0x4367f8]
mov ecx, dword [eax]
mov edx, dword [0x4367f8]
push edx
call dword [ecx + 0x7c]
mov eax, dword [0x436800]
push eax
mov ecx, dword [0x4367f4]
mov edx, dword [ecx]
mov eax, dword [0x4367f4]
push eax
call dword [edx + 0x7c]
cmp dword [0x436c08], 0
jne 0x4020c7
mov dword [ebp - 0xc], 0
mov ecx, dword [0x436c24]
push ecx
call fcn.004020d0
add esp, 4
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jne 0x401f5a
call fcn.004011f7
push str.D3Z:Error:Fail_to_Direct3D_create__n
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
xor eax, eax
jmp 0x4020cc
push 0x436c08
mov edx, dword [0x4367f8]
push edx
mov eax, dword [ebp - 0xc]
push eax
mov ecx, dword [0x4367e4]
mov edx, dword [ecx]
mov eax, dword [0x4367e4]
push eax
call dword [edx + 0x20]
test eax, eax
je 0x401f96
push str.D3Z:Cant_Create_Direct3DDevice2_from_Direct3D2_n
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
call fcn.004011f7
xor eax, eax
jmp 0x4020cc
push 0x436c10
mov ecx, dword [0x436c08]
push ecx
mov edx, dword [0x4367e4]
push edx
mov eax, dword [0x4367ec]
mov ecx, dword [eax]
mov edx, dword [0x4367ec]
push edx
call dword [ecx + 0x40]
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
je 0x401fe5
push 0x302
push 0x431478
mov eax, dword [ebp - 0x10]
push eax
call fcn.0040530f
add esp, 0xc
call fcn.004011f7
xor eax, eax
jmp 0x4020cc
push 2
mov ecx, dword [0x436c10]
mov edx, dword [ecx]
mov eax, dword [0x436c10]
push eax
call dword [edx + 0x44]
cmp dword [0x4377c8], 8
jne 0x402052
push 0
mov ecx, dword [0x436c10]
mov edx, dword [ecx]
mov eax, dword [0x436c10]
push eax
call dword [edx + 0x4c]
push 0x89
mov ecx, dword [0x436c10]
mov edx, dword [ecx]
mov eax, dword [0x436c10]
push eax
call dword [edx + 0x54]
push 0
mov ecx, dword [0x436c10]
mov edx, dword [ecx]
mov eax, dword [0x436c10]
push eax
call dword [edx + 0x58]
push 8
mov ecx, dword [0x436c10]
mov edx, dword [ecx]
mov eax, dword [0x436c10]
push eax
call dword [edx + 0x50]
jmp 0x4020c7
push 0x20
mov ecx, dword [0x436c10]
mov edx, dword [ecx]
mov eax, dword [0x436c10]
push eax
call dword [edx + 0x50]
push 0x40
mov ecx, dword [0x4367ec]
mov edx, dword [ecx]
mov eax, dword [0x4367ec]
push eax
call dword [edx + 0x70]
push 0x20
mov ecx, dword [0x4367ec]
mov edx, dword [ecx]
mov eax, dword [0x4367ec]
push eax
call dword [edx + 0x74]
push 0x89
mov ecx, dword [0x436c10]
mov edx, dword [ecx]
mov eax, dword [0x436c10]
push eax
call dword [edx + 0x54]
push 0
mov ecx, dword [0x436c10]
mov edx, dword [ecx]
mov eax, dword [0x436c10]
push eax
call dword [edx + 0x4c]
push 0
mov ecx, dword [0x436c10]
mov edx, dword [ecx]
mov eax, dword [0x436c10]
push eax
call dword [edx + 0x58]
mov eax, 1
mov esp, ebp
pop ebp
ret