Function at 0x14000cd20
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.140017010
mov rcx, rsi
call fcn.140013340
test eax, eax
je 0x14000cd9a
lea rsi, [rsp + 0x240]
mov r8d, 0x20a
mov rcx, rsi
xor edx, edx
call fcn.140017010
lea rcx, [0x1400437c8]
mov rdx, rsi
call fcn.140013440
test eax, eax
jne 0x14000cdf6
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 0x14000d054
lea rdi, str.CompareSecureUpdateStatus_failed_due_to_GetSecureOutputFilePath_failure
xor esi, esi
mov rdx, rdi
call fcn.140013720
mov rcx, qword [rsp + 0x450]
xor rcx, rsp
call fcn.140027ea0
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.1400372d0
test eax, eax
je 0x14000cd9a
lea rdx, [0x140043fee]
lea rcx, [rsp + 0x30]
call fcn.140020d64
test rax, rax
je 0x14000ce93
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.1400228d4
mov r12, rax
mov rcx, r14
call fcn.1400222cc
test eax, eax
sete sil
je 0x14000ced3
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 0x14000d0a4
lea rdx, str.CompareSecureUpdateStatus_failed_to_read_status_file
call fcn.140013720
jmp 0x14000d013
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 0x14000d0fd
call fcn.14001c7f0
mov r8d, dword [rax]
lea rdx, str.CompareSecureUpdateStatus_failed_to_open_the_secure_status_file:__d
call fcn.140013720
xor esi, esi
jmp 0x14000cdd0
mov byte [rsp + r12 + 0x240], 0
test r15, r15
je 0x14000ceed
cmp byte [r15 + 4], 0
je 0x14000ceed
mov byte [r15 + 4], 0
lea r13, [rsp + 0x240]
mov rcx, r13
mov edx, 0x3a
call fcn.1400171a0
mov r12, rax
test rax, rax
jne 0x14000cf3c
lea rcx, [rsp + 0x240]
mov edx, 0xa
call fcn.1400171a0
mov r12, rax
test rax, rax
jne 0x14000cf3c
lea rcx, [rsp + 0x240]
call fcn.140023730
lea r12, [rsp + rax]
add r12, 0x240
mov rbp, r12
sub rbp, r13
mov rcx, rdi
call fcn.140023730
cmp rbp, rax
jne 0x14000cf6a
lea rcx, [rsp + 0x240]
mov rdx, rdi
mov r8, rbp
call fcn.1400237f0
test eax, eax
sete bpl
jmp 0x14000cf6c
xor ebp, ebp
test r15, r15
je 0x14000cfbd
cmp byte [r12], 0x3a
jne 0x14000cfbd
inc r12
lea r13, [rsp + 0x28]
mov qword [r13], 0
mov rcx, r12
mov rdx, r13
mov r8d, 0xa
call fcn.140023eb4
cmp qword [r13], r12
je 0x14000cfbd
lea ecx, [rax - 0x7fffffff]
cmp ecx, 2
jb 0x14000cfbd
cmp byte [r15 + 4], 0
jne 0x14000d09e
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 0x14000d13e
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.140013720
mov rcx, r14
call fcn.1400221e4
test eax, eax
je 0x14000cdd0
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 0x14000d0e5
lea rdi, str.File_close_did_not_execute_successfully
jmp 0x14000cdc8
lea rcx, [0x14004fe88]
call fcn.1400155a0
lea rdi, str.CompareSecureUpdateStatus_failed_due_to_GetSecureOutputFilePath_failure
xor esi, esi
cmp dword [0x14004fe88], 0xffffffff
jne 0x14000cdc8
mov qword [0x14004fc78], 0
lea rcx, [0x140003a70]
call fcn.140015738
lea rcx, [0x14004fe88]
call fcn.140015608
jmp 0x14000cdc8
int3
lea rcx, [0x14004fe88]
call fcn.1400155a0
cmp dword [0x14004fe88], 0xffffffff
jne 0x14000ce82
mov qword [0x14004fc78], 0
lea rcx, [0x140003a70]
call fcn.140015738
lea rcx, [0x14004fe88]
call fcn.140015608
jmp 0x14000ce82
lea rcx, [0x14004fe88]
call fcn.1400155a0
lea rdi, str.File_close_did_not_execute_successfully
jmp 0x14000d069
lea rcx, [0x14004fe88]
call fcn.1400155a0
cmp dword [0x14004fe88], 0xffffffff
jne 0x14000ceb8
mov qword [0x14004fc78], 0
lea rcx, [0x140003a70]
call fcn.140015738
lea rcx, [0x14004fe88]
call fcn.140015608
jmp 0x14000ceb8
lea rcx, [0x14004fe88]
call fcn.1400155a0
cmp dword [0x14004fe88], 0xffffffff
jne 0x14000cfe5
mov qword [0x14004fc78], 0
lea rcx, [0x140003a70]
call fcn.140015738
lea rcx, [0x14004fe88]
call fcn.140015608
jmp 0x14000cfe5