Function at 0x14000cda0
Capabilities:
Read file on windows

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x458
mov r15, r8
mov rbx, rdx
mov rdi, rcx
mov rax, qword [0x14004c030]
xor rax, rsp
mov qword [rsp + 0x450], rax
lea rsi, [rsp + 0x30]
mov r8d, 0x20a
mov rcx, rsi
xor edx, edx
call fcn.1400170d0
mov rcx, rsi
call fcn.140013400
test eax, eax
je 0x14000ce1a
lea rsi, [rsp + 0x240]
mov r8d, 0x20a
mov rcx, rsi
xor edx, edx
call fcn.1400170d0
lea rcx, [0x1400437c8]
mov rdx, rsi
call fcn.140013500
test eax, eax
jne 0x14000ce76
mov eax, dword [0x14004fe88]
mov ecx, dword [0x14004cde8]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14000d0d4
lea rdi, str.CompareSecureUpdateStatus_failed_due_to_GetSecureOutputFilePath_failure
xor esi, esi
mov rdx, rdi
call fcn.1400137e0
mov rcx, qword [rsp + 0x450]
xor rcx, rsp
call fcn.140027f60
mov eax, esi
add rsp, 0x458
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea rcx, [rsp + 0x30]
lea rdx, [rsp + 0x240]
call fcn.140037390
test eax, eax
je 0x14000ce1a
lea rdx, [0x140043fee]
lea rcx, [rsp + 0x30]
call fcn.140020e24
test rax, rax
je 0x14000cf13
mov r14, rax
xorps xmm0, xmm0
lea rcx, [rsp + 0x240]
movaps xmmword [rcx + 0x10], xmm0
movaps xmmword [rcx], xmm0
mov edx, 1
mov r8d, 0x1f
mov r9, rax
call fcn.140022994
mov r12, rax
mov rcx, r14
call fcn.14002238c
test eax, eax
sete sil
je 0x14000cf53
mov eax, dword [0x14004fe88]
mov ecx, dword [0x14004cde8]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14000d124
lea rdx, str.CompareSecureUpdateStatus_failed_to_read_status_file
call fcn.1400137e0
jmp 0x14000d093
mov eax, dword [0x14004fe88]
mov ecx, dword [0x14004cde8]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14000d17d
call fcn.14001c8b0
mov r8d, dword [rax]
lea rdx, str.CompareSecureUpdateStatus_failed_to_open_the_secure_status_file:__d
call fcn.1400137e0
xor esi, esi
jmp 0x14000ce50
mov byte [rsp + r12 + 0x240], 0
test r15, r15
je 0x14000cf6d
cmp byte [r15 + 4], 0
je 0x14000cf6d
mov byte [r15 + 4], 0
lea r13, [rsp + 0x240]
mov rcx, r13
mov edx, 0x3a
call fcn.140017260
mov r12, rax
test rax, rax
jne 0x14000cfbc
lea rcx, [rsp + 0x240]
mov edx, 0xa
call fcn.140017260
mov r12, rax
test rax, rax
jne 0x14000cfbc
lea rcx, [rsp + 0x240]
call fcn.1400237f0
lea r12, [rsp + rax]
add r12, 0x240
mov rbp, r12
sub rbp, r13
mov rcx, rdi
call fcn.1400237f0
cmp rbp, rax
jne 0x14000cfea
lea rcx, [rsp + 0x240]
mov rdx, rdi
mov r8, rbp
call fcn.1400238b0
test eax, eax
sete bpl
jmp 0x14000cfec
xor ebp, ebp
test r15, r15
je 0x14000d03d
cmp byte [r12], 0x3a
jne 0x14000d03d
inc r12
lea r13, [rsp + 0x28]
mov qword [r13], 0
mov rcx, r12
mov rdx, r13
mov r8d, 0xa
call fcn.140023f74
cmp qword [r13], r12
je 0x14000d03d
lea ecx, [rax - 0x7fffffff]
cmp ecx, 2
jb 0x14000d03d
cmp byte [r15 + 4], 0
jne 0x14000d11e
mov dword [r15], eax
mov byte [r15 + 4], 1
mov byte [rbx], bpl
mov eax, dword [0x14004fe88]
mov ecx, dword [0x14004cde8]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14000d1be
cmp byte [rbx], 0
lea rax, str.does_not_match
lea r9, str.matches
cmove r9, rax
mov qword [rsp + 0x20], rdi
lea rdx, str.CompareSecureUpdateStatus__s__s__s
lea r8, [rsp + 0x240]
call fcn.1400137e0
mov rcx, r14
call fcn.1400222a4
test eax, eax
je 0x14000ce50
mov eax, dword [0x14004fe88]
mov ecx, dword [0x14004cde8]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14000d165
lea rdi, str.File_close_did_not_execute_successfully
jmp 0x14000ce48
lea rcx, [0x14004fe88]
call fcn.140015660
lea rdi, str.CompareSecureUpdateStatus_failed_due_to_GetSecureOutputFilePath_failure
xor esi, esi
cmp dword [0x14004fe88], 0xffffffff
jne 0x14000ce48
mov qword [0x14004fc78], 0
lea rcx, [0x140003af0]
call fcn.1400157f8
lea rcx, [0x14004fe88]
call fcn.1400156c8
jmp 0x14000ce48
int3
lea rcx, [0x14004fe88]
call fcn.140015660
cmp dword [0x14004fe88], 0xffffffff
jne 0x14000cf02
mov qword [0x14004fc78], 0
lea rcx, [0x140003af0]
call fcn.1400157f8
lea rcx, [0x14004fe88]
call fcn.1400156c8
jmp 0x14000cf02
lea rcx, [0x14004fe88]
call fcn.140015660
lea rdi, str.File_close_did_not_execute_successfully
jmp 0x14000d0e9
lea rcx, [0x14004fe88]
call fcn.140015660
cmp dword [0x14004fe88], 0xffffffff
jne 0x14000cf38
mov qword [0x14004fc78], 0
lea rcx, [0x140003af0]
call fcn.1400157f8
lea rcx, [0x14004fe88]
call fcn.1400156c8
jmp 0x14000cf38
lea rcx, [0x14004fe88]
call fcn.140015660
cmp dword [0x14004fe88], 0xffffffff
jne 0x14000d065
mov qword [0x14004fc78], 0
lea rcx, [0x140003af0]
call fcn.1400157f8
lea rcx, [0x14004fe88]
call fcn.1400156c8
jmp 0x14000d065