Function at 0x14000a990
Capabilities:
Write file on windows

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x88
mov rax, qword [0x14002e008]
xor rax, rsp
mov qword [rsp + 0x78], rax
mov rax, qword [rsp + 0xf8]
xor edi, edi
mov r13, qword [rsp + 0xf0]
mov r14, r9
mov r15d, r8d
mov r12, rdx
mov qword [rsp + 0x50], rax
mov rbx, rcx
mov qword [rsp + 0x48], rdi
mov ebp, edi
mov dword [rsp + 0x40], edi
test r9, r9
je 0x14000aba5
lea rdx, str.ApImg4Ticket
mov rcx, r9
call qword [sym.imp.plist.dll_plist_dict_get_item]
mov rsi, rax
test rax, rax
je 0x14000aa8b
mov rcx, rax
call qword [sym.imp.plist.dll_plist_get_node_type]
cmp eax, 7
jne 0x14000aa8b
lea r8, [rsp + 0x68]
mov qword [rsp + 0x58], rdi
lea rdx, [rsp + 0x58]
mov qword [rsp + 0x68], rdi
mov rcx, rsi
call qword [sym.imp.plist.dll_plist_get_data_val]
mov r9, qword [rsp + 0x58]
test r9, r9
je 0x14000aa76
lea rax, [rsp + 0x40]
mov r8d, r15d
mov qword [rsp + 0x30], rax
mov rdx, r12
lea rax, [rsp + 0x48]
mov rcx, rbx
mov qword [rsp + 0x28], rax
mov rdi, r9
mov eax, dword [rsp + 0x68]
mov dword [rsp + 0x20], eax
call fcn.14000c900
mov rsi, qword [rsp + 0x48]
mov ebp, dword [rsp + 0x40]
jmp 0x14000abd6
lea rdx, str.ApImg4Ticket
lea rcx, str.ERROR:_Unable_to_get__s_data_from_TSS_response_n
call fcn.1400023a0
jmp 0x14000aaa5
lea r8, str.ApImg4Ticket
lea rdx, str.tss_response_get_data_by_key
lea rcx, str.DEBUG:__s:_No_entry__s_in_TSS_response_n
call fcn.140002440
mov rdx, rbx
mov qword [rsp + 0x70], rdi
mov rcx, r14
mov qword [rsp + 0x60], rdi
call qword [sym.imp.plist.dll_plist_dict_get_item]
mov rsi, rax
test rax, rax
je 0x14000ab80
mov rcx, rax
call qword [sym.imp.plist.dll_plist_get_node_type]
cmp eax, 5
jne 0x14000ab80
lea rdx, str.Blob
mov rcx, rsi
call qword [sym.imp.plist.dll_plist_dict_get_item]
mov rsi, rax
test rax, rax
je 0x14000ab6f
mov rcx, rax
call qword [sym.imp.plist.dll_plist_get_node_type]
cmp eax, 7
jne 0x14000ab6f
lea r8, [rsp + 0x70]
mov rcx, rsi
lea rdx, [rsp + 0x60]
call qword [sym.imp.plist.dll_plist_get_data_val]
mov rdi, qword [rsp + 0x60]
test rdi, rdi
je 0x14000aba5
lea rax, [rsp + 0x40]
mov r9, rdi
mov qword [rsp + 0x30], rax
mov r8d, r15d
lea rax, [rsp + 0x48]
mov rdx, r12
mov rcx, rbx
mov qword [rsp + 0x28], rax
call fcn.14000b8e0
test eax, eax
jns 0x14000aa68
mov rdx, rbx
lea rcx, str.ERROR:_Unable_to_replace__s_IMG3_signature_n
call fcn.1400023a0
mov rcx, rdi
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov eax, 0xffffffff
jmp 0x14000ac69
mov rdx, rbx
lea rcx, str.ERROR:_Unable_to_find_blob_in__s_entry_n
call fcn.1400023a0
jmp 0x14000ab96
mov r8, rbx
lea rdx, str.tss_response_get_blob_by_entry
lea rcx, str.DEBUG:__s:_No_entry__s_in_TSS_response_n
call fcn.140002440
mov rdx, rbx
lea rcx, str.NOTE:_No_SHSH_blob_found_for_component__s_n
call fcn.140002440
mov rdx, rbx
lea rcx, str.Not_personalizing_component__s..._n
call fcn.140002320
mov rcx, r15
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov rsi, rax
test rax, rax
je 0x14000abd6
mov r8, r15
mov rdx, r12
mov rcx, rax
mov ebp, r15d
call sub.VCRUNTIME140.dll_memcpy
mov rcx, rdi
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
cmp dword [0x14002ed24], 0
je 0x14000ac5c
mov rdx, rbx
mov edi, ebp
lea rcx, str.Writing_data_to__s_n
call fcn.140002440
lea rdx, [0x14001df94]
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fopen]
mov r14, rax
test rax, rax
jne 0x14000ac22
mov rdx, rbx
lea rcx, str.write_file:_Unable_to_open_file__s_n
call fcn.1400023a0
jmp 0x14000ac5c
mov r9, r14
mov r8, rdi
mov edx, 1
mov rcx, rsi
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
mov rcx, r14
mov r15, rax
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
cmp r15, rdi
je 0x14000ac5c
mov r9d, edi
lea rcx, str.ERROR:_Unable_to_write_entire_file:__s:__d_of__d_n
mov r8d, r15d
mov rdx, rbx
call fcn.1400023a0
mov rax, qword [rsp + 0x50]
mov qword [r13], rsi
mov dword [rax], ebp
xor eax, eax
mov rcx, qword [rsp + 0x78]
xor rcx, rsp
call fcn.14001bfa0
add rsp, 0x88
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret