Function at 0x1400c4f40
Capabilities:
Read file on windows

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x27]
sub rsp, 0xd0
mov rax, qword [0x1403cd210]
xor rax, rsp
mov qword [rbp + 0x17], rax
mov rdi, r8
mov rsi, rdx
mov qword [rbp - 1], rdx
mov rcx, r8
cmp qword [r8 + 0x18], 8
jb 0x1400c4f81
mov rcx, qword [r8]
xor r15d, r15d
mov qword [rsp + 0x30], r15
mov dword [rsp + 0x28], r15d
mov dword [rsp + 0x20], 3
xor r9d, r9d
mov edx, 0x80000000
lea r8d, [r15 + 1]
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov rbx, rax
mov qword [rbp + 0xf], rax
cmp rax, 0xffffffffffffffff
jne 0x1400c5043
lea ecx, [rax + 2]
call fcn.1400e2070
test eax, eax
je 0x1400c5017
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rbp - 0x65], eax
cmp qword [rdi + 0x18], 8
jb 0x1400c4fd8
mov rdi, qword [rdi]
mov qword [rbp - 1], rdi
lea rax, [rbp - 0x65]
mov qword [rsp + 0x30], rax
lea rax, [rbp - 1]
mov qword [rsp + 0x28], rax
lea rax, str.failed_to_open_file:__s_with_error_code__d
mov qword [rsp + 0x20], rax
mov r9d, 0x24
lea r8, str.Intel::Analytics::CTxtVerSubstitution::Substitute
lea rdx, str.E:BT227953e1_7041_41ca_b223_f1309dea168eClientAnalyticsXMLUpdater_srcBSIUpdaterPluginTxtVerSubstitution.cpp
lea ecx, [r9 - 0x23]
call fcn.14003519c
mov qword [rsi + 0x10], r15
mov qword [rsi + 0x18], 7
mov word [rsi], r15w
lea rdx, str._UNKNOWN
mov rcx, rsi
call fcn.140031d84
nop
mov rcx, 0xffffffffffffffff
jmp 0x1400c5269
mov ecx, 0x400
call fcn.14011aa14
mov rdi, rax
mov qword [rbp - 1], rax
xor edx, edx
mov r8d, 0x400
mov rcx, rax
call fcn.140138ee0
mov dword [rbp + 7], r15d
mov qword [rsp + 0x20], r15
lea r9, [rbp + 7]
mov r8d, 0x3ff
mov rdx, rdi
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
jne 0x1400c50fb
lea ecx, [rax + 5]
call fcn.1400e2070
test eax, eax
je 0x1400c50ce
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rbp - 0x65], eax
lea rax, [rbp - 0x65]
mov qword [rsp + 0x28], rax
lea rax, str.failed_to_read_the_file:__d
mov qword [rsp + 0x20], rax
mov r9d, 0x2e
lea r8, str.Intel::Analytics::CTxtVerSubstitution::Substitute
lea rdx, str.E:BT227953e1_7041_41ca_b223_f1309dea168eClientAnalyticsXMLUpdater_srcBSIUpdaterPluginTxtVerSubstitution.cpp
lea ecx, [r9 - 0x29]
call fcn.140032100
mov qword [rsi + 0x10], r15
mov qword [rsi + 0x18], 7
mov word [rsi], r15w
lea rdx, str._UNKNOWN
mov rcx, rsi
call fcn.140031d84
nop
mov rcx, rdi
call fcn.14011a254
jmp 0x1400c5261
mov qword [rbp - 0x11], r15
mov qword [rbp - 9], 0xf
mov byte [rbp - 0x21], 0
mov r12, 0xffffffffffffffff
mov r8, r12
inc r8
cmp byte [rdi + r8], 0
jne 0x1400c5115
mov rdx, rdi
lea rcx, [rbp - 0x21]
call fcn.14003b95c
nop
mov qword [rbp - 1], r15
mov rcx, rdi
call fcn.14011a254
lea r14, [rbp - 0x21]
cmp qword [rbp - 9], 0x10
setae byte [rbp - 0x69]
cmovae r14, qword [rbp - 0x21]
mov r13, qword [rbp - 0x11]
cmp r13, 0xd
jb 0x1400c51bf
lea r15, [r14 + r13]
lea r8, [r15 - 0xc]
sub r8, r14
mov edx, 0x24
mov rcx, r14
call fcn.1401398f0
mov rdi, rax
test rax, rax
je 0x1400c51bc
nop dword [rax]
nop dword [rax + rax]
mov r8d, 0xd
lea rdx, str._FileVersion
mov rcx, rdi
call fcn.140139770
test eax, eax
je 0x1400c5299
inc rdi
lea r8, [r15 - 0xc]
sub r8, rdi
mov edx, 0x24
mov rcx, rdi
call fcn.1401398f0
mov rdi, rax
test rax, rax
jne 0x1400c5180
xor r15d, r15d
mov ecx, 5
call fcn.1400e2070
test eax, eax
je 0x1400c51f6
lea rax, str.failed_to_find_file_version_key
mov qword [rsp + 0x20], rax
mov r9d, 0x39
lea r8, str.Intel::Analytics::CTxtVerSubstitution::Substitute
lea rdx, str.E:BT227953e1_7041_41ca_b223_f1309dea168eClientAnalyticsXMLUpdater_srcBSIUpdaterPluginTxtVerSubstitution.cpp
lea ecx, [r9 - 0x34]
call fcn.14003209c
mov qword [rsi + 0x10], r15
mov qword [rsi + 0x18], 7
mov word [rsi], r15w
lea rdx, str._UNKNOWN
mov rcx, rsi
call fcn.140031d84
nop
mov rdx, qword [rbp - 9]
cmp rdx, 0x10
jb 0x1400c5251
inc rdx
mov rcx, qword [rbp - 0x21]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400c524c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400c551e
call fcn.14011a254
mov qword [rbp - 0x11], r15
mov qword [rbp - 9], 0xf
mov byte [rbp - 0x21], 0
test rbx, rbx
je 0x1400c526f
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rax, rsi
mov rcx, qword [rbp + 0x17]
xor rcx, rsp
call fcn.140119fe0
mov rbx, qword [rsp + 0x110]
add rsp, 0xd0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
sub rdi, r14
cmp rdi, 0xffffffffffffffff
je 0x1400c51bc
add rdi, 0xd
mov qword [rbp - 0x31], 0
mov qword [rbp - 0x29], 0xf
mov byte [rbp - 0x41], 0
cmp r13, rdi
jb 0x1400c5524
sub r13, rdi
cmp r13, 0xffffffffffffffff
cmovb r12, r13
lea rdx, [rbp - 0x21]
cmp byte [rbp - 0x69], 0
cmovne rdx, qword [rbp - 0x21]
add rdx, rdi
mov r8, r12
lea rcx, [rbp - 0x41]
call fcn.14003b95c
nop
lea rdi, [rbp - 0x41]
cmp qword [rbp - 0x29], 0x10
setae r12b
mov r15, qword [rbp - 0x41]
cmovae rdi, r15
mov r14, qword [rbp - 0x31]
test r14, r14
je 0x1400c547b
mov r8, r14
mov edx, 0x20
mov rcx, rdi
call fcn.1401398f0
test rax, rax
je 0x1400c547b
sub rax, rdi
cmp rax, 0xffffffffffffffff
je 0x1400c547b
xor edi, edi
mov qword [rbp - 0x51], rdi
mov qword [rbp - 0x49], 0xf
mov byte [rbp - 0x61], dil
cmp r14, rax
cmovb rax, r14
lea rdx, [rbp - 0x41]
test r12b, r12b
cmovne rdx, r15
mov r8, rax
lea rcx, [rbp - 0x61]
call fcn.14003b95c
mov rdx, qword [rbp - 0x29]
cmp rdx, 0x10
jb 0x1400c53a2
inc rdx
mov rcx, qword [rbp - 0x41]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400c539d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400c5512
call fcn.14011a254
movups xmm0, xmmword [rbp - 0x61]
movups xmmword [rbp - 0x41], xmm0
movups xmm1, xmmword [rbp - 0x51]
movups xmmword [rbp - 0x31], xmm1
lea rdx, [rbp - 0x41]
mov rcx, qword [rbp - 0x61]
psrldq xmm1, 8
movq r9, xmm1
mov r8, qword [rbp - 0x51]
cmp r9, 0x10
jb 0x1400c53d3
add r8, rcx
jmp 0x1400c53e0
add r8, rdx
lea rdx, [rbp - 0x41]
cmp r9, 0x10
jb 0x1400c53e3
mov rdx, rcx
mov rcx, rsi
call fcn.1400c5530
nop
mov rdx, qword [rbp - 0x29]
cmp rdx, 0x10
jb 0x1400c5427
inc rdx
mov rcx, qword [rbp - 0x41]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400c5422
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400c5518
call fcn.14011a254
mov byte [rbp - 0x41], 0
mov qword [rbp - 0x29], 0xf
mov qword [rbp - 0x31], rdi
mov rdx, qword [rbp - 9]
cmp rdx, 0x10
jb 0x1400c5472
inc rdx
mov rcx, qword [rbp - 0x21]
cmp rdx, 0x1000
mov rax, rcx
jb 0x1400c546d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400c551e
call fcn.14011a254
mov qword [rbp - 0x11], rdi
jmp 0x1400c5255
mov ecx, 5
call fcn.1400e2070
test eax, eax
je 0x1400c54b2
lea rax, str.failed_to_find_the_end_of_the_file_version
mov qword [rsp + 0x20], rax
mov r9d, 0x41
lea r8, str.Intel::Analytics::CTxtVerSubstitution::Substitute
lea rdx, str.E:BT227953e1_7041_41ca_b223_f1309dea168eClientAnalyticsXMLUpdater_srcBSIUpdaterPluginTxtVerSubstitution.cpp
lea ecx, [r9 - 0x3c]
call fcn.14003209c
xor edi, edi
mov qword [rsi + 0x10], rdi
mov qword [rsi + 0x18], 7
mov word [rsi], di
lea rdx, str._UNKNOWN
mov rcx, rsi
call fcn.140031d84
nop
mov rdx, qword [rbp - 0x29]
cmp rdx, 0x10
jb 0x1400c5427
inc rdx
mov rcx, qword [rbp - 0x41]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400c5422
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400c5518
jmp 0x1400c5422
call fcn.14013d31c
nop
call fcn.14013d31c
nop
call fcn.14013d31c
nop
call fcn.140031f50
int3