Function at 0x140120710
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 [0x14036a040]
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.1400b6c30
nop
lea rcx, [rbx + 0x3a0]
call fcn.1400ef640
test eax, eax
jne 0x140120789
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 0x1401209d0
xor edx, edx
mov r8d, 0x170
lea rcx, [rbp - 0x80]
call sub.VCRUNTIME140.dll_memset
lea rcx, [rbp - 0x80]
call fcn.14008d340
nop
mov r9, rdi
lea r8, [rbp - 0x80]
mov rdx, rsi
mov rcx, rbx
call fcn.14011fbc0
test al, al
jne 0x1401207d1
mov rax, qword [rdi]
mov rdx, qword [str.Failed_to_convert_resource_name_to_filename]
mov rcx, rdi
call qword [rax + 0x28]
xor bl, bl
jmp 0x1401209c6
cmp byte [rbx + 0x398], 0
je 0x1401207f7
lea rcx, [rbp - 0x80]
call fcn.140090aa0
mov rcx, rax
lea rdx, [rbx + 0x48]
call fcn.140120070
test al, al
je 0x1401208cc
lea rcx, [rbp - 0x80]
call fcn.140090aa0
mov rcx, rax
lea rdx, [0x1402aefac]
call fcn.1400d8a30
mov r14, rax
test rax, rax
jne 0x140120867
cmp byte [rbx + 0x398], al
je 0x140120834
lea rcx, [rbp - 0x80]
call fcn.140090aa0
mov rcx, rax
lea rdx, [rbx + 0x48]
call fcn.140120620
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.140090aa0
mov r8, rax
lea rdx, str.filename
mov rcx, rdi
call qword [rbx + 0x58]
xor bl, bl
jmp 0x1401209c6
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 0x1401208d3
cmp byte [rbx + 0x398], 0
je 0x140120898
lea rcx, [rbp - 0x80]
call fcn.140090aa0
mov rcx, rax
lea rdx, [rbx + 0x48]
call fcn.140120620
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.140090aa0
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 0x1401209c6
lea rcx, [rsp + 0x28]
call fcn.1400cedd0
nop
mov rcx, r15
call fcn.1400cf550
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.1400c4dc0
nop
mov r8d, 8
lea rdx, [rsp + 0x20]
lea rcx, [rsp + 0x48]
call fcn.1400c5440
call fcn.14008c7a0
test al, al
jne 0x140120931
lea rcx, [rsp + 0x48]
call fcn.1400cb4a0
lea rcx, [rsp + 0x48]
call fcn.1400c9610
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 0x140120978
lea rcx, [rbp - 0x80]
call fcn.140090aa0
mov rcx, rax
lea rdx, [rbx + 0x48]
call fcn.140120620
cmp r15d, 1
je 0x1401209ae
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.140090aa0
mov r8, rax
lea rdx, str.filename
mov rcx, rdi
call qword [rbx + 0x58]
xor bl, bl
jmp 0x1401209b0
mov bl, 1
lea rcx, [rsp + 0x48]
call fcn.1400c4f70
nop
lea rcx, [rsp + 0x28]
call fcn.1400cede0
nop
lea rcx, [rbp - 0x80]
call fcn.14008d3a0
nop
lea rcx, [rsp + 0x30]
call fcn.1400b6d00
movzx eax, bl
mov rcx, qword [rbp + 0xf0]
xor rcx, rsp
call fcn.14008b8a0
add rsp, 0x208
pop r15
pop r14
pop rdi
pop rsi
pop rbx
pop rbp
ret