Function at 0x4ab100
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x38
mov eax, dword [0x5153d4]
xor eax, esp
mov dword [esp + 0x34], eax
movsd xmm0, qword [0x5107a8]
push esi
push edi
mov dword [0x748fb4], 0
movsd qword [0x516af8], xmm0
movsd qword [0x516af0], xmm0
call fcn.004a22c0
test eax, eax
je 0x4ab204
cmp byte [0x77333e], 0
lea eax, [esp + 0x10]
push 0
push 1
push eax
mov ecx, str.1057182754279784508
mov eax, str.1057239187859972186
xorps xmm0, xmm0
cmove eax, ecx
push eax
movaps xmmword [esp + 0x20], xmm0
movq qword [esp + 0x30], xmm0
call fcn.004b1340
add esp, 0x10
cmp byte [0x77333e], 0
je 0x4ab217
mov ecx, str.datag_trtla.dat
call fcn.00430a80
test eax, eax
jne 0x4ab1a6
mov ecx, str.datag_tombPC.dat
call fcn.00430a80
test eax, eax
je 0x4ab504
mov eax, 0x7b7ba8
nop dword [eax + eax]
mov dword [eax], 0xffffffff
add eax, 0x10
cmp eax, 0x7b7da8
jl 0x4ab1b0
mov dword [0x6f27ac], 1
call fcn.00469f80
call fcn.0049fb20
push 0xe4e1c0
push 0
mov dword [0x748fb4], 0xffffffff
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov dword [0x74771c], eax
test eax, eax
jne 0x4ab22e
push str.GameMain:_could_not_allocate_malloc_buffer
push 0x748fb8
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
xor eax, eax
pop edi
pop esi
mov ecx, dword [esp + 0x34]
xor ecx, esp
call fcn.004b557b
mov esp, ebp
pop ebp
ret
mov ecx, str.data_tombPC.dat
call fcn.00430a80
test eax, eax
je 0x4ab504
jmp 0x4ab1a6
movsd xmm0, qword [0x5107a8]
ucomisd xmm0, qword [0x516af8]
mov dword [0x748fb4], 0
mov dword [0x6f45c0], 1
lahf
test ah, 0x44
jnp 0x4ab265
movsd qword [0x516af8], xmm0
call fcn.00489de0
call fcn.004a26a0
cmp byte [0x77333e], 0
mov ecx, str.pixglegal.bmp
mov edx, dword [0x7732c4]
jne 0x4ab283
mov ecx, str.pixlegal.bmp
call fcn.004a95c0
call fcn.004a8ed0
mov edx, 1
call fcn.0049ed80
mov byte [0x6e0d5f], 1
call fcn.004a9010
push ecx
mov ecx, dword [0x6e6bc0]
mov edx, 1
call fcn.00433470
add esp, 4
cmp byte [0x6e0d72], 0
jne 0x4ab4ee
cmp eax, 0x700
jne 0x4ab2ee
push str.GameMain:_failed_in_GF_DoFrontEndSequence__
push 0x748fb8
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
xor eax, eax
pop edi
pop esi
mov ecx, dword [esp + 0x34]
xor ecx, esp
call fcn.004b557b
mov esp, ebp
pop ebp
ret
mov eax, dword [0x6e6ae8]
mov dword [0x748fb0], 0
nop dword [eax]
movzx ecx, al
and eax, 0xffffff00
cmp eax, 0x500
jg 0x4ab417
je 0x4ab42c
cmp eax, 0x200
jg 0x4ab3c7
je 0x4ab3b8
test eax, eax
je 0x4ab369
cmp eax, 0x100
jne 0x4ab482
push ecx
mov ecx, 0x6ef198
call fcn.0049fe10
mov ax, word [0x6ef70f]
add esp, 4
cmp ax, word [0x6e6b28]
jg 0x4ab476
movsx ecx, ax
mov edx, 2
call fcn.00430c90
jmp 0x4ab300
mov ax, word [0x6e6b36]
test ax, ax
jns 0x4ab3a6
movsx eax, word [0x6e6b28]
cmp ecx, eax
jle 0x4ab3a9
push ecx
push str.GameMain:_STARTGAME_with_invalid_level_number___d_
push 0x748fb8
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
xor eax, eax
pop edi
pop esi
mov ecx, dword [esp + 0x34]
xor ecx, esp
call fcn.004b557b
mov esp, ebp
pop ebp
ret
movsx ecx, ax
mov edx, 1
call fcn.00430c90
jmp 0x4ab300
call fcn.00417920
mov eax, 0x500
jmp 0x4ab300
cmp eax, 0x400
jne 0x4ab482
cmp word [0x6e6b32], 0
jne 0x4ab3e6
mov eax, 0x500
jmp 0x4ab300
movsx eax, word [0x6e6b32]
mov edx, dword [0x7ccbcc]
cmp edx, eax
jl 0x4ab3f9
xor edx, edx
movsx ecx, word [edx*2 + 0x6e6b70]
inc edx
mov dword [0x7ccbcc], edx
mov edx, 3
call fcn.00430c90
jmp 0x4ab300
cmp eax, 0x600
je 0x4ab3bd
cmp eax, 0x700
je 0x4ab482
cmp eax, 0x800
jne 0x4ab482
test byte [0x6e6b58], 2
je 0x4ab46c
mov eax, dword [0x6e6aec]
test eax, eax
js 0x4ab449
cmp eax, 0x500
jne 0x4ab300
push str.GameMain_Failed:_Title_disabled__no_replacement
push 0x748fb8
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
xor eax, eax
pop edi
pop esi
mov ecx, dword [esp + 0x34]
xor ecx, esp
call fcn.004b557b
mov esp, ebp
pop ebp
ret
call fcn.004aae40
jmp 0x4ab300
cwde
push eax
push str.GameMain:_STARTSAVEDGAME_with_invalid_level_number___d_
jmp 0x4ab385
cmp dword [0x748f84], 0
je 0x4ab497
mov byte [0x6e0d5f], 1
call fcn.004a9010
call fcn.004adac0
push 0x51026c
push str.data.bin
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fopen]
mov edi, eax
add esp, 8
test edi, edi
je 0x4ab4e9
mov esi, dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
push edi
push 0xa
push 4
push 0x6ef198
call esi
push edi
push 0xa
push 4
push 0x6ef1c0
call esi
push edi
push 1
push 4
push 0x6ef1e8
call esi
push edi
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
add esp, 0x34
call fcn.004a1d80
mov ecx, dword [esp + 0x3c]
mov eax, 1
pop edi
pop esi
xor ecx, esp
call fcn.004b557b
mov esp, ebp
pop ebp
ret
mov ecx, str.GameMain:_could_not_load_script_file
call fcn.004ad960
int3