Function at 0x14000ffd0
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.140020e24
test rax, rax
je 0x14001009b
mov rsi, rax
mov rcx, rax
call fcn.14001cc8c
lea rdx, [rsp + 0x30]
mov ecx, eax
call fcn.14001cecc
test eax, eax
je 0x1400100f2
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 0x140010235
lea rdx, str.GetManifestContents:_error_stating_manifest_file:__S
mov r8, rdi
call fcn.1400137e0
xor edi, edi
mov rcx, rsi
call fcn.1400222a4
test eax, eax
je 0x1400100d1
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 0x1400102b7
lea rdx, str.File_close_did_not_execute_successfully
call fcn.1400137e0
jmp 0x1400100d1
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 0x140010276
lea rdx, str.GetManifestContents:_error_opening_manifest_file:__S
mov r8, rdi
call fcn.1400137e0
xor edi, edi
mov rcx, qword [rsp + 0x60]
xor rcx, rsp
call fcn.140027f60
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.140023188
test rax, rax
je 0x14001005a
mov rbx, rax
test r12d, r12d
je 0x140010150
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.140022994
cmp rax, r15
jne 0x1400101a2
add r14, r15
sub r12, r15
jne 0x14001011b
mov ebp, dword [rsp + 0x44]
inc ebp
jmp 0x140010158
mov ebp, 1
mov r14, rbx
mov byte [r14], 0
movsxd rcx, ebp
add rcx, rcx
call fcn.140023188
test rax, rax
je 0x1400101d6
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 0x1400101db
mov rcx, rbx
call fcn.140022c14
jmp 0x140010227
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 0x1400102f8
lea rdx, str.GetManifestContents:_error_reading_manifest_file:__S
mov r8, rdi
call fcn.1400137e0
mov rcx, rbx
jmp 0x140010220
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 0x140010339
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rdx, str.GetManifestContents:_error_converting_utf8_to_utf16le:__lu
mov r8d, eax
call fcn.1400137e0
mov rcx, rbx
call fcn.140022c14
mov rcx, rdi
call fcn.140022c14
xor edi, edi
test rsi, rsi
jne 0x14001005c
jmp 0x1400100d1
lea rcx, [0x14004fe88]
call fcn.140015660
cmp dword [0x14004fe88], 0xffffffff
jne 0x14001004b
mov qword [0x14004fc78], 0
lea rcx, [0x140003af0]
call fcn.1400157f8
lea rcx, [0x14004fe88]
call fcn.1400156c8
jmp 0x14001004b
lea rcx, [0x14004fe88]
call fcn.140015660
cmp dword [0x14004fe88], 0xffffffff
jne 0x1400100c0
mov qword [0x14004fc78], 0
lea rcx, [0x140003af0]
call fcn.1400157f8
lea rcx, [0x14004fe88]
call fcn.1400156c8
jmp 0x1400100c0
lea rcx, [0x14004fe88]
call fcn.140015660
cmp dword [0x14004fe88], 0xffffffff
jne 0x14001008d
mov qword [0x14004fc78], 0
lea rcx, [0x140003af0]
call fcn.1400157f8
lea rcx, [0x14004fe88]
call fcn.1400156c8
jmp 0x14001008d
lea rcx, [0x14004fe88]
call fcn.140015660
cmp dword [0x14004fe88], 0xffffffff
jne 0x1400101c7
mov qword [0x14004fc78], 0
lea rcx, [0x140003af0]
call fcn.1400157f8
lea rcx, [0x14004fe88]
call fcn.1400156c8
jmp 0x1400101c7
lea rcx, [0x14004fe88]
call fcn.140015660
cmp dword [0x14004fe88], 0xffffffff
jne 0x140010200
mov qword [0x14004fc78], 0
lea rcx, [0x140003af0]
call fcn.1400157f8
lea rcx, [0x14004fe88]
call fcn.1400156c8
jmp 0x140010200