Function at 0x140096218
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 0x20], rbx
push rdi
push r12
push r13
push r14
push r15
mov eax, 0x4bf0
call fcn.140112490
sub rsp, rax
mov rax, qword [0x1401750b8]
xor rax, rsp
mov qword [rsp + 0x4be0], rax
mov qword [rsp + 0xd0], r8
mov r14, rdx
mov qword [rsp + 0xc8], rdx
mov r12, rcx
mov qword [rsp + 0xf0], rcx
mov qword [rsp + 0xf8], rdx
mov qword [rsp + 0x100], r8
xor edi, edi
mov dword [rsp + 0x50], edi
mov rax, qword [rcx]
test rax, rax
jne 0x14009628b
mov eax, 6
jmp 0x140096b8c
xor r13d, r13d
mov dword [rsp + 0x5c], r13d
mov qword [rsp + 0x150], rax
lea rax, [0x140095e40]
mov qword [rsp + 0x140], rax
lea rax, [0x140095db0]
mov qword [rsp + 0x148], rax
lea rax, [0x1400c3c00]
mov qword [rsp + 0xb40], rax
lea rax, [0x1400c3c80]
mov qword [rsp + 0xb48], rax
lea rax, [0x1400c3c90]
mov qword [rsp + 0xb50], rax
lea rax, [0x1400c3d00]
mov qword [rsp + 0xb58], rax
lea rax, [rsp + 0x140]
mov qword [rsp + 0xb60], rax
lea rax, [0x1400c3b70]
mov qword [rsp + 0xd8], rax
lea rax, [0x1400c3b80]
mov qword [rsp + 0xe0], rax
lea rax, [0x1400c3b70]
mov qword [rsp + 0x118], rax
lea rax, [0x1400c3b80]
mov qword [rsp + 0x120], rax
call fcn.1400c1094
lea rcx, [rsp + 0x180]
call fcn.1400c12bc
lea r9, [rsp + 0x118]
lea r8, [rsp + 0xd8]
lea rdx, [rsp + 0xb40]
lea rcx, [rsp + 0x180]
call fcn.1400c3650
mov ebx, eax
test eax, eax
je 0x140096393
lea rdx, [rsp + 0xd8]
lea rcx, [rsp + 0x180]
call fcn.1400c1348
mov dword [rsp + 0x88], ebx
test ebx, ebx
je 0x140096409
mov r14d, 2
cmp dword [0x14017c080], r14d
jg 0x1400963e8
mov r9d, r14d
mov r8d, 0xb8
lea rdx, str..._.._chrome_installer_util_lzma_util.cc
lea rcx, [rsp + 0x368]
call fcn.1400681c0
lea rcx, [rax + 8]
lea rdx, str.Error_returned_by_SzArchiveOpen:
call fcn.140068e50
mov rcx, rax
mov edx, ebx
call fcn.140028ef4
lea edi, [r14 - 1]
test dil, 1
je 0x1400963fb
lea rcx, [rsp + 0x368]
call fcn.140068220
mov dword [r12 + 0x18], 3
jmp 0x140096281
and qword [rsp + 0xa8], rdi
or dword [rsp + 0x9c], 0xffffffff
and qword [rsp + 0x128], rdi
mov rdx, r14
lea rcx, [rsp + 0xac0]
call fcn.1400af720
and dword [r12 + 0x18], edi
xor ebx, ebx
lea r14d, [rbx + 2]
mov dword [rsp + 0x54], ebx
cmp ebx, dword [rsp + 0x1e0]
jae 0x140096b4d
and qword [rsp + 0xb0], 0
and qword [rsp + 0xa0], 0
and dword [rsp + 0x60], 0
lea rax, [rsp + 0x118]
mov qword [rsp + 0x48], rax
lea rax, [rsp + 0xac0]
mov qword [rsp + 0x40], rax
lea rax, [rsp + 0xa0]
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0xb0]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x128]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0xa8]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x9c]
mov r8d, ebx
lea rdx, [rsp + 0xb40]
lea rcx, [rsp + 0x180]
call fcn.1400c396c
mov r15d, eax
mov dword [rsp + 0x88], eax
test eax, eax
je 0x140096558
mov ecx, r14d
call fcn.140067fc0
test al, al
je 0x14009652b
or edi, r14d
mov dword [rsp + 0x50], edi
mov r9d, r14d
mov r8d, 0xd1
lea rdx, str..._.._chrome_installer_util_lzma_util.cc
lea rcx, [rsp + 0x470]
call fcn.1400681c0
lea rcx, [rax + 8]
lea rdx, str.Error_returned_by_SzExtract:
call fcn.140068e50
mov rcx, rax
mov edx, r15d
call fcn.140028ef4
test r14b, dil
je 0x140096544
and edi, 0xfffffffd
mov dword [rsp + 0x50], edi
lea rcx, [rsp + 0x470]
call fcn.140068220
mov r13d, 6
mov dword [rsp + 0x5c], r13d
mov dword [r12 + 0x18], 4
jmp 0x140096617
test r13d, r13d
jne 0x140096b4d
mov ecx, ebx
mov rax, qword [rsp + 0x248]
mov r15, qword [rax + rcx*8 + 8]
sub r15, qword [rax + rcx*8]
cmp r15, 1
jae 0x140096695
cmp dword [0x14017c080], r14d
jg 0x140096672
or edi, 8
mov r9d, r14d
mov r8d, 0xe4
lea rdx, str..._.._chrome_installer_util_lzma_util.cc
lea rcx, [rsp + 0x260]
call fcn.1400681c0
lea rcx, [rax + 8]
lea rdx, str.Couldnt_get_file_name
call fcn.140068e50
test dil, 8
je 0x140096685
lea rcx, [rsp + 0x260]
call fcn.140068220
mov r13d, 6
mov dword [r12 + 0x18], r13d
jmp 0x140096b4d
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x70], xmm0
and qword [rsp + 0x80], 0
mov rdx, r15
lea rcx, [rsp + 0x70]
call fcn.140096c68
test al, al
je 0x1400966d9
lea rbx, [r15 + r15]
mov r8, rbx
xor edx, edx
mov r15, qword [rsp + 0x70]
mov rcx, r15
call fcn.140113400
add qword [rsp + 0x78], rbx
mov ebx, dword [rsp + 0x54]
jmp 0x1400966de
mov r15, qword [rsp + 0x70]
mov rax, qword [rsp + 0x248]
mov ecx, ebx
mov rdx, qword [rax + rcx*8]
mov rcx, qword [rax + rcx*8 + 8]
sub rcx, rdx
test r15, r15
je 0x140096721
mov rax, qword [rsp + 0x250]
lea r8, [rax + rdx*2]
test rcx, rcx
je 0x140096721
mov rdx, r15
sub r8, r15
movzx eax, word [r8 + rdx]
mov word [rdx], ax
add rdx, r14
sub rcx, 1
jne 0x140096710
mov r8, qword [rsp + 0x78]
add r8, 0xfffffffffffffffe
mov qword [rsp + 0x158], r8
mov rdx, r15
lea rcx, [rsp + 0x4ba0]
call fcn.140096cf4
cmp qword [rax + 0x18], 8
jb 0x14009674e
mov rcx, qword [rax]
jmp 0x140096751
mov rcx, rax
mov qword [rsp + 0x130], rcx
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x138], rax
movaps xmm0, xmmword [rsp + 0x130]
movdqa xmmword [rsp + 0x160], xmm0
lea r8, [rsp + 0x160]
lea rdx, [rsp + 0x4b80]
mov rcx, qword [rsp + 0xc8]
call fcn.14005add0
lea rcx, [rsp + 0x4ba0]
call fcn.140028e64
mov rax, qword [rsp + 0xd0]
test rax, rax
je 0x1400967d1
lea rcx, [rsp + 0x4b80]
cmp rax, rcx
je 0x1400967d1
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rdx, [rsp + 0x4b80]
mov rcx, rax
call fcn.140029d5c
mov ecx, ebx
and ecx, 7
mov edx, 0x80
sar edx, cl
mov dword [rsp + 0x54], edx
mov ecx, ebx
shr rcx, 3
mov qword [rsp + 0x108], rcx
mov rax, qword [rsp + 0x1f0]
test byte [rcx + rax], dl
je 0x140096811
lea rdx, [rsp + 0x4b80]
mov rcx, r12
call fcn.140096bb8
jmp 0x140096a7d
lea rdx, [rsp + 0x4bc0]
lea rcx, [rsp + 0x4b80]
call fcn.14005a6a0
mov rdx, rax
mov rcx, r12
call fcn.140096bb8
lea rcx, [rsp + 0x4bc0]
call fcn.1400599c0
lea rcx, [rsp + 0x4b80]
cmp qword [rsp + 0x4b98], 8
cmovae rcx, qword [rsp + 0x4b80]
and qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], r14d
xor r9d, r9d
xor r8d, r8d
mov edx, 0x40000000
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov qword [rsp + 0x68], rax
cmp rax, 0xffffffffffffffff
jne 0x1400968f5
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r13d, eax
cmp dword [0x14017c080], r14d
jg 0x1400968d4
or edi, 0x10
mov r9d, r14d
mov r8d, 0x100
lea rdx, str..._.._chrome_installer_util_lzma_util.cc
lea rcx, [rsp + 0x680]
call fcn.1400681c0
lea rcx, [rax + 8]
lea rdx, str.Error_returned_by_CreateFile:
call fcn.140068e50
mov rcx, rax
mov edx, r13d
call fcn.140033548
test dil, 0x10
je 0x1400968e7
lea rcx, [rsp + 0x680]
call fcn.140068220
mov dword [r12 + 0x18], 7
jmp 0x140096b22
mov rdx, qword [rsp + 0xb0]
add rdx, qword [rsp + 0xa8]
and qword [rsp + 0x20], 0
lea r9, [rsp + 0x98]
mov r8d, dword [rsp + 0xa0]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x140096aaf
mov eax, dword [rsp + 0x98]
cmp rax, qword [rsp + 0xa0]
jne 0x140096aaf
mov rdx, qword [rsp + 0x218]
test rdx, rdx
je 0x140096a01
mov eax, dword [rsp + 0x54]
mov rcx, qword [rsp + 0x108]
test byte [rcx + rdx], al
je 0x140096a01
mov rax, qword [rsp + 0x220]
mov ecx, ebx
lea r9, [rax + rcx*8]
xor r8d, r8d
xor edx, edx
mov rcx, qword [rsp + 0x68]
call qword [sym.imp.KERNEL32.dll_SetFileTime]
test eax, eax
jne 0x140096a01
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r13d, eax
cmp dword [0x14017c080], r14d
jg 0x1400969d5
or edi, 0x40
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x20], eax
mov r9d, r14d
mov r8d, 0x113
lea rdx, str..._.._chrome_installer_util_lzma_util.cc
lea rcx, [rsp + 0x788]
call fcn.140068d00
lea rcx, [rax + 0x10]
lea rdx, str.Error_returned_by_SetFileTime
call fcn.140068e50
test dil, 0x40
je 0x1400969e8
lea rcx, [rsp + 0x788]
call fcn.140068d80
mov rcx, qword [rsp + 0x68]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [r12 + 0x18], 9
jmp 0x140096b22
mov rcx, qword [rsp + 0x68]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
test eax, eax
jne 0x140096a7d
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r13d, eax
cmp dword [0x14017c080], r14d
jg 0x140096a5d
bts edi, 7
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x20], eax
mov r9d, r14d
mov r8d, 0x11b
lea rdx, str..._.._chrome_installer_util_lzma_util.cc
lea rcx, [rsp + 0x898]
call fcn.140068d00
lea rcx, [rax + 0x10]
lea rdx, str.Error_returned_by_CloseHandle
call fcn.140068e50
test dil, dil
jns 0x140096a6f
lea rcx, [rsp + 0x898]
call fcn.140068d80
mov dword [r12 + 0x18], 0xa
jmp 0x140096b22
lea rcx, [rsp + 0x4b80]
call fcn.1400599c0
test r15, r15
je 0x140096aa8
mov rdx, qword [rsp + 0x80]
sub rdx, r15
mov r8, r14
sar rdx, 1
mov rcx, r15
call fcn.1400223b0
inc ebx
jmp 0x14009643c
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r13d, eax
cmp dword [0x14017c080], r14d
jg 0x140096afb
or edi, 0x20
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x20], eax
mov r9d, r14d
mov r8d, 0x109
lea rdx, str..._.._chrome_installer_util_lzma_util.cc
lea rcx, [rsp + 0x9a8]
call fcn.140068d00
lea rcx, [rax + 0x10]
lea rdx, str.Error_returned_by_WriteFile
call fcn.140068e50
test dil, 0x20
je 0x140096b0e
lea rcx, [rsp + 0x9a8]
call fcn.140068d80
mov rcx, qword [rsp + 0x68]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [r12 + 0x18], 8
lea rcx, [rsp + 0x4b80]
call fcn.1400599c0
test r15, r15
je 0x140096b4d
mov rdx, qword [rsp + 0x80]
sub rdx, r15
mov r8, r14
sar rdx, 1
mov rcx, r15
call fcn.1400223b0
mov rdx, qword [rsp + 0xa8]
lea rcx, [rsp + 0xac0]
mov rax, qword [rsp + 0xac8]
call rax
lea rdx, [rsp + 0xd8]
lea rcx, [rsp + 0x180]
call fcn.1400c1348
lea rcx, [rsp + 0xac0]
call fcn.1400af7d8
mov eax, r13d
mov rcx, qword [rsp + 0x4be0]
xor rcx, rsp
call fcn.140111850
mov rbx, qword [rsp + 0x4c38]
add rsp, 0x4bf0
pop r15
pop r14
pop r13
pop r12
pop rdi
ret