Function at 0x1400ace2c
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 [0x1401740c0]
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 fcn.1400b1c70
lea ebx, [r15 + 0x20]
mov r8d, ebx
xor edx, edx
lea rcx, [rsp + 0x30]
call fcn.1400b1c70
xor edx, edx
lea r8d, [r15 + 0x28]
lea rcx, [rsp + 0x60]
call fcn.1400b1c70
mov r8d, ebx
xor edx, edx
lea rcx, [rbp - 0x78]
call fcn.1400b1c70
xor edx, edx
lea r8d, [r15 + 0x48]
lea rcx, [rbp + 0x170]
call fcn.1400b1c70
mov r10d, r15d
mov r9d, r15d
mov r11d, r15d
mov rcx, qword [r14 + 0x390]
sub rcx, qword [r14 + 0x388]
movabs rbx, 0x6666666666666667
mov rax, rbx
imul rcx
sar rdx, 5
mov rax, rdx
shr rax, 0x3f
add rdx, rax
je 0x1400acf60
mov r8, qword [r14 + 0x388]
add r8, 0x1c
mov ecx, dword [r8 - 4]
sub ecx, dword [r8 - 0xc]
cmp r10d, ecx
jl 0x1400acf28
mov eax, dword [r8]
sub eax, dword [r8 - 8]
cmp r9d, eax
jge 0x1400acf32
mov r10d, ecx
mov r9d, dword [r8]
sub r9d, dword [r8 - 8]
inc r11
add r8, 0x50
mov rcx, qword [r14 + 0x390]
sub rcx, qword [r14 + 0x388]
mov rax, rbx
imul rcx
sar rdx, 5
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp r11, rdx
jb 0x1400acf0f
mov eax, dword [r14 + 0x3a0]
test eax, eax
jne 0x1400acf7c
cmp dword [r14 + 0x3a4], r15d
jne 0x1400acf7c
mov edi, r10d
mov esi, r9d
jmp 0x1400acfe9
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, r9d
cvtdq2ps xmm0, xmm0
divss xmm1, xmm0
test eax, eax
jne 0x1400acfc9
movd xmm0, esi
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
subss xmm0, dword [0x14012cffc]
call fcn.1400e18ec
cvttss2si edi, xmm0
jmp 0x1400acfe9
test ecx, ecx
je 0x1400acfe9
movd xmm0, edi
cvtdq2ps xmm0, xmm0
divss xmm0, xmm1
subss xmm0, dword [0x14012cffc]
call fcn.1400e18ec
cvttss2si esi, xmm0
add edi, 0xf
and edi, 0xfffffff0
add esi, 0xf
and esi, 0xfffffff0
xor ecx, ecx
call fcn.1400d93cc
mov rcx, rax
call fcn.1400e1810
call fcn.1400e17e4
mov edx, eax
lea rcx, [rbp - 0x10]
call fcn.14001dbb0
lea rcx, [rbp - 0x50]
call fcn.140001260
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.140009350
mov r15, rax
lea rcx, [rbp - 0x50]
call fcn.1400012a0
mov ebx, esi
imul ebx, edi
lea eax, [rbx + rbx*2]
cdq
sub eax, edx
sar eax, 1
movsxd rcx, eax
call fcn.1400b0228
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 + 0x50]
call fcn.1400680f0
nop
lea rcx, [r14 + 0x10]
lea rdx, [rsp + 0x50]
call fcn.140067f7c
lea r8, [0x1401523e0]
mov rdx, qword [rsp + 0x50]
lea rcx, [rsp + 0x20]
call fcn.1400d96bc
xor edi, edi
cmp qword [rsp + 0x20], rdi
je 0x1400ad3cd
lea rcx, [rbp - 0x78]
call fcn.1400012d0
lea r8, [rsp + 0x60]
lea rdx, [rbp - 0x78]
mov rcx, r15
call fcn.1400097f0
test eax, eax
jle 0x1400ad3cd
lea rdx, [rsp + 0x60]
lea rcx, [rbp - 0x10]
call fcn.14001e290
lea rdx, [rsp + 0x30]
lea rcx, [rbp - 0x10]
call fcn.14001e5c0
cmp eax, 1
jne 0x1400ad3cd
movsxd r8, dword [rsp + 0x38]
mov r9, qword [rsp + 0x20]
mov edx, eax
mov rcx, qword [rsp + 0x30]
call fcn.1400e027c
movsxd r8, dword [rsp + 0x48]
mov r9, qword [rsp + 0x20]
lea edx, [rdi + 1]
mov rcx, qword [rsp + 0x40]
call fcn.1400e027c
jmp 0x1400ad1d2
lea rcx, [rbp - 0x10]
test eax, eax
je 0x1400ad228
lea rdx, [rsp + 0x60]
call fcn.14001e290
lea r8, [rsp + 0x60]
lea rdx, [rbp - 0x78]
mov rcx, r15
call fcn.1400097f0
test eax, eax
jns 0x1400ad1c0
jmp 0x1400ad3cd
js 0x1400ad3cd
movsxd r8, dword [rsp + 0x38]
mov r9, qword [rsp + 0x20]
mov edx, 1
mov rcx, qword [rsp + 0x30]
call fcn.1400e027c
movsxd r8, dword [rsp + 0x48]
mov r9, qword [rsp + 0x20]
mov edx, 1
mov rcx, qword [rsp + 0x40]
call fcn.1400e027c
lea rcx, [rbp - 0x10]
lea rdx, [rsp + 0x30]
call fcn.14001e590
test eax, eax
jne 0x1400ad1ec
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 0x1400ad357
test esi, esi
sete dil
jmp 0x1400ad2d0
lea rdx, [rsp + 0x60]
lea rcx, [rbp - 0x10]
call fcn.14001e290
lea rdx, [rsp + 0x30]
lea rcx, [rbp - 0x10]
call fcn.14001e5c0
test eax, eax
js 0x1400ad3cb
je 0x1400ad2d0
movsxd r8, dword [rsp + 0x38]
mov r9, qword [rsp + 0x20]
mov edx, 1
mov rcx, qword [rsp + 0x30]
call fcn.1400e027c
movsxd r8, dword [rsp + 0x48]
mov r9, qword [rsp + 0x20]
mov edx, 1
mov rcx, qword [rsp + 0x40]
call fcn.1400e027c
lea r8, [rsp + 0x60]
mov edx, edi
mov rcx, r15
call fcn.140009ec0
test eax, eax
jne 0x1400ad278
xor edi, edi
test esi, esi
je 0x1400ad3b7
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 0x1400ad3b7
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 0x1400ad3b7
lea r8, [rbp + 0x170]
mov edx, ebx
mov rcx, r14
call fcn.1400ac80c
mov esi, eax
lea rdx, [rbp + 0x170]
mov rcx, r15
call fcn.140009b50
test eax, eax
je 0x1400ad270
jmp 0x1400ad3cd
js 0x1400ad3cd
movsxd r8, dword [rsp + 0x38]
mov r9, qword [rsp + 0x20]
mov edx, 1
mov rcx, qword [rsp + 0x30]
call fcn.1400e027c
movsxd r8, dword [rsp + 0x48]
mov r9, qword [rsp + 0x20]
mov edx, 1
mov rcx, qword [rsp + 0x40]
call fcn.1400e027c
lea rdx, [rsp + 0x30]
lea rcx, [rbp - 0x10]
call fcn.14001e590
test eax, eax
jne 0x1400ad383
jmp 0x1400ad3cd
xor edi, edi
lea rcx, [rbp - 0x10]
call fcn.14001dca0
lea rcx, [rbp - 0x78]
call fcn.1400016c0
mov rcx, r15
call fcn.1400093b0
mov rcx, qword [rsp + 0x20]
test rcx, rcx
je 0x1400ad3f6
call fcn.1400d9814
mov rcx, qword [rbp + 0x180]
test rcx, rcx
je 0x1400ad407
call fcn.1400b0230
lea r8, str.temp_video
lea rdx, [r14 + 8]
lea rcx, [rsp + 0x58]
call fcn.1400680f0
nop
mov rbx, qword [rsp + 0x58]
cmp dword [rbx - 0xc], edi
jl 0x1400ad432
mov qword [rsp + 0x28], rbx
lock inc dword [rbx - 0xc]
jmp 0x1400ad456
mov rax, qword [0x140174018]
mov qword [rsp + 0x28], rax
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov r8, rbx
mov edx, eax
lea rcx, [rsp + 0x28]
call fcn.1400670f0
mov dl, 1
lea rcx, [rsp + 0x28]
call fcn.140069f20
nop
mov rcx, qword [rsp + 0x58]
add rcx, 0xfffffffffffffff4
or ebx, 0xffffffff
cmp rcx, qword [0x140174010]
je 0x1400ad493
mov eax, ebx
lock xadd dword [rcx], eax
add eax, ebx
test eax, eax
jg 0x1400ad493
mov rcx, qword [rsp + 0x58]
add rcx, 0xfffffffffffffff4
call fcn.1400b0230
nop
mov rax, qword [rsp + 0x50]
add rax, 0xfffffffffffffff4
cmp rax, qword [0x140174010]
je 0x1400ad4bf
mov ecx, ebx
lock xadd dword [rax], ecx
add ecx, ebx
test ecx, ecx
jg 0x1400ad4bf
mov rcx, qword [rsp + 0x50]
add rcx, 0xfffffffffffffff4
call fcn.1400b0230
mov eax, 1
mov rcx, qword [rbp + 0x1c0]
xor rcx, rsp
call fcn.1400b0730
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