Function at 0x1000e460
Capabilities:
Get file size
Read file on windows
Terminate process

Disassembly:
sub esp, 0x218
push edi
push 0
push 0
push 3
push 0
push 1
mov eax, ecx
push 0x80000000
push eax
mov dword [esp + 0x34], eax
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov edi, eax
cmp edi, 0xffffffff
je 0x1000e723
push ebp
push 0
push edi
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov ebp, eax
cmp ebp, 0x91400
jb 0x1000e72d
push esi
push ebp
call fcn.100ea148
add esp, 4
mov esi, eax
lea eax, [esp + 0x10]
push 0
push eax
push ebp
push esi
push edi
call dword [sym.imp.KERNEL32.dll_ReadFile]
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov edx, ebp
mov ecx, esi
call fcn.1000e300
push esi
mov dword [esp + 0x14], eax
call fcn.100e9b8b
mov edi, dword [esp + 0x14]
add esp, 4
xor eax, eax
nop word [eax + eax]
cmp edi, dword [eax + 0x1011fb04]
je 0x1000e716
add eax, 4
cmp eax, 8
jb 0x1000e4f0
push ebx
push ecx
push str.ExtraCRC
mov edx, str.Debugging
lea ecx, [esp + 0x20]
call fcn.1000dec0
mov esi, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
cmp esi, ebx
je 0x1000e61d
nop dword [eax]
cmp dword [esi + 0x14], 0x10
jb 0x1000e53a
mov eax, dword [esi]
jmp 0x1000e53c
mov eax, esi
push 0x10
push 0
push eax
call fcn.100f0a1c
add esp, 0xc
test eax, eax
je 0x1000e555
cmp edi, eax
je 0x1000e613
add esi, 0x18
cmp esi, ebx
jne 0x1000e530
mov byte [esp + 0x13], 0
mov ecx, dword [esp + 0x18]
test ecx, ecx
je 0x1000e5f9
push dword [esp + 0x24]
mov edx, dword [esp + 0x20]
push ecx
call fcn.1000e070
mov ecx, dword [esp + 0x20]
mov eax, 0x2aaaaaab
mov ebx, dword [esp + 0x18]
sub ecx, ebx
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 0xaaaaaaa
ja 0x1000e73e
lea eax, [eax + eax*2]
shl eax, 3
cmp eax, 0x1000
jb 0x1000e5d8
test bl, 0x1f
jne 0x1000e73e
mov eax, dword [ebx - 4]
cmp eax, ebx
jae 0x1000e73e
sub ebx, eax
cmp ebx, 4
jb 0x1000e73e
cmp ebx, 0x23
ja 0x1000e73e
mov ebx, eax
push ebx
call fcn.100e9b9e
add esp, 4
mov dword [esp + 0x18], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], 0
cmp byte [esp + 0x13], 0
je 0x1000e6b1
mov eax, dword [esp + 0x14]
pop ebx
pop esi
pop ebp
pop edi
add esp, 0x218
ret
mov byte [esp + 0x13], 1
jmp 0x1000e561
test esi, esi
je 0x1000e6b1
push dword [esp + 0x24]
mov edx, ebx
push ecx
mov ecx, esi
call fcn.1000e070
mov ecx, dword [esp + 0x20]
mov eax, 0x2aaaaaab
mov ebx, dword [esp + 0x18]
sub ecx, ebx
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 0xaaaaaaa
ja 0x1000e73e
lea eax, [eax + eax*2]
shl eax, 3
cmp eax, 0x1000
jb 0x1000e690
test bl, 0x1f
jne 0x1000e73e
mov eax, dword [ebx - 4]
cmp eax, ebx
jae 0x1000e73e
sub ebx, eax
cmp ebx, 4
jb 0x1000e73e
cmp ebx, 0x23
ja 0x1000e73e
mov ebx, eax
push ebx
call fcn.100e9b9e
add esp, 4
mov dword [esp + 0x18], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], 0
push dword [esp + 0x14]
cmp byte [0x10174f82], 0
mov ecx, str.Youre_trying_to_use_sfall_with_an_incompatible_version_of_Fallout._nWas_expecting_Fallout_2_v1.02_US._n_n_s_has_an_unexpected_CRC._nExpected_0x_X_but_got_0x_X.
push 0xe1680293
push dword [esp + 0x2c]
mov eax, 0x1011f948
cmove eax, ecx
push eax
lea eax, [esp + 0x38]
push eax
call fcn.1000e7d0
add esp, 0x14
cmp ebp, 0x122800
jne 0x1000e74a
push 0x2032
push str.CRC_Mismatch
lea eax, [esp + 0x30]
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
sub eax, 3
je 0x1000e743
sub eax, 1
jne 0x1000e604
mov edi, dword [esp + 0x14]
jmp 0x1000e505
pop esi
pop ebp
or eax, 0xffffffff
pop edi
add esp, 0x218
ret
mov ecx, str.Cannot_open_game_exe_for_CRC_check.
call fcn.1000e2e0
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, str.Youre_trying_to_use_sfall_with_an_incompatible_version_of_Fallout.
call fcn.1000e2e0
call fcn.100efe2d
push 1
call fcn.100f669f
lea ecx, [esp + 0x28]
call fcn.1000e2e0
int3