Function at 0x140044080
Capabilities:
Write file on windows

Disassembly:
push r14
push rsi
push rdi
push rbx
sub rsp, 0x38
mov rsi, rcx
mov rax, qword [0x140279c48]
xor rax, rsp
mov qword [rsp + 0x30], rax
mov rax, qword [rcx + 0xa8]
test rax, rax
je 0x140044117
cmp byte [rsi + 1], 0
je 0x140044117
mov byte [rax], 0
mov rdi, qword [rsi + 0xa8]
test rdi, rdi
je 0x140044117
mov rcx, rdi
call fcn.140064760
mov eax, dword [0x14027a788]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete cl
cmp dword [0x14027a78c], 0xa
setl al
or al, cl
nop word cs:[rax + rax]
nop dword [rax]
test al, al
je 0x1400440f0
mov rax, qword [0x1402808a8]
test rax, rax
je 0x140044107
add dword [rax + 0x3bc], 0xffffffff
mov rdx, qword [0x1402808b8]
mov rcx, rdi
call qword [0x140275380]
mov qword [rsi + 0xa8], 0
cmp byte [rsi], 0
je 0x140044ae2
cmp byte [rsi + 0x3031], 0
je 0x1400441a8
mov rbx, qword [rsi + 0x20]
test rbx, rbx
je 0x1400441a8
mov r14, qword [0x1402808a8]
mov qword [0x1402808a8], rsi
mov dword [rsi + 0x3034], 0
mov qword [rsp + 0x28], 0
lea rcx, [rsp + 0x28]
call fcn.14005bce0
mov rdi, rax
lea rdx, [0x1401d75a4]
mov rcx, rbx
call fcn.14003d1c0
test rax, rax
je 0x1400441a1
mov rbx, rax
mov r8, qword [rsp + 0x28]
mov edx, 1
mov rcx, rdi
mov r9, rax
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
mov qword [0x1402808a8], r14
mov eax, dword [rsi + 0x1a38]
test eax, eax
jle 0x140044239
xor ebx, ebx
jmp 0x1400441e2
mov rdx, qword [0x1402808b8]
mov rcx, rdi
call qword [0x140275380]
mov eax, dword [rsi + 0x1a38]
add rbx, 1
movsxd rcx, eax
cmp rbx, rcx
jge 0x140044239
mov rcx, qword [rsi + 0x1a40]
mov rdi, qword [rcx + rbx*8]
test rdi, rdi
je 0x1400441d6
mov rcx, rdi
call fcn.140041ab0
mov eax, dword [0x14027a788]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete cl
cmp dword [0x14027a78c], 0xa
setl al
or al, cl
nop dword [rax + rax]
test al, al
je 0x140044220
mov rax, qword [0x1402808a8]
test rax, rax
je 0x1400441c0
add dword [rax + 0x3bc], 0xffffffff
jmp 0x1400441c0
mov rcx, qword [rsi + 0x1a40]
test rcx, rcx
je 0x14004429f
mov qword [rsi + 0x1a38], 0
mov eax, dword [0x14027a788]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
sete dl
cmp dword [0x14027a78c], 0xa
setl al
or al, dl
nop
test al, al
je 0x140044270
mov rax, qword [0x1402808a8]
test rax, rax
je 0x140044287
add dword [rax + 0x3bc], 0xffffffff
mov rdx, qword [0x1402808b8]
call qword [0x140275380]
mov qword [rsi + 0x1a40], 0
mov rcx, qword [rsi + 0x1a50]
test rcx, rcx
je 0x14004430f
mov qword [rsi + 0x1a48], 0
mov eax, dword [0x14027a788]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
sete dl
cmp dword [0x14027a78c], 0xa
setl al
or al, dl
nop word cs:[rax + rax]
nop
test al, al
je 0x1400442e0
mov rax, qword [0x1402808a8]
test rax, rax
je 0x1400442f7
add dword [rax + 0x3bc], 0xffffffff
mov rdx, qword [0x1402808b8]
call qword [0x140275380]
mov qword [rsi + 0x1a50], 0
mov rcx, qword [rsi + 0x1a60]
test rcx, rcx
je 0x14004437f
mov qword [rsi + 0x1a58], 0
mov eax, dword [0x14027a788]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
sete dl
cmp dword [0x14027a78c], 0xa
setl al
or al, dl
nop word cs:[rax + rax]
nop
test al, al
je 0x140044350
mov rax, qword [0x1402808a8]
test rax, rax
je 0x140044367
add dword [rax + 0x3bc], 0xffffffff
mov rdx, qword [0x1402808b8]
call qword [0x140275380]
mov qword [rsi + 0x1a60], 0
mov qword [rsi + 0x1a90], 0
mov rcx, qword [rsi + 0x1a70]
test rcx, rcx
je 0x1400443ef
mov qword [rsi + 0x1a68], 0
mov eax, dword [0x14027a788]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
sete dl
cmp dword [0x14027a78c], 0xa
setl al
or al, dl
nop
test al, al
je 0x1400443c0
mov rax, qword [0x1402808a8]
test rax, rax
je 0x1400443d7
add dword [rax + 0x3bc], 0xffffffff
mov rdx, qword [0x1402808b8]
call qword [0x140275380]
mov qword [rsi + 0x1a70], 0
mov rcx, qword [rsi + 0x1a80]
test rcx, rcx
je 0x14004445f
mov qword [rsi + 0x1a78], 0
mov eax, dword [0x14027a788]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
sete dl
cmp dword [0x14027a78c], 0xa
setl al
or al, dl
nop word cs:[rax + rax]
nop
test al, al
je 0x140044430
mov rax, qword [0x1402808a8]
test rax, rax
je 0x140044447
add dword [rax + 0x3bc], 0xffffffff
mov rdx, qword [0x1402808b8]
call qword [0x140275380]
mov qword [rsi + 0x1a80], 0
mov qword [rsi + 0x1c10], 0
mov qword [rsi + 0x1b28], 0
mov qword [rsi + 0x1b10], 0
xorps xmm0, xmm0
movups xmmword [rsi + 0x1a98], xmm0
movups xmmword [rsi + 0x1aa8], xmm0
mov rcx, qword [rsi + 0x1bc8]
test rcx, rcx
je 0x1400444ff
mov qword [rsi + 0x1bc0], 0
mov eax, dword [0x14027a788]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
sete dl
cmp dword [0x14027a78c], 0xa
setl al
or al, dl
nop word cs:[rax + rax]
test al, al
je 0x1400444d0
mov rax, qword [0x1402808a8]
test rax, rax
je 0x1400444e7
add dword [rax + 0x3bc], 0xffffffff
mov rdx, qword [0x1402808b8]
call qword [0x140275380]
mov qword [rsi + 0x1bc8], 0
mov rcx, qword [rsi + 0x1bd8]
test rcx, rcx
je 0x14004456f
mov qword [rsi + 0x1bd0], 0
mov eax, dword [0x14027a788]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
sete dl
cmp dword [0x14027a78c], 0xa
setl al
or al, dl
nop word cs:[rax + rax]
nop
test al, al
je 0x140044540
mov rax, qword [0x1402808a8]
test rax, rax
je 0x140044557
add dword [rax + 0x3bc], 0xffffffff
mov rdx, qword [0x1402808b8]
call qword [0x140275380]
mov qword [rsi + 0x1bd8], 0
mov rcx, qword [rsi + 0x1be8]
test rcx, rcx
je 0x140044694
mov dword [rsi + 0x1be4], 0
cmp dword [0x14027ad8c], 0xa
jl 0x1400445f0
mov eax, dword [0x14027ad88]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
je 0x1400445f0
mov dword [rsi + 0x1be0], 0
mov eax, dword [0x14027a788]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
sete dl
cmp dword [0x14027a78c], 0xa
setl al
or al, dl
nop dword [rax + rax]
test al, al
je 0x1400445d0
mov rax, qword [0x1402808a8]
test rax, rax
je 0x140044675
add dword [rax + 0x3bc], 0xffffffff
jmp 0x140044675
mov dword [rsi + 0x1be0], 0
test rcx, rcx
je 0x140044637
mov eax, dword [0x14027a788]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
sete dl
cmp dword [0x14027a78c], 0xa
setl al
or al, dl
nop dword [rax]
test al, al
je 0x140044620
mov rax, qword [0x1402808a8]
test rax, rax
je 0x140044637
add dword [rax + 0x3bc], 0xffffffff
mov rdx, qword [0x1402808b8]
call qword [0x140275380]
mov qword [rsi + 0x1be8], 0
cmp dword [0x14027ad8c], 0xa
jl 0x140044694
mov eax, dword [0x14027ad88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x140044694
mov dword [rsi + 0x1be0], 0
xor ecx, ecx
mov rdx, qword [0x1402808b8]
call qword [0x140275380]
mov qword [rsi + 0x1be8], 0
xor ecx, ecx
jmp 0x1400445f0
mov ecx, dword [0x14027ad90]
mov eax, dword [0x14027ad94]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
sete bl
cmp eax, 0xa
setl cl
or cl, bl
nop word cs:[rax + rax]
nop
test cl, cl
je 0x1400446c0
mov rcx, qword [rsi + 0x1bf8]
test rcx, rcx
je 0x140044744
mov qword [rsi + 0x1bf0], 0
mov eax, dword [0x14027a788]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
sete dl
cmp dword [0x14027a78c], 0xa
setl al
or al, dl
nop dword [rax]
test al, al
je 0x140044700
mov rax, qword [0x1402808a8]
test rax, rax
je 0x140044717
add dword [rax + 0x3bc], 0xffffffff
mov rdx, qword [0x1402808b8]
call qword [0x140275380]
mov qword [rsi + 0x1bf8], 0
mov ecx, dword [0x14027ad90]
mov eax, dword [0x14027ad94]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
test edx, edx
sete cl
cmp eax, 0xa
setl al
or al, cl
nop word cs:[rax + rax]
nop dword [rax + rax]
test al, al
je 0x140044760
mov rcx, qword [rsi + 0x1c08]
test rcx, rcx
je 0x1400447cf
mov qword [rsi + 0x1c00], 0
mov eax, dword [0x14027a788]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
sete dl
cmp dword [0x14027a78c], 0xa
setl al
or al, dl
nop dword [rax]
test al, al
je 0x1400447a0
mov rax, qword [0x1402808a8]
test rax, rax
je 0x1400447b7
add dword [rax + 0x3bc], 0xffffffff
mov rdx, qword [0x1402808b8]
call qword [0x140275380]
mov qword [rsi + 0x1c08], 0
lea rcx, [rsi + 0x1dc8]
call fcn.140051960
lea rcx, [rsi + 0x1df0]
call fcn.14005f6e0
lea rcx, [rsi + 0x1ed0]
call fcn.14005f6e0
lea rcx, [rsi + 0x2060]
call fcn.140051a40
mov rcx, qword [rsi + 0x2090]
test rcx, rcx
je 0x14004486f
mov qword [rsi + 0x2088], 0
mov eax, dword [0x14027a788]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
sete dl
cmp dword [0x14027a78c], 0xa
setl al
or al, dl
nop word cs:[rax + rax]
nop
test al, al
je 0x140044840
mov rax, qword [0x1402808a8]
test rax, rax
je 0x140044857
add dword [rax + 0x3bc], 0xffffffff
mov rdx, qword [0x1402808b8]
call qword [0x140275380]
mov qword [rsi + 0x2090], 0
mov rcx, qword [rsi + 0x20a0]
test rcx, rcx
je 0x1400448df
mov qword [rsi + 0x2098], 0
mov eax, dword [0x14027a788]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
sete dl
cmp dword [0x14027a78c], 0xa
setl al
or al, dl
nop word cs:[rax + rax]
nop
test al, al
je 0x1400448b0
mov rax, qword [0x1402808a8]
test rax, rax
je 0x1400448c7
add dword [rax + 0x3bc], 0xffffffff
mov rdx, qword [0x1402808b8]
call qword [0x140275380]
mov qword [rsi + 0x20a0], 0
mov rcx, qword [rsi + 0x3008]
test rcx, rcx
je 0x14004494f
mov qword [rsi + 0x3000], 0
mov eax, dword [0x14027a788]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
sete dl
cmp dword [0x14027a78c], 0xa
setl al
or al, dl
nop word cs:[rax + rax]
nop
test al, al
je 0x140044920
mov rax, qword [0x1402808a8]
test rax, rax
je 0x140044937
add dword [rax + 0x3bc], 0xffffffff
mov rdx, qword [0x1402808b8]
call qword [0x140275380]
mov qword [rsi + 0x3008], 0
mov rcx, qword [rsi + 0x3018]
test rcx, rcx
je 0x1400449bf
mov qword [rsi + 0x3010], 0
mov eax, dword [0x14027a788]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
sete dl
cmp dword [0x14027a78c], 0xa
setl al
or al, dl
nop word cs:[rax + rax]
nop
test al, al
je 0x140044990
mov rax, qword [0x1402808a8]
test rax, rax
je 0x1400449a7
add dword [rax + 0x3bc], 0xffffffff
mov rdx, qword [0x1402808b8]
call qword [0x140275380]
mov qword [rsi + 0x3018], 0
lea rcx, [rsi + 0x20b0]
call fcn.140051e00
lea rcx, [rsi + 0x3058]
call fcn.140051f40
mov rcx, qword [rsi + 0x3050]
test rcx, rcx
je 0x140044a3f
mov qword [rsi + 0x3048], 0
mov eax, dword [0x14027a788]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
sete dl
cmp dword [0x14027a78c], 0xa
setl al
or al, dl
nop dword [rax]
test al, al
je 0x140044a10
mov rax, qword [0x1402808a8]
test rax, rax
je 0x140044a27
add dword [rax + 0x3bc], 0xffffffff
mov rdx, qword [0x1402808b8]
call qword [0x140275380]
mov qword [rsi + 0x3050], 0
mov rdi, qword [rsi + 0x3070]
test rdi, rdi
je 0x140044a73
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
cmp rdi, rax
je 0x140044a68
mov rcx, qword [rsi + 0x3070]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
mov qword [rsi + 0x3070], 0
mov rcx, qword [rsi + 0x3080]
test rcx, rcx
je 0x140044adf
mov qword [rsi + 0x3078], 0
mov eax, dword [0x14027a788]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
sete dl
cmp dword [0x14027a78c], 0xa
setl al
or al, dl
nop dword [rax + rax]
test al, al
je 0x140044ab0
mov rax, qword [0x1402808a8]
test rax, rax
je 0x140044ac7
add dword [rax + 0x3bc], 0xffffffff
mov rdx, qword [0x1402808b8]
call qword [0x140275380]
mov qword [rsi + 0x3080], 0
mov byte [rsi], 0
mov rcx, qword [rsp + 0x30]
xor rcx, rsp
call fcn.1400c4bd0
nop
add rsp, 0x38
pop rbx
pop rdi
pop rsi
pop r14
ret