Function at 0x140117c50
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 [0x14037d7c0]
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.1400ae1f0
nop
lea rcx, [rbx + 0x3a0]
call fcn.1400e6c10
test eax, eax
jne 0x140117cc9
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 0x140117f10
xor edx, edx
mov r8d, 0x170
lea rcx, [rbp - 0x80]
call sub.VCRUNTIME140.dll_memset
lea rcx, [rbp - 0x80]
call fcn.14007fbb0
nop
mov r9, rdi
lea r8, [rbp - 0x80]
mov rdx, rsi
mov rcx, rbx
call fcn.140117100
test al, al
jne 0x140117d11
mov rax, qword [rdi]
mov rdx, qword [str.XT_]
mov rcx, rdi
call qword [rax + 0x28]
xor bl, bl
jmp 0x140117f06
cmp byte [rbx + 0x398], 0
je 0x140117d37
lea rcx, [rbp - 0x80]
call fcn.140083310
mov rcx, rax
lea rdx, [rbx + 0x48]
call fcn.1401175b0
test al, al
je 0x140117e0c
lea rcx, [rbp - 0x80]
call fcn.140083310
mov rcx, rax
lea rdx, [0x1402a55ec]
call fcn.1400cfff0
mov r14, rax
test rax, rax
jne 0x140117da7
cmp byte [rbx + 0x398], al
je 0x140117d74
lea rcx, [rbp - 0x80]
call fcn.140083310
mov rcx, rax
lea rdx, [rbx + 0x48]
call fcn.140117b60
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.140083310
mov r8, rax
lea rdx, str.filename
mov rcx, rdi
call qword [rbx + 0x58]
xor bl, bl
jmp 0x140117f06
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 0x140117e13
cmp byte [rbx + 0x398], 0
je 0x140117dd8
lea rcx, [rbp - 0x80]
call fcn.140083310
mov rcx, rax
lea rdx, [rbx + 0x48]
call fcn.140117b60
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.140083310
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 0x140117f06
lea rcx, [rsp + 0x28]
call fcn.1400c6390
nop
mov rcx, r15
call fcn.1400c6b10
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.1400bc380
nop
mov r8d, 8
lea rdx, [rsp + 0x20]
lea rcx, [rsp + 0x48]
call fcn.1400bca00
call fcn.14008ed50
test al, al
jne 0x140117e71
lea rcx, [rsp + 0x48]
call fcn.1400c2a60
lea rcx, [rsp + 0x48]
call fcn.1400c0bd0
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 0x140117eb8
lea rcx, [rbp - 0x80]
call fcn.140083310
mov rcx, rax
lea rdx, [rbx + 0x48]
call fcn.140117b60
cmp r15d, 1
je 0x140117eee
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.140083310
mov r8, rax
lea rdx, str.filename
mov rcx, rdi
call qword [rbx + 0x58]
xor bl, bl
jmp 0x140117ef0
mov bl, 1
lea rcx, [rsp + 0x48]
call fcn.1400bc530
nop
lea rcx, [rsp + 0x28]
call fcn.1400c63a0
nop
lea rcx, [rbp - 0x80]
call fcn.14007fc10
nop
lea rcx, [rsp + 0x30]
call fcn.1400ae2c0
movzx eax, bl
mov rcx, qword [rbp + 0xf0]
xor rcx, rsp
call fcn.1402577a0
add rsp, 0x208
pop r15
pop r14
pop rdi
pop rsi
pop rbx
pop rbp
ret