Function at 0x440f00
Capabilities:
Read file on windows

Disassembly:
sub esp, 8
push ebx
mov ebx, dword [esp + 0x10]
push ebp
push edi
xor edi, edi
cmp ebx, edi
mov ebp, ecx
mov dword [esp + 0x10], ebp
jne 0x440f2b
push edi
push edi
push edi
push 2
call fcn.00443470
pop edi
pop ebp
xor al, al
pop ebx
add esp, 8
ret 8
push esi
mov esi, dword [ebp + 0x18]
cmp esi, edi
je 0x440f42
mov ecx, esi
mov eax, dword [ecx]
mov esi, dword [esi + 0x40]
push 1
call dword [eax]
cmp esi, edi
jne 0x440f33
mov esi, dword [sym.imp.MSVCR71.dll_fseek]
push 2
or eax, 0xffffffff
mov dword [ebp + 0x18], edi
mov dword [ebp + 0x1c], edi
push edi
push ebx
mov dword [ebp + 8], eax
mov dword [ebp + 4], eax
call esi
push ebx
call dword [sym.imp.MSVCR71.dll_ftell]
push 0
push 0
push ebx
mov edi, eax
call esi
add esp, 0x1c
test edi, edi
jne 0x440f8c
push edi
push edi
push edi
push 0xd
mov ecx, ebp
call fcn.00443470
pop esi
pop edi
pop ebp
xor al, al
pop ebx
add esp, 8
ret 8
lea ebx, [ebp + 0x78]
push 0x46f7fe
mov ecx, ebx
call dword [0x46e5d8]
push edi
mov ecx, ebx
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::reserve_unsigned_int_]
lea ecx, [edi + 1]
push ecx
call sub.MFC71.DLL_operator_new
mov edx, dword [esp + 0x20]
push edx
mov esi, eax
push 1
push edi
push esi
mov dword [esp + 0x24], esi
mov byte [esi], 0
call dword [sym.imp.MSVCR71.dll_fread]
add esp, 0x14
cmp eax, 1
je 0x440ff2
push esi
call sub.MFC71.DLL_operator_delete
add esp, 4
push 0
push 0
push 0
push 2
mov ecx, ebp
call fcn.00443470
pop esi
pop edi
pop ebp
xor al, al
pop ebx
add esp, 8
ret 8
mov eax, dword [esp + 0x10]
push edi
push eax
mov ebp, esi
call fcn.00459940
mov eax, dword [esp + 0x18]
mov byte [eax + edi], 0
mov cl, byte [eax]
add esp, 8
test cl, cl
je 0x44105d
mov al, byte [esi]
cmp al, 0xa
jne 0x44102a
mov ecx, esi
sub ecx, ebp
inc ecx
push ecx
push ebp
mov ecx, ebx
call dword [sym.imp.MSVCP71.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::append_char_const___unsigned_int_]
inc esi
mov ebp, esi
jmp 0x441058
cmp al, 0xd
jne 0x441057
mov eax, esi
sub eax, ebp
test eax, eax
jle 0x441040
push eax
push ebp
mov ecx, ebx
call dword [sym.imp.MSVCP71.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::append_char_const___unsigned_int_]
push 0xa
mov ecx, ebx
call dword [sym.imp.MSVCP71.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::operator_char_]
cmp byte [esi + 1], 0xa
jne 0x441025
add esi, 2
mov ebp, esi
jmp 0x441058
inc esi
cmp byte [esi], 0
jne 0x441010
sub esi, ebp
je 0x44106b
push esi
push ebp
mov ecx, ebx
call dword [sym.imp.MSVCP71.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::append_char_const___unsigned_int_]
mov edx, dword [esp + 0x10]
push edx
call sub.MFC71.DLL_operator_delete
mov eax, dword [ebx + 0x18]
add esp, 4
cmp eax, 0x10
jb 0x441085
mov ebx, dword [ebx + 4]
jmp 0x441088
add ebx, 4
mov ecx, dword [esp + 0x20]
mov esi, dword [esp + 0x14]
mov eax, dword [esi]
push ecx
push 0
push ebx
mov ecx, esi
call dword [eax + 0xc]
mov al, byte [esi + 0x44]
pop esi
pop edi
test al, al
pop ebp
sete al
pop ebx
add esp, 8
ret 8