Function at 0x40e1a0
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
push str.FOR_DIAGNOSTIC_LOG_FILE
mov dword [ebp - 0xc], ebx
mov ebx, eax
mov dword [ebp - 8], edi
mov edi, edx
mov dword [ebp - 4], esi
call fcn.0047cbc0
mov edx, eax
add esp, 4
test edx, edx
je 0x40e1f6
cmp edi, 0xaa
je 0x40e392
push 0x4e9ae4
push edx
call fcn.0047e790
mov esi, eax
add esp, 8
test esi, esi
je 0x40e1f6
push esi
push ebx
call fcn.0047e870
push esi
call fcn.0047ec70
add esp, 0xc
push str.FOR_DISABLE_DIAGNOSTIC_DISPLAY
call fcn.00439910
add esp, 4
test eax, eax
jne 0x40e25d
cmp dword [0x518340], 0
je 0x40e222
push 0x2010
push str.Intel_r__Visual_Fortran_run_time_error
push ebx
call fcn.004d2810
jmp 0x40e25a
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov esi, eax
mov edx, dword [esi + 0x3c]
movzx eax, word [edx + esi + 0x18]
cmp eax, 0x10b
je 0x40e2a2
cmp edi, 0xaa
je 0x40e26c
call fcn.0047cee0
mov esi, eax
add esi, 0x40
push esi
push ebx
call fcn.0047e870
push esi
call fcn.0047eed0
add esp, 0xc
xor eax, eax
mov ebx, dword [ebp - 0xc]
mov esi, dword [ebp - 4]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
push 0xfffffffffffffff4
call dword [sym.imp.KERNEL32.dll_GetStdHandle]
mov esi, eax
mov ecx, ebx
xor eax, eax
movzx edx, byte [ecx + eax]
test edx, edx
je 0x40e28f
movzx edx, byte [ecx + eax + 1]
add eax, 2
test edx, edx
jne 0x40e27a
dec eax
push 0
mov edx, eax
lea eax, [ebp - 0x14]
push eax
push edx
push ebx
push esi
call dword [sym.imp.KERNEL32.dll_WriteFile]
jmp 0x40e25d
movzx eax, word [edx + esi + 0x5c]
cmp eax, 2
jne 0x40e23b
push str.user32.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
test eax, eax
je 0x40e301
push str.MessageBoxA
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x40e301
push 0x12010
push str.Intel_r__Visual_Fortran_run_time_error
push ebx
push 0
call eax
test eax, eax
jne 0x40e25d
cmp edi, 0xaa
je 0x40e320
call fcn.0047cee0
add eax, 0x40
push eax
push ebx
call fcn.0047e870
add esp, 8
jmp 0x40e25d
cmp edi, 0xaa
je 0x40e359
call fcn.0047cee0
add eax, 0x40
push eax
push ebx
call fcn.0047e870
add esp, 8
jmp 0x40e25d
push 0xfffffffffffffff4
call dword [sym.imp.KERNEL32.dll_GetStdHandle]
mov esi, eax
mov ecx, ebx
xor eax, eax
movzx edx, byte [ecx + eax]
test edx, edx
je 0x40e343
movzx edx, byte [ecx + eax + 1]
add eax, 2
test edx, edx
jne 0x40e32e
dec eax
push 0
mov edx, eax
lea eax, [ebp - 0x14]
push eax
push edx
push ebx
push esi
call dword [sym.imp.KERNEL32.dll_WriteFile]
jmp 0x40e25d
push 0xfffffffffffffff4
call dword [sym.imp.KERNEL32.dll_GetStdHandle]
mov esi, eax
mov ecx, ebx
xor eax, eax
movzx edx, byte [ecx + eax]
test edx, edx
je 0x40e37c
movzx edx, byte [ecx + eax + 1]
add eax, 2
test edx, edx
jne 0x40e367
dec eax
push 0
mov edx, eax
lea eax, [ebp - 0x14]
push eax
push edx
push ebx
push esi
call dword [sym.imp.KERNEL32.dll_WriteFile]
jmp 0x40e25d
xor eax, eax
push eax
push 0x80
push 4
push eax
push eax
push 0x40000000
push edx
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov esi, eax
cmp esi, 0xffffffff
je 0x40e1f6
push 2
xor eax, eax
push eax
push eax
push esi
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
mov ecx, ebx
xor eax, eax
movzx edx, byte [ecx + eax]
test edx, edx
je 0x40e3db
movzx edx, byte [ecx + eax + 1]
add eax, 2
test edx, edx
jne 0x40e3c6
dec eax
push 0
mov edx, eax
lea eax, [ebp - 0x10]
push eax
push edx
push ebx
push esi
call dword [sym.imp.KERNEL32.dll_WriteFile]
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x40e1f6