Function at 0x401919
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push ebx
sub esp, 0x54
mov dword [ebp - 0x14], 0
lea eax, [ebp - 0x21]
mov ecx, eax
call fcn.0041bed0
lea eax, [ebp - 0x30]
lea edx, [ebp - 0x21]
mov dword [esp + 4], edx
mov dword [esp], 0x1000
mov ecx, eax
call method.std::vector_char__std::allocator_char___.vector_unsigned_int__std::allocator_char__const_
sub esp, 8
lea eax, [ebp - 0x21]
mov ecx, eax
call sym.std::allocator_char_::allocator__
mov byte [ebp - 9], 1
lea eax, [ebp - 0x34]
mov ecx, eax
call fcn.004202d0
mov dword [ebp - 0x38], 0
lea eax, [ebp - 0x30]
mov ecx, eax
call method.std::vector_char__std::allocator_char___.size___const
mov ebx, eax
lea eax, [ebp - 0x30]
mov dword [esp], 0
mov ecx, eax
call method.std::vector_char__std::allocator_char___.operator___unsigned_int_
sub esp, 4
mov dword [esp + 0x10], 0
lea edx, [ebp - 0x38]
mov dword [esp + 0xc], edx
mov dword [esp + 8], ebx
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sym._ReadFile_20
sub esp, 0x14
test eax, eax
je 0x4019bb
mov eax, dword [ebp - 0x38]
test eax, eax
jne 0x4019c2
mov eax, 1
jmp 0x4019c7
mov eax, 0
test al, al
je 0x4019e7
call sym._GetLastError_0
mov dword [ebp - 0x14], eax
movzx eax, byte [ebp - 9]
xor eax, 1
test al, al
jne 0x401a9b
jmp 0x401ab3
mov dword [ebp - 0x10], 0
jmp 0x401a8a
lea eax, [ebp - 0x30]
mov edx, dword [ebp - 0x10]
mov dword [esp], edx
mov ecx, eax
call method.std::vector_char__std::allocator_char___.operator___unsigned_int_
sub esp, 4
movzx eax, byte [eax]
mov byte [ebp - 0x15], al
cmp byte [ebp - 9], 0
je 0x401a26
cmp byte [ebp - 0x15], 0xd
je 0x401a1e
cmp byte [ebp - 0x15], 0xa
jne 0x401a20
jmp 0x401a86
mov byte [ebp - 9], 0
jmp 0x401a72
cmp byte [ebp - 0x15], 0xd
je 0x401a32
cmp byte [ebp - 0x15], 0xa
jne 0x401a72
mov byte [ebp - 9], 1
lea eax, [ebp - 0x20]
lea edx, [ebp - 0x34]
mov dword [esp], edx
mov ecx, eax
call sym.std::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string_std::string_const_
sub esp, 4
mov eax, dword [ebp + 0xc]
lea edx, [ebp - 0x20]
mov dword [esp], edx
mov ecx, eax
call method.std.function_void__std::string__::operator___std::string__const
sub esp, 4
lea eax, [ebp - 0x20]
mov ecx, eax
call sym.std::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string__
lea eax, [ebp - 0x34]
mov ecx, eax
call method.std::string.clear__
jmp 0x401a86
movsx edx, byte [ebp - 0x15]
lea eax, [ebp - 0x34]
mov dword [esp], edx
mov ecx, eax
call method.std::string.push_back_char_
sub esp, 4
add dword [ebp - 0x10], 1
mov eax, dword [ebp - 0x38]
cmp dword [ebp - 0x10], eax
jb 0x4019f3
jmp 0x401964
lea eax, [ebp - 0x34]
mov ecx, eax
call method.std::string.empty___const
xor eax, 1
test al, al
je 0x401ab3
mov eax, 1
jmp 0x401ab8
mov eax, 0
test al, al
je 0x401aec
lea eax, [ebp - 0x1c]
lea edx, [ebp - 0x34]
mov dword [esp], edx
mov ecx, eax
call sym.std::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string_std::string_const_
sub esp, 4
mov eax, dword [ebp + 0xc]
lea edx, [ebp - 0x1c]
mov dword [esp], edx
mov ecx, eax
call method.std.function_void__std::string__::operator___std::string__const
sub esp, 4
lea eax, [ebp - 0x1c]
mov ecx, eax
call sym.std::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string__
mov eax, dword [ebp - 0x14]
mov dword [esp], eax
call sym._SetLastError_4
sub esp, 4
cmp dword [ebp - 0x14], 0
jne 0x401b07
mov eax, 1
jmp 0x401b0c
mov eax, 0
mov ebx, eax
lea eax, [ebp - 0x34]
mov ecx, eax
call sym.std::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string__
lea eax, [ebp - 0x30]
mov ecx, eax
call method.std::vector_char__std::allocator_char___.vector__
mov eax, ebx
jmp 0x401b7c
mov ebx, dword [ebp - 4]
leave
ret