Function at 0x1402c7de0
Capabilities:
Read file on windows

Disassembly:
push r15
mov eax, 0x1078
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
call fcn.1403423d0
sub rsp, rax
mov edi, edx
mov rbx, rcx
mov esi, r8d
mov rbp, r9
mov qword [rsp + 0x28], 0
lea rdx, [rsp + 0x30]
mov ecx, edi
call qword [sym.imp.msvcrt.dll__fstat64]
test eax, eax
js 0x1402c8008
movzx eax, word [rsp + 0x36]
and ax, 0xf000
cmp ax, 0x8000
je 0x1402c7eb0
mov rcx, qword [0x14048def0]
mov rax, qword [rcx]
test rax, rax
je 0x1402c8080
lea rdx, str.Not_a_regular_file
lea rcx, str.glib20
call fcn.1400c7f40
mov rsi, qword [0x14048ef20]
mov rbx, rax
mov eax, dword [rsi]
test eax, eax
jne 0x1402c7e75
lea rcx, str.g_key_file_error_quark
call fcn.1400daa90
mov dword [rsi], eax
cmp qword [rbp], 0
je 0x1402c80a0
mov r9, rbx
lea r8, str.GError_set_over_the_top_of_a_previous_GError_or_uninitialized_memory._nThis_indicates_a_bug_in_someones_code._You_must_ensure_an_error_is_NULL_before_its_set._nThe_overwriting_error_message_was:__s
mov edx, 0x10
lea rcx, str.GLib
call fcn.1400d2190
nop
add rsp, 0x1078
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov rcx, rbx
movzx r13d, byte [rbx + 0x28]
lea r14, [rsp + 0x28]
call fcn.1400ca540
mov ecx, 0x20
call fcn.1400e69e0
pxor xmm0, xmm0
mov ecx, 0x18
mov qword [rbx + 0x18], rax
mov r12, rax
movups xmmword [rax], xmm0
movups xmmword [rax + 0x10], xmm0
call fcn.1400e69e0
mov qword [rbx + 8], 0
mov qword [rax + 8], 0
mov qword [rax + 0x10], 0
mov qword [rbx], rax
mov qword [rbx + 0x10], 0
mov qword [rbx + 0x20], 0
mov dword [rbx + 0x2c], esi
mov byte [rbx + 0x28], r13b
mov r13, qword [sym.imp.msvcrt.dll__errno]
mov qword [rax], r12
lea r12, [rsp + 0x70]
mov r8d, 0x1000
mov rdx, r12
mov ecx, edi
call sub.msvcrt.dll__read
movsxd rsi, eax
call r13
mov r15d, dword [rax]
test rsi, rsi
je 0x1402c80c0
jns 0x1402c7fb8
cmp r15d, 4
je 0x1402c7fc9
cmp r15d, 0xb
je 0x1402c7fc9
mov ecx, r15d
sub r15d, 1
mov edi, 0x18
call fcn.1400e79b0
mov rbx, rax
cmp r15d, 0x8a
jbe 0x1402c7fe8
mov rsi, qword [0x14048eef0]
mov eax, dword [rsi]
test eax, eax
jne 0x1402c7f91
lea rcx, str.g_file_error_quark
call fcn.1400daa90
mov dword [rsi], eax
cmp qword [rbp], 0
jne 0x1402c7e80
mov r8, rbx
mov edx, edi
mov ecx, eax
call fcn.1400cac00
mov qword [rbp], rax
jmp 0x1402c7e9c
mov r9, r14
mov r8, rsi
mov rdx, r12
mov rcx, rbx
call fcn.1400d05a0
mov rdx, qword [rsp + 0x28]
test rdx, rdx
je 0x1402c7f29
mov rcx, rbp
call fcn.1400c9d90
jmp 0x1402c7e9c
mov rax, qword [0x14048b530]
mov rsi, qword [0x14048eef0]
movzx edi, byte [rax + r15]
mov eax, dword [rsi]
test eax, eax
jne 0x1402c7f91
jmp 0x1402c7f83
call qword [sym.imp.msvcrt.dll__errno]
mov edi, 0x18
mov ebx, dword [rax]
mov ecx, ebx
sub ebx, 1
call fcn.1400e79b0
mov rsi, rax
cmp ebx, 0x8a
ja 0x1402c8035
mov rax, qword [0x14048b530]
movzx edi, byte [rax + rbx]
mov rbx, qword [0x14048eef0]
mov eax, dword [rbx]
test eax, eax
jne 0x1402c8050
lea rcx, str.g_file_error_quark
call fcn.1400daa90
mov dword [rbx], eax
cmp qword [rbp], 0
je 0x1402c80f0
mov r9, rsi
lea r8, str.GError_set_over_the_top_of_a_previous_GError_or_uninitialized_memory._nThis_indicates_a_bug_in_someones_code._You_must_ensure_an_error_is_NULL_before_its_set._nThe_overwriting_error_message_was:__s
mov edx, 0x10
lea rcx, str.GLib
call fcn.1400d2190
jmp 0x1402c7e9c
call fcn.1400e7370
test eax, eax
je 0x1402c7e44
call fcn.1400cb3d0
jmp 0x1402c7e44
mov r8, rbx
mov edx, 1
mov ecx, eax
call fcn.1400cac00
mov qword [rbp], rax
jmp 0x1402c7e9c
mov rdx, qword [rsp + 0x28]
test rdx, rdx
jne 0x1402c7fd7
lea rdx, [rsp + 0x28]
mov rcx, rbx
call fcn.1400cf400
mov rdx, qword [rsp + 0x28]
test rdx, rdx
je 0x1402c7e9c
jmp 0x1402c7fd7
mov r8, rsi
mov edx, edi
mov ecx, eax
call fcn.1400cac00
mov qword [rbp], rax
jmp 0x1402c7e9c