Function at 0x685de6f0
Capabilities:
Read file on windows

Disassembly:
push r15
mov eax, 0x1048
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
call fcn.68657b00
sub rsp, rax
test rdx, rdx
mov qword [rsp + 0x1090], rcx
mov rdi, rdx
mov qword [rsp + 0x10a0], r8
mov qword [rsp + 0x10a8], r9
je 0x685de860
xor r15d, r15d
xor r14d, r14d
xor ebx, ebx
mov rcx, rdi
call sub.msvcrt.dll_feof
test eax, eax
jne 0x685de8ca
lea rcx, [rsp + 0x40]
mov r9, rdi
mov r8d, 0x1000
mov edx, 1
call sub.msvcrt.dll_fread
mov rdx, qword [sym.imp.msvcrt.dll__errno]
mov rbp, rax
call rdx
mov eax, dword [rax]
lea r13, [rbp + r15]
lea r12, [rbp + 1]
lea rsi, [r13 + 1]
mov dword [rsp + 0x3c], eax
jmp 0x685de796
add r14, r14
mov rcx, rbx
mov rdx, r14
call sym.libglib_2.0_0.dll_g_try_realloc
test rax, rax
je 0x685de7c5
mov rbx, rax
cmp r14, rsi
jae 0x685de830
test rbx, rbx
jne 0x685de780
cmp r12, 0x1000
mov r14d, 0x1000
mov rcx, rbx
cmovbe r14, r12
mov rdx, r14
call sym.libglib_2.0_0.dll_g_try_realloc
test rax, rax
jne 0x685de793
lea rcx, str.Could_not_allocate__lu_bytes_to_read_file___s_
call sym.libglib_2.0_0.dll_glib_gettext
mov rsi, rax
call sym.libglib_2.0_0.dll_g_file_error_quark
mov rdx, qword [rsp + 0x1090]
mov rcx, qword [rsp + 0x10b0]
mov r9, rsi
mov dword [rsp + 0x20], r14d
mov r8d, 0xd
mov qword [rsp + 0x28], rdx
mov edx, eax
call sym.libglib_2.0_0.dll_g_set_error
mov rcx, rbx
call sym.libglib_2.0_0.dll_g_free
mov rcx, rdi
call sub.msvcrt.dll_fclose
xor eax, eax
add rsp, 0x1048
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov rcx, rdi
call sub.msvcrt.dll_ferror
test eax, eax
jne 0x685de922
lea rcx, [rbx + r15]
lea rdx, [rsp + 0x40]
mov r8, rbp
call sub.msvcrt.dll_memcpy
cmp r15, r13
ja 0x685de88c
mov r15, r13
jmp 0x685de735
lea rax, str.f___NULL
lea r9, str.get_contents_stdio
lea rdx, str.gfileutils.c
lea rcx, [0x6866a474]
mov r8d, 0x28c
mov qword [rsp + 0x20], rax
call sym.libglib_2.0_0.dll_g_assertion_message_expr
lea rcx, str.File___s__is_too_large
call sym.libglib_2.0_0.dll_glib_gettext
mov rsi, rax
call sym.libglib_2.0_0.dll_g_file_error_quark
mov rdx, qword [rsp + 0x1090]
mov rcx, qword [rsp + 0x10b0]
mov r9, rsi
mov r8d, 0x18
mov qword [rsp + 0x20], rdx
mov edx, eax
call sym.libglib_2.0_0.dll_g_set_error
jmp 0x685de803
mov rax, r14
mov rcx, rdi
mov r14, r15
mov r15, rax
call sub.msvcrt.dll_fclose
test r15, r15
je 0x685de910
cmp qword [rsp + 0x10a8], 0
mov byte [rbx + r14], 0
je 0x685de8fb
mov rax, qword [rsp + 0x10a8]
mov qword [rax], r14
mov rdx, qword [rsp + 0x10a0]
mov eax, 1
mov qword [rdx], rbx
jmp 0x685de815
mov ecx, 1
xor r14d, r14d
call sym.libglib_2.0_0.dll_g_malloc
mov rbx, rax
jmp 0x685de8e0
mov ecx, dword [rsp + 0x3c]
mov esi, 0x18
call sym.libglib_2.0_0.dll_g_strerror
lea rcx, str.Error_reading_file__s:__s
mov rbp, rax
call sym.libglib_2.0_0.dll_glib_gettext
mov edx, dword [rsp + 0x3c]
mov r12, rax
sub edx, 1
cmp edx, 0x71
ja 0x685de959
lea rax, [0x6866a7e0]
movzx esi, byte [rax + rdx]
call sym.libglib_2.0_0.dll_g_file_error_quark
mov rdx, qword [rsp + 0x1090]
mov rcx, qword [rsp + 0x10b0]
mov r9, r12
mov qword [rsp + 0x28], rbp
mov r8d, esi
mov qword [rsp + 0x20], rdx
mov edx, eax
call sym.libglib_2.0_0.dll_g_set_error
jmp 0x685de803