Function at 0x140015800
Capabilities:
Write file on windows

Disassembly:
mov rax, rsp
mov qword [rax + 0x20], rbx
mov qword [rax + 0x18], r8
mov qword [rax + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0xb0
mov edi, dword [r8 + 0xc]
mov ecx, 0
movaps xmmword [rax - 0x48], xmm6
mov rsi, r8
movaps xmmword [rax - 0x58], xmm7
mov rbx, rdx
imul eax, edi, 0x32
mov qword [rbp - 0x19], rcx
mov qword [rbp - 0x11], rcx
movups xmm0, xmmword [rbp - 0x19]
mov dword [rbp - 5], ecx
add eax, dword [rdx + 8]
mov dword [rbp - 1], 1
cmovs eax, ecx
mov dword [rbp + 0x6f], edi
mov dword [rbp - 9], eax
movsxd rcx, eax
movups xmm7, xmmword [rbp - 9]
movups xmmword [rbp - 0x39], xmm0
test eax, eax
jle 0x140015877
call fcn.140001fa0
jmp 0x14001587c
call fcn.140086b40
movups xmmword [rbp - 0x29], xmm7
mov qword [rbp - 0x39], rax
lea r8, [rbp - 0x69]
movups xmm6, xmmword [rbp - 0x39]
mov dword [rbp - 0x25], 1
lea rax, [0x140088ac8]
movups xmm0, xmmword [rbp - 0x29]
lea rdx, [rbp - 0x59]
mov qword [rbp - 0x69], rax
lea rcx, [rbp - 0x39]
mov dword [rbp - 0x61], 2
movups xmmword [rbp - 9], xmm0
mov dword [rbp - 0x5d], 1
movups xmm0, xmmword [rbx]
movups xmmword [rbp - 0x19], xmm6
movaps xmmword [rbp - 0x59], xmm0
call fcn.140085a70
movsxd r12, dword [rax + 8]
movups xmm7, xmmword [rax]
cmp r12d, 1
jl 0x140015987
movq rbx, xmm7
test rbx, rbx
je 0x140015987
psrldq xmm6, 0xc
lea rcx, [rbp - 0x19]
movd edx, xmm6
add edx, r12d
call fcn.140002490
mov r15, qword [rbp - 0x19]
movsxd r13, dword [rbp - 1]
movsxd r14, dword [rbp - 0xd]
cmp r15, rbx
jne 0x140015960
test r15, r15
je 0x14001597e
movsxd rbx, dword [rbp - 9]
imul rbx, r13
mov rcx, rbx
call fcn.140086b40
mov r8, rbx
mov rdx, r15
mov rcx, rax
mov rdi, rax
call sub.VCRUNTIME140.dll_memcpy
mov rcx, r14
mov r8, r12
imul rcx, r13
imul r8, r13
add rcx, r15
mov rdx, rdi
call sub.VCRUNTIME140.dll_memcpy
mov edi, dword [rbp + 0x6f]
add r14d, r12d
mov rsi, qword [rbp + 0x77]
mov dword [rbp - 0xd], r14d
jmp 0x140015993
test r15, r15
je 0x14001597e
mov rcx, r14
mov r8, r12
imul rcx, r13
imul r8, r13
add rcx, r15
mov rdx, rbx
call sub.VCRUNTIME140.dll_memcpy
add r14d, r12d
mov dword [rbp - 0xd], r14d
jmp 0x140015993
mov r13d, dword [rbp - 1]
mov r14d, dword [rbp - 0xd]
mov r15, qword [rbp - 0x19]
movsxd rcx, edi
mov qword [rbp + 0x6f], rcx
test edi, edi
jle 0x140015af0
mov rax, qword [rsi]
mov qword [rbp + 0x77], rax
nop dword [rax]
movsxd r12, dword [0x140090268]
mov rbx, qword [0x140090260]
movups xmm6, xmmword [rax]
cmp r12d, 1
jl 0x140015a42
test rbx, rbx
je 0x140015a42
lea edx, [r14 + r12]
lea rcx, [rbp - 0x19]
call fcn.140002490
mov r15, qword [rbp - 0x19]
movsxd r13, dword [rbp - 1]
movsxd r14, dword [rbp - 0xd]
cmp r15, rbx
jne 0x140015a15
test r15, r15
je 0x140015a33
movsxd rbx, dword [rbp - 9]
imul rbx, r13
mov rcx, rbx
call fcn.140086b40
mov r8, rbx
mov rdx, r15
mov rcx, rax
mov rdi, rax
call sub.VCRUNTIME140.dll_memcpy
mov rdx, rdi
jmp 0x140015a1d
test r15, r15
je 0x140015a33
mov rdx, rbx
mov rcx, r14
mov r8, r12
imul rcx, r13
imul r8, r13
add rcx, r15
call sub.VCRUNTIME140.dll_memcpy
mov rax, qword [rbp + 0x77]
add r14d, r12d
mov rcx, qword [rbp + 0x6f]
mov dword [rbp - 0xd], r14d
movdqa xmm0, xmm6
psrldq xmm0, 8
movd r12d, xmm0
cmp r12d, 1
jl 0x140015ada
movq rbx, xmm6
test rbx, rbx
je 0x140015ada
lea edx, [r12 + r14]
lea rcx, [rbp - 0x19]
call fcn.140002490
mov r15, qword [rbp - 0x19]
movsxd r13, dword [rbp - 1]
movsxd r14, dword [rbp - 0xd]
cmp r15, rbx
jne 0x140015aad
test r15, r15
je 0x140015acb
movsxd rbx, dword [rbp - 9]
imul rbx, r13
mov rcx, rbx
call fcn.140086b40
mov r8, rbx
mov rdx, r15
mov rcx, rax
mov rdi, rax
call sub.VCRUNTIME140.dll_memcpy
mov rdx, rdi
jmp 0x140015ab5
test r15, r15
je 0x140015acb
mov rdx, rbx
mov rcx, r14
movsxd r8, r12d
imul rcx, r13
imul r8, r13
add rcx, r15
call sub.VCRUNTIME140.dll_memcpy
mov rax, qword [rbp + 0x77]
add r14d, r12d
mov rcx, qword [rbp + 0x6f]
mov dword [rbp - 0xd], r14d
add rax, 0x10
sub rcx, 1
mov qword [rbp + 0x77], rax
mov qword [rbp + 0x6f], rcx
jne 0x1400159b0
mov byte [rbp + 0x77], 0
cmp r14d, dword [rbp - 9]
jl 0x140015b13
lea edx, [r14 + 1]
lea rcx, [rbp - 0x19]
call fcn.140002490
mov r13d, dword [rbp - 1]
mov r14d, dword [rbp - 0xd]
mov r15, qword [rbp - 0x19]
movsxd r8, r13d
lea rdx, [rbp + 0x77]
movsxd rcx, r14d
imul rcx, r8
add rcx, r15
call sub.VCRUNTIME140.dll_memcpy
add r14d, 1
jne 0x140015b54
mov edx, 1
mov ecx, edx
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_calloc]
mov qword [rbp - 0x69], rax
lea eax, [r14 - 1]
mov dword [rbp - 0x61], eax
mov dword [rbp - 0x5d], r14d
movaps xmm6, xmmword [rbp - 0x69]
jmp 0x140015c00
movsxd rbx, r14d
mov rcx, rbx
call fcn.1400047a0
mov r8, rbx
mov rdx, r15
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
mov qword [rbp - 0x69], rax
lea eax, [r14 - 1]
mov dword [rbp - 0x61], eax
mov dword [rbp - 0x5d], 0
movaps xmm6, xmmword [rbp - 0x69]
cmp eax, 3
jl 0x140015c00
lea rbx, [0x140088acc]
mov dword [rbp - 0x61], 3
lea rdx, [rbp - 0x69]
mov qword [rbp - 0x69], rbx
lea rcx, [rbp - 0x59]
mov dword [rbp - 0x5d], 1
movdqa xmmword [rbp - 0x59], xmm6
call fcn.140084bf0
cmp eax, 0xffffffff
je 0x140015c00
lea rax, [0x1400889e8]
mov dword [rbp - 0x61], 1
lea r9, [rbp - 0x69]
mov qword [rbp - 0x69], rax
lea r8, [rbp - 0x59]
mov dword [rbp - 0x5d], 1
lea rdx, [rbp - 0x49]
mov qword [rbp - 0x59], rbx
lea rcx, [rbp - 0x19]
mov dword [rbp - 0x51], 3
mov dword [rbp - 0x4d], 1
movdqa xmmword [rbp - 0x49], xmm6
call fcn.140084da0
movups xmm6, xmmword [rax]
mov rbx, qword [rbp + 0x67]
movdqa xmm0, xmm7
psrldq xmm0, 0xc
movd eax, xmm0
movups xmmword [rbx], xmm6
cmp eax, 0xfa1d05ee
jne 0x140015c65
mov ebx, 0x1e
lea rdi, str.double_string.free___detected_n
lea ecx, [rbx - 0x1d]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rsi, rax
nop dword [rax]
nop word [rax + rax]
mov r9, rsi
mov r8, rbx
mov edx, 1
mov rcx, rdi
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
add rdi, rax
sub rbx, rax
test rbx, rbx
jg 0x140015c40
mov rbx, qword [rbp + 0x67]
jmp 0x140015c7a
cmp eax, 1
je 0x140015c7a
movq rcx, xmm7
test rcx, rcx
je 0x140015c7a
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
test r15, r15
je 0x140015c88
mov rcx, r15
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
lea r11, [rsp + 0xb0]
mov rax, rbx
mov rbx, qword [r11 + 0x58]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret