Function at 0x405980
Capabilities:
Read file on windows
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x64
mov eax, dword [section..data]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov edi, ecx
mov ecx, dword [0x437c5c]
lea eax, [edi*8]
sub eax, edi
add eax, eax
add eax, eax
add eax, eax
mov esi, dword [eax + ecx]
mov dword [ebp - 0x64], eax
xor eax, eax
push eax
push eax
push eax
push esi
mov dword [edi*8 + 0x437c40], eax
mov dword [edi*8 + 0x437c44], eax
call dword [sym.imp.MSVCR100.dll__fseeki64]
mov ebx, dword [sym.imp.MSVCR100.dll_fread]
push esi
push 1
lea edx, [ebp - 0x60]
push 0x50
push edx
call ebx
lea eax, [ebp - 0x60]
push 0xa
push eax
call dword [sym.imp.MSVCR100.dll_strchr]
add esp, 0x28
test eax, eax
je 0x405a05
mov byte [eax], 0
dec eax
cmp byte [eax], 0
je 0x405a05
cmp byte [eax], 0x20
jne 0x405a05
mov byte [eax], 0
dec eax
cmp byte [eax], 0
jne 0x4059f7
push 0x29
lea ecx, [ebp - 0x60]
push str.HEADER_RECORDLIBRARY_HEADER_RECORD
push ecx
call dword [sym.imp.MSVCR100.dll_strncmp]
add esp, 0xc
test eax, eax
je 0x405a5c
mov esi, dword [sym.imp.MSVCR100.dll_printf]
push str.SAS_transport
push edi
push str.The_level__d_file_does_not_seem_to_be_a__s_file__n
call esi
mov edi, dword [edi*4 + 0x438510]
push edi
push str.__s_is_an_empty_file_n
call esi
add esp, 0x14
call fcn.00404c60
inc dword [0x437d8c]
je 0x405a54
call fcn.004048c0
push 1
call dword [sym.imp.MSVCR100.dll_exit]
push esi
push 1
lea edx, [ebp - 0x60]
push 0x50
push edx
call ebx
push esi
push 1
lea eax, [ebp - 0x60]
push 0x50
push eax
call ebx
push esi
push 1
lea ecx, [ebp - 0x60]
push 0x50
push ecx
call ebx
lea edx, [ebp - 0x60]
push 0xa
push edx
call dword [sym.imp.MSVCR100.dll_strchr]
add esp, 0x38
test eax, eax
je 0x405aae
mov byte [eax], 0
dec eax
cmp byte [eax], 0
je 0x405aae
lea esp, [esp]
cmp byte [eax], 0x20
jne 0x405aae
mov byte [eax], 0
dec eax
cmp byte [eax], 0
jne 0x405aa0
push 3
lea eax, [ebp - 0x15]
push 0x42fb9c
push eax
call dword [sym.imp.MSVCR100.dll_strncmp]
add esp, 0xc
test eax, eax
jne 0x405ad0
mov dword [0x4399dc], 0x88
push 3
lea ecx, [ebp - 0x15]
push 0x42fba0
push ecx
call dword [sym.imp.MSVCR100.dll_strncmp]
add esp, 0xc
test eax, eax
jne 0x405b74
push esi
push 1
lea edx, [ebp - 0x60]
push 0x50
push edx
mov dword [0x4399dc], 0x8c
call ebx
push esi
push 1
lea eax, [ebp - 0x60]
push 0x50
push eax
call ebx
push esi
push 1
lea ecx, [ebp - 0x60]
push 0x50
push ecx
call ebx
push esi
push 1
lea edx, [ebp - 0x60]
push 0x50
push edx
call ebx
lea eax, [ebp - 0x2a]
add esp, 0x40
push eax
mov byte [ebp - 0x26], 0
call dword [sym.imp.MSVCR100.dll_atol]
add esp, 4
test eax, eax
jg 0x405b52
mov ecx, 1
mov eax, ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0042e325
mov esp, ebp
pop ebp
ret
mov esi, dword [ebp - 0x64]
mov edx, dword [0x437c5c]
xor ecx, ecx
mov dword [esi + edx + 4], eax
mov eax, ecx
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0042e325
mov esp, ebp
pop ebp
ret
push str.SAS_transport
push edi
push str.The_level__d_file_does_not_seem_to_be_a__s_file__n
call dword [sym.imp.MSVCR100.dll_printf]
add esp, 0xc
call fcn.00404c60
inc dword [0x437d8c]
je 0x405b9a
call fcn.004048c0
push 0x64
call dword [sym.imp.MSVCR100.dll_exit]
int3