Function at 0x1400bcdf8
Capabilities:
Write file on windows

Disassembly:
mov rax, rsp
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x1f8]
sub rsp, 0x2d0
mov qword [rbp - 0x58], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
mov rax, qword [0x1401080e0]
xor rax, rsp
mov qword [rbp + 0x1c0], rax
mov r14, rcx
xor r15d, r15d
mov qword [rsp + 0x20], r15
mov r12d, r15d
xor edx, edx
mov r8d, 0x178
lea rcx, [rbp - 0x10]
call sub.MSVCR120.dll_memset
lea ebx, [r15 + 0x20]
mov r8d, ebx
xor edx, edx
lea rcx, [rsp + 0x28]
call sub.MSVCR120.dll_memset
xor edx, edx
lea r8d, [r15 + 0x28]
lea rcx, [rsp + 0x60]
call sub.MSVCR120.dll_memset
mov r8d, ebx
xor edx, edx
lea rcx, [rbp - 0x78]
call sub.MSVCR120.dll_memset
xor edx, edx
lea r8d, [r15 + 0x48]
lea rcx, [rbp + 0x170]
call sub.MSVCR120.dll_memset
mov r10d, r15d
mov r8d, r15d
mov r11d, r15d
mov rcx, qword [r14 + 0x390]
sub rcx, qword [r14 + 0x388]
movabs r9, 0x6666666666666667
mov rax, r9
imul rcx
sar rdx, 5
mov rax, rdx
shr rax, 0x3f
add rdx, rax
je 0x1400bcf2a
mov rcx, qword [r14 + 0x390]
sub rcx, qword [r14 + 0x388]
mov rax, r9
imul rcx
sar rdx, 5
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov rcx, qword [r14 + 0x388]
add rcx, 0x1c
mov r9d, dword [rcx - 4]
sub r9d, dword [rcx - 0xc]
cmp r10d, r9d
jl 0x1400bcf14
mov eax, dword [rcx]
sub eax, dword [rcx - 8]
cmp r8d, eax
jge 0x1400bcf1e
mov r10d, r9d
mov r8d, dword [rcx]
sub r8d, dword [rcx - 8]
inc r11
add rcx, 0x50
cmp r11, rdx
jb 0x1400bcefd
mov eax, dword [r14 + 0x3a0]
test eax, eax
jne 0x1400bcf46
cmp dword [r14 + 0x3a4], r15d
jne 0x1400bcf46
mov edi, r10d
mov esi, r8d
jmp 0x1400bcfb5
mov edi, r15d
test eax, eax
cmovne edi, eax
mov ecx, dword [r14 + 0x3a4]
mov esi, r15d
test ecx, ecx
cmovne esi, ecx
movd xmm1, r10d
cvtdq2ps xmm1, xmm1
movd xmm0, r8d
cvtdq2ps xmm0, xmm0
divss xmm1, xmm0
test eax, eax
jne 0x1400bcf94
movd xmm0, esi
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
subss xmm0, dword [0x1400d1704]
call qword [sym.imp.MSVCR120.dll_ceilf]
cvttss2si edi, xmm0
jmp 0x1400bcfb5
test ecx, ecx
je 0x1400bcfb5
movd xmm0, edi
cvtdq2ps xmm0, xmm0
divss xmm0, xmm1
subss xmm0, dword [0x1400d1704]
call qword [sym.imp.MSVCR120.dll_ceilf]
cvttss2si esi, xmm0
add edi, 0xf
and edi, 0xfffffff0
add esi, 0xf
and esi, 0xfffffff0
xor ecx, ecx
call qword [sym.imp.MSVCR120.dll__time64]
mov rcx, rax
call qword [sym.imp.MSVCR120.dll_srand]
call qword [sym.imp.MSVCR120.dll_rand]
mov edx, eax
lea rcx, [rbp - 0x10]
call fcn.14001de60
lea rcx, [rbp - 0x50]
call fcn.1400012e0
mov dword [rbp - 0x4c], edi
mov dword [rbp - 0x48], esi
mov dword [rbp - 0x44], edi
mov dword [rbp - 0x40], esi
mov qword [rbp - 0x3c], r15
mov dword [rbp - 0x34], 0x3e8
mov eax, dword [r14 + 0x3b8]
mov dword [rbp - 0x30], eax
mov qword [rbp - 0x2c], r15
mov qword [rbp - 0x24], r15
mov dword [rbp - 0x1c], r15d
mov eax, dword [r14 + 0x3b0]
mov dword [rbp - 0x18], eax
mov dword [rbp - 0x14], 6
lea rcx, [rbp - 0x50]
call fcn.1400093c0
mov r15, rax
lea rcx, [rbp - 0x50]
call fcn.140001320
mov ebx, esi
imul ebx, edi
lea eax, [rbx + rbx*2]
cdq
sub eax, edx
sar eax, 1
movsxd rcx, eax
call fcn.1400befcc
mov r10, rax
mov qword [rbp + 0x180], rax
mov dword [rbp + 0x170], edi
mov dword [rbp + 0x174], esi
mov dword [rbp + 0x178], edi
movsxd rax, ebx
add rax, r10
mov qword [rbp + 0x198], rax
mov eax, edi
cdq
sub eax, edx
sar eax, 1
mov r9d, eax
mov dword [rbp + 0x188], eax
mov eax, esi
cdq
sub eax, edx
sar eax, 1
mov r8d, eax
mov dword [rbp + 0x18c], eax
mov dword [rbp + 0x190], r9d
lea eax, [rbx + rbx*4]
cdq
and edx, 3
add eax, edx
sar eax, 2
movsxd rcx, eax
add rcx, r10
mov qword [rbp + 0x1b0], rcx
mov dword [rbp + 0x1a0], r9d
mov dword [rbp + 0x1a4], r8d
mov dword [rbp + 0x1a8], r9d
lea r8, str._video.ogg
lea rdx, [r14 + 8]
lea rcx, [rsp + 0x48]
call fcn.140068a74
nop
lea rcx, [r14 + 0x10]
lea rdx, [rsp + 0x48]
call fcn.140068904
lea r8, [0x1400eb540]
mov rdx, qword [rsp + 0x48]
lea rcx, [rsp + 0x20]
call qword [sym.imp.MSVCR120.dll__wfopen_s]
xor edi, edi
cmp qword [rsp + 0x20], rdi
je 0x1400bd3a5
lea rcx, [rbp - 0x78]
call fcn.140001350
lea r8, [rsp + 0x60]
lea rdx, [rbp - 0x78]
mov rcx, r15
call fcn.140009ad0
test eax, eax
jle 0x1400bd3a5
lea rdx, [rsp + 0x60]
lea rcx, [rbp - 0x10]
call fcn.14001e3f0
lea rdx, [rsp + 0x28]
lea rcx, [rbp - 0x10]
call fcn.14001e760
cmp eax, 1
jne 0x1400bd3a5
movsxd r8, dword [rsp + 0x30]
mov r9, qword [rsp + 0x20]
mov edx, eax
mov rcx, qword [rsp + 0x28]
call qword [sym.imp.MSVCR120.dll_fwrite]
movsxd r8, dword [rsp + 0x40]
mov r9, qword [rsp + 0x20]
lea edx, [rdi + 1]
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.MSVCR120.dll_fwrite]
jmp 0x1400bd1a4
lea rcx, [rbp - 0x10]
test eax, eax
je 0x1400bd1fc
lea rdx, [rsp + 0x60]
call fcn.14001e3f0
lea r8, [rsp + 0x60]
lea rdx, [rbp - 0x78]
mov rcx, r15
call fcn.140009ad0
test eax, eax
jns 0x1400bd192
jmp 0x1400bd3a5
js 0x1400bd3a5
movsxd r8, dword [rsp + 0x30]
mov r9, qword [rsp + 0x20]
mov edx, 1
mov rcx, qword [rsp + 0x28]
call qword [sym.imp.MSVCR120.dll_fwrite]
movsxd r8, dword [rsp + 0x40]
mov r9, qword [rsp + 0x20]
mov edx, 1
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.MSVCR120.dll_fwrite]
lea rcx, [rbp - 0x10]
lea rdx, [rsp + 0x28]
call fcn.14001e730
test eax, eax
jne 0x1400bd1be
mov ebx, dword [r14 + 0x3c8]
mov rcx, qword [r14 + 0x390]
sub rcx, qword [r14 + 0x388]
movabs rax, 0x6666666666666667
imul rcx
sar rdx, 5
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp ebx, edx
cmove ebx, edi
jmp 0x1400bd32d
test esi, esi
sete dil
jmp 0x1400bd2a6
lea rdx, [rsp + 0x60]
lea rcx, [rbp - 0x10]
call fcn.14001e3f0
lea rdx, [rsp + 0x28]
lea rcx, [rbp - 0x10]
call fcn.14001e760
test eax, eax
js 0x1400bd3a3
je 0x1400bd2a6
movsxd r8, dword [rsp + 0x30]
mov r9, qword [rsp + 0x20]
mov edx, 1
mov rcx, qword [rsp + 0x28]
call qword [sym.imp.MSVCR120.dll_fwrite]
movsxd r8, dword [rsp + 0x40]
mov r9, qword [rsp + 0x20]
mov edx, 1
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.MSVCR120.dll_fwrite]
lea r8, [rsp + 0x60]
mov edx, edi
mov rcx, r15
call fcn.14000a1a0
test eax, eax
jne 0x1400bd24c
xor edi, edi
test esi, esi
je 0x1400bd38f
inc r12d
inc ebx
mov rcx, qword [r14 + 0x390]
sub rcx, qword [r14 + 0x388]
movabs r8, 0x6666666666666667
mov rax, r8
imul rcx
sar rdx, 5
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp ebx, edx
cmove ebx, edi
cmp ebx, dword [r14 + 0x3c8]
je 0x1400bd38f
mov rcx, qword [r14 + 0x390]
sub rcx, qword [r14 + 0x388]
mov rax, r8
imul rcx
sar rdx, 5
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp r12d, edx
jge 0x1400bd38f
lea r8, [rbp + 0x170]
mov edx, ebx
mov rcx, r14
call fcn.1400bc7e0
mov esi, eax
lea rdx, [rbp + 0x170]
mov rcx, r15
call fcn.140009e30
test eax, eax
je 0x1400bd244
jmp 0x1400bd3a5
js 0x1400bd3a5
movsxd r8, dword [rsp + 0x30]
mov r9, qword [rsp + 0x20]
mov edx, 1
mov rcx, qword [rsp + 0x28]
call qword [sym.imp.MSVCR120.dll_fwrite]
movsxd r8, dword [rsp + 0x40]
mov r9, qword [rsp + 0x20]
mov edx, 1
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.MSVCR120.dll_fwrite]
lea rdx, [rsp + 0x28]
lea rcx, [rbp - 0x10]
call fcn.14001e730
test eax, eax
jne 0x1400bd359
jmp 0x1400bd3a5
xor edi, edi
lea rcx, [rbp - 0x10]
call fcn.14001df70
lea rcx, [rbp - 0x78]
call fcn.140001730
mov rcx, r15
call fcn.140009430
mov rcx, qword [rsp + 0x20]
test rcx, rcx
je 0x1400bd3cf
call qword [sym.imp.MSVCR120.dll_fclose]
mov rcx, qword [rbp + 0x180]
test rcx, rcx
je 0x1400bd3e0
call sub.MSVCR120.dll_void___cdecl_operator_delete___void____ptr64_
lea r8, str.temp_video
lea rdx, [r14 + 8]
lea rcx, [rsp + 0x50]
call fcn.140068a74
nop
mov rbx, qword [rsp + 0x50]
cmp dword [rbx - 0xc], edi
jl 0x1400bd40b
mov qword [rsp + 0x58], rbx
lock inc dword [rbx - 0xc]
jmp 0x1400bd42f
mov rax, qword [0x140108018]
mov qword [rsp + 0x58], rax
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov r8, rbx
mov edx, eax
lea rcx, [rsp + 0x58]
call fcn.140067304
mov dl, 1
lea rcx, [rsp + 0x58]
call fcn.14006aaec
nop
mov rcx, qword [rsp + 0x50]
add rcx, 0xfffffffffffffff4
or ebx, 0xffffffff
cmp rcx, qword [0x140108010]
je 0x1400bd46c
mov eax, ebx
lock xadd dword [rcx], eax
add eax, ebx
test eax, eax
jg 0x1400bd46c
mov rcx, qword [rsp + 0x50]
add rcx, 0xfffffffffffffff4
call sub.MSVCR120.dll_void___cdecl_operator_delete___void____ptr64_
nop
mov rax, qword [rsp + 0x48]
add rax, 0xfffffffffffffff4
cmp rax, qword [0x140108010]
je 0x1400bd498
mov ecx, ebx
lock xadd dword [rax], ecx
add ecx, ebx
test ecx, ecx
jg 0x1400bd498
mov rcx, qword [rsp + 0x48]
add rcx, 0xfffffffffffffff4
call sub.MSVCR120.dll_void___cdecl_operator_delete___void____ptr64_
mov eax, 1
mov rcx, qword [rbp + 0x1c0]
xor rcx, rsp
call fcn.1400bf530
lea r11, [rsp + 0x2d0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret