Function at 0x14009b160
Capabilities:
Write file on windows

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r14
push r15
lea rbp, [rsp - 0x108]
sub rsp, 0x208
mov rax, qword [0x1402bf7c0]
xor rax, rsp
mov qword [rbp + 0xf0], rax
mov rdi, r9
mov r15, r8
mov rsi, rdx
mov rbx, rcx
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x40], rax
mov rdx, rcx
lea rcx, [rsp + 0x30]
call fcn.140032140
nop
lea rcx, [rbx + 0x3a0]
call fcn.140069510
test eax, eax
jne 0x14009b1d9
mov rax, qword [rdi]
mov rdx, qword [str.No_cache_roots_have_been_set.__Need_to_call_AddRoot_at_least_once.]
mov rcx, rdi
call qword [rax + 0x28]
xor bl, bl
jmp 0x14009b420
xor edx, edx
mov r8d, 0x170
lea rcx, [rbp - 0x80]
call sub.VCRUNTIME140.dll_memset
lea rcx, [rbp - 0x80]
call fcn.140008ad0
nop
mov r9, rdi
lea r8, [rbp - 0x80]
mov rdx, rsi
mov rcx, rbx
call fcn.14009a560
test al, al
jne 0x14009b221
mov rax, qword [rdi]
mov rdx, qword [str.8U__]
mov rcx, rdi
call qword [rax + 0x28]
xor bl, bl
jmp 0x14009b416
cmp byte [rbx + 0x398], 0
je 0x14009b247
lea rcx, [rbp - 0x80]
call fcn.14000c230
mov rcx, rax
lea rdx, [rbx + 0x48]
call fcn.14009aa20
test al, al
je 0x14009b31c
lea rcx, [rbp - 0x80]
call fcn.14000c230
mov rcx, rax
lea rdx, [0x1402256cc]
call fcn.140053eb0
mov r14, rax
test rax, rax
jne 0x14009b2b7
cmp byte [rbx + 0x398], al
je 0x14009b284
lea rcx, [rbp - 0x80]
call fcn.14000c230
mov rcx, rax
lea rdx, [rbx + 0x48]
call fcn.14009b070
mov rax, qword [rdi]
lea rdx, str.Failed_to_open_file
mov rcx, rdi
call qword [rax + 0x28]
mov rbx, qword [rdi]
lea rcx, [rbp - 0x80]
call fcn.14000c230
mov r8, rax
lea rdx, str.filename
mov rcx, rdi
call qword [rbx + 0x58]
xor bl, bl
jmp 0x14009b416
xor r8d, r8d
lea edx, [r8 + 0xa]
mov rcx, r14
call sub.api_ms_win_crt_stdio_l1_1_0.dll_fseek
test eax, eax
je 0x14009b323
cmp byte [rbx + 0x398], 0
je 0x14009b2e8
lea rcx, [rbp - 0x80]
call fcn.14000c230
mov rcx, rax
lea rdx, [rbx + 0x48]
call fcn.14009b070
mov rax, qword [rdi]
lea rdx, str.Failed_to_seek_to_position_in_cache_file.
mov rcx, rdi
call qword [rax + 0x28]
mov rbx, qword [rdi]
lea rcx, [rbp - 0x80]
call fcn.14000c230
mov r8, rax
lea rdx, str.filename
mov rcx, rdi
call qword [rbx + 0x58]
mov rcx, r14
call sub.api_ms_win_crt_stdio_l1_1_0.dll_fclose
xor bl, bl
jmp 0x14009b416
lea rcx, [rsp + 0x28]
call fcn.14004a250
nop
mov rcx, r15
call fcn.14004a9d0
movsd qword [rsp + 0x20], xmm0
xorps xmm0, xmm0
movups xmmword [rsp + 0x48], xmm0
movups xmmword [rsp + 0x58], xmm0
movups xmmword [rsp + 0x68], xmm0
lea rcx, [rsp + 0x48]
call fcn.140040240
nop
mov r8d, 8
lea rdx, [rsp + 0x20]
lea rcx, [rsp + 0x48]
call fcn.1400408c0
call fcn.140014080
test al, al
jne 0x14009b381
lea rcx, [rsp + 0x48]
call fcn.140046920
lea rcx, [rsp + 0x48]
call fcn.140044a90
mov rcx, rax
mov r9, r14
mov edx, 8
lea r8d, [rdx - 7]
call sub.api_ms_win_crt_stdio_l1_1_0.dll_fwrite
mov r15, rax
mov rcx, r14
call sub.api_ms_win_crt_stdio_l1_1_0.dll_fclose
cmp byte [rbx + 0x398], 0
je 0x14009b3c8
lea rcx, [rbp - 0x80]
call fcn.14000c230
mov rcx, rax
lea rdx, [rbx + 0x48]
call fcn.14009b070
cmp r15d, 1
je 0x14009b3fe
mov rax, qword [rdi]
lea rdx, str.Failed_to_update_cache_file.
mov rcx, rdi
call qword [rax + 0x28]
mov rbx, qword [rdi]
lea rcx, [rbp - 0x80]
call fcn.14000c230
mov r8, rax
lea rdx, str.filename
mov rcx, rdi
call qword [rbx + 0x58]
xor bl, bl
jmp 0x14009b400
mov bl, 1
lea rcx, [rsp + 0x48]
call fcn.1400403f0
nop
lea rcx, [rsp + 0x28]
call fcn.14004a260
nop
lea rcx, [rbp - 0x80]
call fcn.140008b30
nop
lea rcx, [rsp + 0x30]
call fcn.140032210
movzx eax, bl
mov rcx, qword [rbp + 0xf0]
xor rcx, rsp
call fcn.1401da8c0
add rsp, 0x208
pop r15
pop r14
pop rdi
pop rsi
pop rbx
pop rbp
ret