Function at 0x14000ff50
Capabilities:
Read file on windows

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x68
mov rdi, rcx
mov rax, qword [0x14004c030]
xor rax, rsp
mov qword [rsp + 0x60], rax
lea rdx, [0x140043fee]
call fcn.140020d64
test rax, rax
je 0x14001001b
mov rsi, rax
mov rcx, rax
call fcn.14001cbcc
lea rdx, [rsp + 0x30]
mov ecx, eax
call fcn.14001ce0c
test eax, eax
je 0x140010072
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 0x1400101b5
lea rdx, str.GetManifestContents:_error_stating_manifest_file:__S
mov r8, rdi
call fcn.140013720
xor edi, edi
mov rcx, rsi
call fcn.1400221e4
test eax, eax
je 0x140010051
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 0x140010237
lea rdx, str.File_close_did_not_execute_successfully
call fcn.140013720
jmp 0x140010051
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 0x1400101f6
lea rdx, str.GetManifestContents:_error_opening_manifest_file:__S
mov r8, rdi
call fcn.140013720
xor edi, edi
mov rcx, qword [rsp + 0x60]
xor rcx, rsp
call fcn.140027ea0
mov rax, rdi
add rsp, 0x68
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
movsxd r12, dword [rsp + 0x44]
lea rcx, [r12 + 1]
call fcn.1400230c8
test rax, rax
je 0x14000ffda
mov rbx, rax
test r12d, r12d
je 0x1400100d0
mov r13d, 0x7fffffff
mov r14, rbx
cmp r12, r13
mov r15d, 0x7fffffff
cmovb r15, r12
mov edx, 1
mov rcx, r14
mov r8, r15
mov r9, rsi
call fcn.1400228d4
cmp rax, r15
jne 0x140010122
add r14, r15
sub r12, r15
jne 0x14001009b
mov ebp, dword [rsp + 0x44]
inc ebp
jmp 0x1400100d8
mov ebp, 1
mov r14, rbx
mov byte [r14], 0
movsxd rcx, ebp
add rcx, rcx
call fcn.1400230c8
test rax, rax
je 0x140010156
mov rdi, rax
mov dword [rsp + 0x28], ebp
mov qword [rsp + 0x20], rax
mov ecx, 0xfde9
mov edx, 8
mov r8, rbx
mov r9d, 0xffffffff
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
test eax, eax
je 0x14001015b
mov rcx, rbx
call fcn.140022b54
jmp 0x1400101a7
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 0x140010278
lea rdx, str.GetManifestContents:_error_reading_manifest_file:__S
mov r8, rdi
call fcn.140013720
mov rcx, rbx
jmp 0x1400101a0
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 0x1400102b9
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rdx, str.GetManifestContents:_error_converting_utf8_to_utf16le:__lu
mov r8d, eax
call fcn.140013720
mov rcx, rbx
call fcn.140022b54
mov rcx, rdi
call fcn.140022b54
xor edi, edi
test rsi, rsi
jne 0x14000ffdc
jmp 0x140010051
lea rcx, [0x14004fe88]
call fcn.1400155a0
cmp dword [0x14004fe88], 0xffffffff
jne 0x14000ffcb
mov qword [0x14004fc78], 0
lea rcx, [0x140003a70]
call fcn.140015738
lea rcx, [0x14004fe88]
call fcn.140015608
jmp 0x14000ffcb
lea rcx, [0x14004fe88]
call fcn.1400155a0
cmp dword [0x14004fe88], 0xffffffff
jne 0x140010040
mov qword [0x14004fc78], 0
lea rcx, [0x140003a70]
call fcn.140015738
lea rcx, [0x14004fe88]
call fcn.140015608
jmp 0x140010040
lea rcx, [0x14004fe88]
call fcn.1400155a0
cmp dword [0x14004fe88], 0xffffffff
jne 0x14001000d
mov qword [0x14004fc78], 0
lea rcx, [0x140003a70]
call fcn.140015738
lea rcx, [0x14004fe88]
call fcn.140015608
jmp 0x14001000d
lea rcx, [0x14004fe88]
call fcn.1400155a0
cmp dword [0x14004fe88], 0xffffffff
jne 0x140010147
mov qword [0x14004fc78], 0
lea rcx, [0x140003a70]
call fcn.140015738
lea rcx, [0x14004fe88]
call fcn.140015608
jmp 0x140010147
lea rcx, [0x14004fe88]
call fcn.1400155a0
cmp dword [0x14004fe88], 0xffffffff
jne 0x140010180
mov qword [0x14004fc78], 0
lea rcx, [0x140003a70]
call fcn.140015738
lea rcx, [0x14004fe88]
call fcn.140015608
jmp 0x140010180