Function at 0x14007c6a0
Capabilities:
Read file on windows

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r14
push r15
sub rsp, 0x30
mov r14, rcx
mov rcx, qword [0x1411dcbc0]
test rcx, rcx
je 0x14007c6e3
nop
mov qword [0x1411dcbc8], rcx
mov rax, qword [rcx]
mov qword [0x1411dcbc0], rax
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rcx, qword [0x1411dcbc0]
test rcx, rcx
jne 0x14007c6c0
xor r15d, r15d
mov qword [0x1411dcbc8], r15
mov qword [0x1411dcbc0], r15
lea rdx, [0x1411dcb98]
lea rcx, [rsp + 0x68]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::constructor_class_QString_const____ptr64____ptr64]
nop
xor edx, edx
lea rcx, [0x1402c8037]
call qword [sym.imp.Qt5Core.dll_private:_static_struct_QTypedArrayData_unsigned_short_int_____ptr64___cdecl_QString::fromAscii_helper_char_const____ptr64__int_]
mov qword [rsp + 0x78], rax
lea rdx, [rsp + 0x68]
lea rcx, [rsp + 0x20]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QFile::constructor_class_QString_const____ptr64____ptr64]
nop
lea rcx, [rsp + 0x20]
call qword [sym.imp.Qt5Core.dll_public_virtual:_long_long___int64____cdecl_QFile::size_void_const___ptr64]
mov rsi, rax
lea rdx, [rsp + 0x70]
lea rcx, [rsp + 0x68]
call qword [sym.imp.Qt5Core.dll__toUtf8_QString__QEGBA_AVQByteArray__XZ]
nop
mov rcx, rax
call qword [sym.imp.Qt5Core.dll_public:_char_const____ptr64___cdecl_QByteArray::operator_char_const____ptr64_void_const___ptr64]
mov rcx, rax
lea rdx, [0x1402e1fa4]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fopen]
mov rbp, rax
lea rcx, [rsp + 0x70]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QByteArray::destructor_void____ptr64]
test rbp, rbp
je 0x14007c920
test esi, esi
je 0x14007c917
mov edx, 0x151
mov ecx, 1
cmp qword [0x1411dcbc0], 0
jne 0x14007c85a
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_calloc]
mov qword [0x1411dcbc8], rax
mov qword [0x1411dcbc0], rax
xor edx, edx
mov r8d, 0x151
mov rcx, rax
call sub.VCRUNTIME140.dll_memset
mov r9, rbp
mov edx, 1
mov r8d, 0x151
mov rcx, qword [0x1411dcbc8]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
cmp rax, 0x151
jne 0x14007c917
cmp byte [0x1411dd028], 0
jne 0x14007c844
mov rdi, qword [0x1411dcbc0]
lea rcx, [rdi + 0x114]
call fcn.14029d250
movzx eax, ax
mov dword [rdi + 0x114], eax
lea rcx, [rdi + 0x128]
call fcn.14029d250
movzx eax, ax
mov dword [rdi + 0x128], eax
lea rcx, [rdi + 0x12c]
call fcn.14029ceb0
mov dword [rdi + 0x12c], eax
lea rcx, [rdi + 0x144]
call fcn.14029ceb0
mov dword [rdi + 0x144], eax
mov rax, qword [0x1411dcbc0]
mov qword [rax], r15
mov rax, qword [0x1411dcbc8]
jmp 0x14007c908
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_calloc]
mov rdi, rax
xor edx, edx
mov r8d, 0x151
mov rcx, rax
call sub.VCRUNTIME140.dll_memset
mov r9, rbp
mov edx, 1
mov r8d, 0x151
mov rcx, rdi
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
cmp rax, 0x151
jne 0x14007c917
mov rcx, qword [0x1411dcbc8]
mov qword [rcx], rdi
cmp byte [0x1411dd028], 0
jne 0x14007c8f7
lea rcx, [rdi + 0x114]
call fcn.14029d250
movzx eax, ax
mov dword [rdi + 0x114], eax
lea rcx, [rdi + 0x128]
call fcn.14029d250
movzx eax, ax
mov dword [rdi + 0x128], eax
lea rcx, [rdi + 0x12c]
call fcn.14029ceb0
mov dword [rdi + 0x12c], eax
lea rcx, [rdi + 0x144]
call fcn.14029ceb0
mov dword [rdi + 0x144], eax
mov rax, qword [0x1411dcbc8]
mov rax, qword [rax]
mov qword [0x1411dcbc8], rax
mov qword [rax], r15
add esi, 0xfffffeaf
jne 0x14007c783
mov rcx, rbp
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
mov rcx, qword [0x1411dcbd0]
test rcx, rcx
je 0x14007c953
nop dword [rax]
mov qword [0x1411dcbd8], rcx
mov rax, qword [rcx]
mov qword [0x1411dcbd0], rax
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rcx, qword [0x1411dcbd0]
test rcx, rcx
jne 0x14007c930
mov qword [0x1411dcbd8], r15
mov rdx, r15
mov qword [0x1411dcbd0], rdx
mov rbx, qword [0x1411dcbc0]
test rbx, rbx
je 0x14007cc53
nop dword [rax]
nop dword [rax + rax]
cmp byte [0x1411e99c4], 0x10
jne 0x14007ca4f
mov ecx, 1
test rdx, rdx
mov edx, 0x151
jne 0x14007c9c0
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_calloc]
mov qword [0x1411dcbd8], rax
mov qword [0x1411dcbd0], rax
mov qword [rax + 8], r15
mov rax, qword [0x1411dcbd8]
mov qword [rax], r15
jmp 0x14007c9ef
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_calloc]
mov rcx, qword [0x1411dcbd8]
mov qword [rcx], rax
mov rcx, qword [0x1411dcbd8]
mov qword [rax + 8], rcx
mov rax, qword [0x1411dcbd8]
mov rcx, qword [rax]
mov qword [0x1411dcbd8], rcx
mov qword [rcx], r15
lea rdx, [rbx + 0x10]
mov r8, 0xffffffffffffffff
nop word [rax + rax]
inc r8
cmp byte [rdx + r8], 0
jne 0x14007ca00
mov rcx, qword [0x1411dcbd8]
add rcx, 0x10
call sub.VCRUNTIME140.dll_memcpy
mov ecx, dword [rbx + 0x114]
mov rax, qword [0x1411dcbd8]
mov dword [rax + 0x114], ecx
lea rdx, [rbx + 0x118]
mov r8, 0xffffffffffffffff
nop dword [rax + rax]
inc r8
cmp byte [rdx + r8], 0
jne 0x14007ca40
jmp 0x14007cb2a
cmp byte [0x1411e99c4], 0x20
jne 0x14007cc47
movzx ecx, byte [rbx + 0x149]
lea eax, [rcx - 3]
test al, 0xfc
jne 0x14007cc47
cmp cl, 4
je 0x14007cc47
mov ecx, 1
test rdx, rdx
mov edx, 0x151
jne 0x14007caaa
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_calloc]
mov qword [0x1411dcbd8], rax
mov qword [0x1411dcbd0], rax
mov qword [rax + 8], r15
mov rax, qword [0x1411dcbd8]
mov qword [rax], r15
jmp 0x14007cad9
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_calloc]
mov rcx, qword [0x1411dcbd8]
mov qword [rcx], rax
mov rcx, qword [0x1411dcbd8]
mov qword [rax + 8], rcx
mov rax, qword [0x1411dcbd8]
mov rcx, qword [rax]
mov qword [0x1411dcbd8], rcx
mov qword [rcx], r15
lea rdx, [rbx + 0x10]
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rdx + r8], 0
jne 0x14007cae4
mov rcx, qword [0x1411dcbd8]
add rcx, 0x10
call sub.VCRUNTIME140.dll_memcpy
mov ecx, dword [rbx + 0x114]
mov rax, qword [0x1411dcbd8]
mov dword [rax + 0x114], ecx
lea rdx, [rbx + 0x118]
mov r8, 0xffffffffffffffff
nop
inc r8
cmp byte [rdx + r8], 0
jne 0x14007cb20
mov rcx, qword [0x1411dcbd8]
add rcx, 0x118
call sub.VCRUNTIME140.dll_memcpy
mov rax, qword [0x1411dcbd8]
mov ecx, dword [rbx + 0x128]
mov dword [rax + 0x128], ecx
mov rax, qword [0x1411dcbd8]
mov ecx, dword [rbx + 0x12c]
mov dword [rax + 0x12c], ecx
mov rax, qword [0x1411dcbd8]
movzx ecx, byte [rbx + 0x130]
mov byte [rax + 0x130], cl
mov rcx, qword [0x1411dcbd8]
movsd xmm0, qword [rbx + 0x131]
movsd qword [rcx + 0x131], xmm0
mov eax, dword [rbx + 0x139]
mov dword [rcx + 0x139], eax
movzx eax, word [rbx + 0x13d]
mov word [rcx + 0x13d], ax
movzx eax, byte [rbx + 0x13f]
mov byte [rcx + 0x13f], al
mov rax, qword [0x1411dcbd8]
movzx ecx, byte [rbx + 0x140]
mov byte [rax + 0x140], cl
mov rax, qword [0x1411dcbd8]
movzx ecx, byte [rbx + 0x141]
mov byte [rax + 0x141], cl
mov rax, qword [0x1411dcbd8]
movzx ecx, word [rbx + 0x142]
mov word [rax + 0x142], cx
mov rax, qword [0x1411dcbd8]
mov ecx, dword [rbx + 0x144]
mov dword [rax + 0x144], ecx
mov rax, qword [0x1411dcbd8]
movzx ecx, byte [rbx + 0x148]
mov byte [rax + 0x148], cl
mov rax, qword [0x1411dcbd8]
movzx ecx, byte [rbx + 0x149]
mov byte [rax + 0x149], cl
mov rax, qword [0x1411dcbd8]
mov ecx, dword [rbx + 0x14a]
mov dword [rax + 0x14a], ecx
mov rdx, qword [0x1411dcbd0]
mov rbx, qword [rbx]
test rbx, rbx
jne 0x14007c980
mov rcx, r14
call fcn.14007bcd0
nop
lea rcx, [rsp + 0x20]
call qword [sym.imp.Qt5Core.dll_public_virtual:_void___cdecl_QFile::destructor_void____ptr64]
nop
lea rcx, [rsp + 0x78]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::destructor_void____ptr64]
nop
lea rcx, [rsp + 0x68]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::destructor_void____ptr64]
mov rbx, qword [rsp + 0x60]
add rsp, 0x30
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret