Function at 0x7ff668bfb350
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
push r14
push r15
sub rsp, 0x20
mov rdi, rcx
mov rax, qword [rcx + 0xa8]
test rax, rax
je 0x7ff668bfb43b
cmp byte [rcx + 1], 0
je 0x7ff668bfb43b
mov byte [rax + 0x18], 0
mov rbx, qword [rcx + 0xa8]
test rbx, rbx
je 0x7ff668bfb43b
mov rcx, rbx
call fcn.7ff668c13760
nop
mov rcx, qword [rbx + 0x70]
test rcx, rcx
je 0x7ff668bfb3ca
mov rax, qword [0x7ff668cf5450]
test rax, rax
je 0x7ff668bfb3bd
dec dword [rax + 0x3b0]
mov rdx, qword [0x7ff668cf5440]
call sub.ucrtbase.dll_free
nop
mov rcx, qword [rbx + 0x60]
test rcx, rcx
je 0x7ff668bfb3f2
mov rax, qword [0x7ff668cf5450]
test rax, rax
je 0x7ff668bfb3e5
dec dword [rax + 0x3b0]
mov rdx, qword [0x7ff668cf5440]
call sub.ucrtbase.dll_free
nop
mov rcx, qword [rbx + 0x50]
test rcx, rcx
je 0x7ff668bfb41a
mov rax, qword [0x7ff668cf5450]
test rax, rax
je 0x7ff668bfb40d
dec dword [rax + 0x3b0]
mov rdx, qword [0x7ff668cf5440]
call sub.ucrtbase.dll_free
nop
mov rax, qword [0x7ff668cf5450]
test rax, rax
je 0x7ff668bfb42c
dec dword [rax + 0x3b0]
mov rdx, qword [0x7ff668cf5440]
mov rcx, rbx
call sub.ucrtbase.dll_free
xor r15d, r15d
mov qword [rdi + 0xa8], r15
cmp byte [rdi], r15b
je 0x7ff668bfbc2f
cmp byte [rdi + 0x3091], r15b
je 0x7ff668bfb4c3
mov rbx, qword [rdi + 0x20]
test rbx, rbx
je 0x7ff668bfb4c3
mov rsi, qword [0x7ff668cf5450]
mov qword [0x7ff668cf5450], rdi
mov dword [rdi + 0x3094], r15d
mov qword [rsp + 0x40], r15
lea rcx, [rsp + 0x40]
call fcn.7ff668c07100
mov rbp, rax
lea rdx, [0x7ff668cd2330]
mov rcx, rbx
call fcn.7ff668bf7150
mov rbx, rax
test rax, rax
je 0x7ff668bfb4bc
mov r9, rax
mov r8, qword [rsp + 0x40]
lea edx, [r15 + 1]
mov rcx, rbp
call qword [sym.imp.ucrtbase.dll_fwrite]
mov rcx, rbx
call qword [sym.imp.ucrtbase.dll_fclose]
mov qword [0x7ff668cf5450], rsi
mov ebx, r15d
cmp dword [rdi + 0x30d8], r15d
jle 0x7ff668bfb502
mov rsi, r15
mov rcx, qword [rdi + 0x30e0]
cmp dword [rsi + rcx + 4], 6
jne 0x7ff668bfb4f4
mov rax, qword [rsi + rcx + 0x10]
movsxd rdx, ebx
shl rdx, 5
add rdx, rcx
mov rcx, rdi
call rax
inc ebx
add rsi, 0x20
cmp ebx, dword [rdi + 0x30d8]
jl 0x7ff668bfb4d2
mov esi, r15d
cmp dword [rdi + 0x1ba8], r15d
jle 0x7ff668bfb567
mov r14, r15
nop dword [rax]
nop word [rax + rax]
mov rax, qword [rdi + 0x1bb0]
mov rbx, qword [r14 + rax]
test rbx, rbx
je 0x7ff668bfb559
mov rcx, rbx
call fcn.7ff668bf8510
mov rax, qword [0x7ff668cf5450]
test rax, rax
je 0x7ff668bfb54a
dec dword [rax + 0x3b0]
mov rdx, qword [0x7ff668cf5440]
mov rcx, rbx
call sub.ucrtbase.dll_free
inc esi
add r14, 8
cmp esi, dword [rdi + 0x1ba8]
jl 0x7ff668bfb520
mov rcx, qword [rdi + 0x1bb0]
test rcx, rcx
je 0x7ff668bfb59f
mov qword [rdi + 0x1ba8], r15
mov rax, qword [0x7ff668cf5450]
test rax, rax
je 0x7ff668bfb58c
dec dword [rax + 0x3b0]
mov rdx, qword [0x7ff668cf5440]
call sub.ucrtbase.dll_free
mov qword [rdi + 0x1bb0], r15
mov rcx, qword [rdi + 0x1bc0]
test rcx, rcx
je 0x7ff668bfb5d7
mov qword [rdi + 0x1bb8], r15
mov rax, qword [0x7ff668cf5450]
test rax, rax
je 0x7ff668bfb5c4
dec dword [rax + 0x3b0]
mov rdx, qword [0x7ff668cf5440]
call sub.ucrtbase.dll_free
mov qword [rdi + 0x1bc0], r15
mov rcx, qword [rdi + 0x1bd0]
test rcx, rcx
je 0x7ff668bfb60f
mov qword [rdi + 0x1bc8], r15
mov rax, qword [0x7ff668cf5450]
test rax, rax
je 0x7ff668bfb5fc
dec dword [rax + 0x3b0]
mov rdx, qword [0x7ff668cf5440]
call sub.ucrtbase.dll_free
mov qword [rdi + 0x1bd0], r15
mov qword [rdi + 0x1c08], r15
mov rcx, qword [rdi + 0x1be0]
test rcx, rcx
je 0x7ff668bfb64e
mov qword [rdi + 0x1bd8], r15
mov rax, qword [0x7ff668cf5450]
test rax, rax
je 0x7ff668bfb63b
dec dword [rax + 0x3b0]
mov rdx, qword [0x7ff668cf5440]
call sub.ucrtbase.dll_free
mov qword [rdi + 0x1be0], r15
mov rcx, qword [rdi + 0x1bf0]
test rcx, rcx
je 0x7ff668bfb686
mov qword [rdi + 0x1be8], r15
mov rax, qword [0x7ff668cf5450]
test rax, rax
je 0x7ff668bfb673
dec dword [rax + 0x3b0]
mov rdx, qword [0x7ff668cf5440]
call sub.ucrtbase.dll_free
mov qword [rdi + 0x1bf0], r15
mov qword [rdi + 0x1df0], r15
mov qword [rdi + 0x1c18], r15
mov qword [rdi + 0x1c10], r15
mov qword [rdi + 0x1c98], r15
mov qword [rdi + 0x1c80], r15
mov qword [rdi + 0x1c20], r15
mov rcx, qword [rdi + 0x1d68]
test rcx, rcx
je 0x7ff668bfb6e8
mov qword [rdi + 0x1d60], r15
mov rax, qword [0x7ff668cf5450]
test rax, rax
je 0x7ff668bfb6d5
dec dword [rax + 0x3b0]
mov rdx, qword [0x7ff668cf5440]
call sub.ucrtbase.dll_free
mov qword [rdi + 0x1d68], r15
mov rcx, qword [rdi + 0x1d78]
test rcx, rcx
je 0x7ff668bfb720
mov qword [rdi + 0x1d70], r15
mov rax, qword [0x7ff668cf5450]
test rax, rax
je 0x7ff668bfb70d
dec dword [rax + 0x3b0]
mov rdx, qword [0x7ff668cf5440]
call sub.ucrtbase.dll_free
mov qword [rdi + 0x1d78], r15
mov rcx, qword [rdi + 0x1d88]
test rcx, rcx
je 0x7ff668bfb758
mov qword [rdi + 0x1d80], r15
mov rax, qword [0x7ff668cf5450]
test rax, rax
je 0x7ff668bfb745
dec dword [rax + 0x3b0]
mov rdx, qword [0x7ff668cf5440]
call sub.ucrtbase.dll_free
mov qword [rdi + 0x1d88], r15
mov rcx, qword [rdi + 0x1dc8]
test rcx, rcx
je 0x7ff668bfb790
mov qword [rdi + 0x1dc0], r15
mov rax, qword [0x7ff668cf5450]
test rax, rax
je 0x7ff668bfb77d
dec dword [rax + 0x3b0]
mov rdx, qword [0x7ff668cf5440]
call sub.ucrtbase.dll_free
mov qword [rdi + 0x1dc8], r15
mov rcx, qword [rdi + 0x1dd8]
test rcx, rcx
je 0x7ff668bfb7c8
mov qword [rdi + 0x1dd0], r15
mov rax, qword [0x7ff668cf5450]
test rax, rax
je 0x7ff668bfb7b5
dec dword [rax + 0x3b0]
mov rdx, qword [0x7ff668cf5440]
call sub.ucrtbase.dll_free
mov qword [rdi + 0x1dd8], r15
mov ebp, r15d
cmp dword [rdi + 0x1de0], r15d
jle 0x7ff668bfb8a6
mov r14, r15
nop dword [rax + rax]
mov rax, qword [rdi + 0x1de8]
mov rbx, qword [r14 + rax]
test rbx, rbx
je 0x7ff668bfb894
mov rsi, qword [rbx + 0x30]
test rsi, rsi
je 0x7ff668bfb826
mov rcx, rsi
call fcn.7ff668bf5a10
mov rax, qword [0x7ff668cf5450]
test rax, rax
je 0x7ff668bfb817
dec dword [rax + 0x3b0]
mov rdx, qword [0x7ff668cf5440]
mov rcx, rsi
call sub.ucrtbase.dll_free
mov rsi, qword [rbx + 0x38]
test rsi, rsi
je 0x7ff668bfb859
mov rcx, rsi
call fcn.7ff668bf5a10
mov rax, qword [0x7ff668cf5450]
test rax, rax
je 0x7ff668bfb849
dec dword [rax + 0x3b0]
mov rdx, qword [0x7ff668cf5440]
mov rcx, rsi
call sub.ucrtbase.dll_free
nop
lea rcx, [rbx + 0x70]
lea r9, [0x7ff668c07a00]
mov edx, 0x10
lea r8d, [rdx - 0xe]
call fcn.7ff668cb8f80
nop
mov rax, qword [0x7ff668cf5450]
test rax, rax
je 0x7ff668bfb885
dec dword [rax + 0x3b0]
mov rdx, qword [0x7ff668cf5440]
mov rcx, rbx
call sub.ucrtbase.dll_free
inc ebp
add r14, 8
cmp ebp, dword [rdi + 0x1de0]
jl 0x7ff668bfb7e0
mov rcx, qword [rdi + 0x1de8]
test rcx, rcx
je 0x7ff668bfb8de
mov qword [rdi + 0x1de0], r15
mov rax, qword [0x7ff668cf5450]
test rax, rax
je 0x7ff668bfb8cb
dec dword [rax + 0x3b0]
mov rdx, qword [0x7ff668cf5440]
call sub.ucrtbase.dll_free
mov qword [rdi + 0x1de8], r15
lea rcx, [rdi + 0x2088]
call fcn.7ff668c07b50
mov rcx, qword [rdi + 0x20b8]
test rcx, rcx
je 0x7ff668bfb922
mov qword [rdi + 0x20b0], r15
mov rax, qword [0x7ff668cf5450]
test rax, rax
je 0x7ff668bfb90f
dec dword [rax + 0x3b0]
mov rdx, qword [0x7ff668cf5440]
call sub.ucrtbase.dll_free
mov qword [rdi + 0x20b8], r15
mov rcx, qword [rdi + 0x20c8]
test rcx, rcx
je 0x7ff668bfb95a
mov qword [rdi + 0x20c0], r15
mov rax, qword [0x7ff668cf5450]
test rax, rax
je 0x7ff668bfb947
dec dword [rax + 0x3b0]
mov rdx, qword [0x7ff668cf5440]
call sub.ucrtbase.dll_free
mov qword [rdi + 0x20c8], r15
lea rcx, [rdi + 0x2028]
call fcn.7ff668c07cf0
mov esi, r15d
cmp dword [rdi + 0x2050], r15d
jle 0x7ff668bfb9cb
mov rbp, r15
nop word [rax + rax]
mov rbx, qword [rdi + 0x2058]
lea rcx, [rbx + 0x10]
add rcx, rbp
call fcn.7ff668c13140
nop
mov rcx, qword [rbx + rbp + 0x20]
test rcx, rcx
je 0x7ff668bfb9bd
mov rax, qword [0x7ff668cf5450]
test rax, rax
je 0x7ff668bfb9b0
dec dword [rax + 0x3b0]
mov rdx, qword [0x7ff668cf5440]
call sub.ucrtbase.dll_free
nop
inc esi
add rbp, 0x70
cmp esi, dword [rdi + 0x2050]
jl 0x7ff668bfb980
mov rcx, qword [rdi + 0x2058]
test rcx, rcx
je 0x7ff668bfba03
mov qword [rdi + 0x2050], r15
mov rax, qword [0x7ff668cf5450]
test rax, rax
je 0x7ff668bfb9f0
dec dword [rax + 0x3b0]
mov rdx, qword [0x7ff668cf5440]
call sub.ucrtbase.dll_free
mov qword [rdi + 0x2058], r15
mov rcx, qword [rdi + 0x2078]
test rcx, rcx
je 0x7ff668bfba3b
mov qword [rdi + 0x2070], r15
mov rax, qword [0x7ff668cf5450]
test rax, rax
je 0x7ff668bfba28
dec dword [rax + 0x3b0]
mov rdx, qword [0x7ff668cf5440]
call sub.ucrtbase.dll_free
mov qword [rdi + 0x2078], r15
mov rcx, qword [rdi + 0x3068]
test rcx, rcx
je 0x7ff668bfba73
mov qword [rdi + 0x3060], r15
mov rax, qword [0x7ff668cf5450]
test rax, rax
je 0x7ff668bfba60
dec dword [rax + 0x3b0]
mov rdx, qword [0x7ff668cf5440]
call sub.ucrtbase.dll_free
mov qword [rdi + 0x3068], r15
mov rcx, qword [rdi + 0x3078]
test rcx, rcx
je 0x7ff668bfbaab
mov qword [rdi + 0x3070], r15
mov rax, qword [0x7ff668cf5450]
test rax, rax
je 0x7ff668bfba98
dec dword [rax + 0x3b0]
mov rdx, qword [0x7ff668cf5440]
call sub.ucrtbase.dll_free
mov qword [rdi + 0x3078], r15
mov rcx, qword [rdi + 0x20f0]
test rcx, rcx
je 0x7ff668bfbae3
mov qword [rdi + 0x20e8], r15
mov rax, qword [0x7ff668cf5450]
test rax, rax
je 0x7ff668bfbad0
dec dword [rax + 0x3b0]
mov rdx, qword [0x7ff668cf5440]
call sub.ucrtbase.dll_free
mov qword [rdi + 0x20f0], r15
mov rcx, qword [rdi + 0x2100]
test rcx, rcx
je 0x7ff668bfbb1b
mov qword [rdi + 0x20f8], r15
mov rax, qword [0x7ff668cf5450]
test rax, rax
je 0x7ff668bfbb08
dec dword [rax + 0x3b0]
mov rdx, qword [0x7ff668cf5440]
call sub.ucrtbase.dll_free
mov qword [rdi + 0x2100], r15
mov rcx, qword [rdi + 0x2110]
test rcx, rcx
je 0x7ff668bfbb53
mov qword [rdi + 0x2108], r15
mov rax, qword [0x7ff668cf5450]
test rax, rax
je 0x7ff668bfbb40
dec dword [rax + 0x3b0]
mov rdx, qword [0x7ff668cf5440]
call sub.ucrtbase.dll_free
mov qword [rdi + 0x2110], r15
mov rcx, qword [rdi + 0x30c0]
test rcx, rcx
je 0x7ff668bfbb8b
mov qword [rdi + 0x30b8], r15
mov rax, qword [0x7ff668cf5450]
test rax, rax
je 0x7ff668bfbb78
dec dword [rax + 0x3b0]
mov rdx, qword [0x7ff668cf5440]
call sub.ucrtbase.dll_free
mov qword [rdi + 0x30c0], r15
mov rcx, qword [rdi + 0x30b0]
test rcx, rcx
je 0x7ff668bfbbc3
mov qword [rdi + 0x30a8], r15
mov rax, qword [0x7ff668cf5450]
test rax, rax
je 0x7ff668bfbbb0
dec dword [rax + 0x3b0]
mov rdx, qword [0x7ff668cf5440]
call sub.ucrtbase.dll_free
mov qword [rdi + 0x30b0], r15
cmp qword [rdi + 0x30f8], 0
je 0x7ff668bfbbf4
mov rbx, qword [rdi + 0x30f8]
mov ecx, 1
call qword [sym.imp.ucrtbase.dll___acrt_iob_func]
cmp rbx, rax
je 0x7ff668bfbbed
mov rcx, rbx
call qword [sym.imp.ucrtbase.dll_fclose]
mov qword [rdi + 0x30f8], r15
mov rcx, qword [rdi + 0x3108]
test rcx, rcx
je 0x7ff668bfbc2c
mov qword [rdi + 0x3100], r15
mov rax, qword [0x7ff668cf5450]
test rax, rax
je 0x7ff668bfbc19
dec dword [rax + 0x3b0]
mov rdx, qword [0x7ff668cf5440]
call sub.ucrtbase.dll_free
mov qword [rdi + 0x3108], r15
mov byte [rdi], 0
mov rbx, qword [rsp + 0x48]
mov rbp, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x58]
add rsp, 0x20
pop r15
pop r14
pop rdi
ret