Function at 0x4413b0
Capabilities:
Read file on windows

Disassembly:
push ecx
push ebx
mov ebx, dword [esp + 0xc]
push ebp
push edi
xor edi, edi
cmp ebx, edi
mov ebp, ecx
mov dword [esp + 0xc], ebp
jne 0x4413d7
push edi
push edi
push edi
push 2
call fcn.00443910
pop edi
pop ebp
xor al, al
pop ebx
pop ecx
ret 8
push esi
mov esi, dword [ebp + 0x18]
cmp esi, edi
je 0x4413ef
nop
mov ecx, esi
mov eax, dword [ecx]
mov esi, dword [esi + 0x40]
push 1
call dword [eax]
cmp esi, edi
jne 0x4413e0
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 0x441437
push edi
push edi
push edi
push 0xd
mov ecx, ebp
call fcn.00443910
pop esi
pop edi
pop ebp
xor al, al
pop ebx
pop ecx
ret 8
add ebp, 0x78
push 0x4807da
mov ecx, ebp
call dword [0x47f5e4]
push edi
mov ecx, ebp
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
push ebx
mov esi, eax
push 1
push edi
push esi
mov dword [esp + 0x2c], esi
mov byte [esi], 0
call dword [sym.imp.MSVCR71.dll_fread]
add esp, 0x14
cmp eax, 1
je 0x441499
push esi
call sub.MFC71.DLL_operator_delete
mov ecx, dword [esp + 0x14]
add esp, 4
push 0
push 0
push 0
push 2
call fcn.00443910
pop esi
pop edi
pop ebp
xor al, al
pop ebx
pop ecx
ret 8
mov ebx, dword [esp + 0x18]
mov byte [ebx + edi], 0
cmp byte [ebx], 0
mov eax, esi
je 0x4414f7
mov cl, byte [esi]
cmp cl, 0xa
jne 0x4414c3
mov edx, esi
sub edx, eax
inc edx
push edx
push eax
mov ecx, ebp
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 eax, esi
jmp 0x4414f2
cmp cl, 0xd
jne 0x4414f1
mov ecx, esi
sub ecx, eax
test ecx, ecx
jle 0x4414da
push ecx
push eax
mov ecx, ebp
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, ebp
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 0x4414be
add esi, 2
mov eax, esi
jmp 0x4414f2
inc esi
cmp byte [esi], 0
jne 0x4414a8
sub esi, eax
je 0x441505
push esi
push eax
mov ecx, ebp
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 ebx
call sub.MFC71.DLL_operator_delete
mov eax, dword [ebp + 0x18]
add esp, 4
cmp eax, 0x10
jb 0x44151b
mov ebp, dword [ebp + 4]
jmp 0x44151e
add ebp, 4
mov ecx, dword [esp + 0x1c]
mov esi, dword [esp + 0x10]
mov eax, dword [esi]
push ecx
push 0
push ebp
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
pop ecx
ret 8