Function at 0x49576d
Capabilities:
Write file on windows

Disassembly:
push 0x238
mov eax, 0x49e04f
call fcn.00497265
mov edi, ecx
mov dword [ebp - 0x1f8], edi
xor ebx, ebx
lea eax, [ebp - 0x1e8]
push 0x168
push ebx
push eax
mov dword [ebp - 0x1f4], ebx
call sub.MSVCR120.dll_memset
push 0x10
lea eax, [ebp - 0x208]
push ebx
push eax
call sub.MSVCR120.dll_memset
push 0x20
lea eax, [ebp - 0x244]
push ebx
push eax
call sub.MSVCR120.dll_memset
push 0x10
lea eax, [ebp - 0x224]
push ebx
push eax
call sub.MSVCR120.dll_memset
push 0x30
lea eax, [ebp - 0x40]
push ebx
push eax
call sub.MSVCR120.dll_memset
mov eax, dword [edi + 0x28c]
add esp, 0x3c
sub eax, dword [edi + 0x288]
mov esi, ebx
cdq
mov dword [ebp - 0x1f0], ebx
push 0x38
pop ecx
idiv ecx
test eax, eax
je 0x495854
mov eax, dword [edi + 0x28c]
sub eax, dword [edi + 0x288]
cdq
idiv ecx
mov ecx, dword [edi + 0x288]
mov edi, ebx
mov dword [ebp - 0x1ec], eax
add ecx, 0x1c
mov eax, ebx
mov edx, dword [ecx - 4]
sub edx, dword [ecx - 0xc]
cmp eax, edx
jl 0x49582d
mov eax, dword [ecx]
sub eax, dword [ecx - 8]
cmp esi, eax
jge 0x49583c
mov esi, dword [ecx]
mov eax, edx
sub esi, dword [ecx - 8]
mov dword [ebp - 0x1f0], eax
jmp 0x495842
mov eax, dword [ebp - 0x1f0]
inc edi
add ecx, 0x38
cmp edi, dword [ebp - 0x1ec]
jb 0x49581a
mov edi, dword [ebp - 0x1f8]
mov ecx, dword [edi + 0x294]
test ecx, ecx
jne 0x495873
cmp dword [edi + 0x298], ebx
jne 0x495873
mov eax, dword [ebp - 0x1f0]
mov ebx, esi
jmp 0x49592d
movd xmm1, dword [ebp - 0x1f0]
test ecx, ecx
mov edx, dword [edi + 0x298]
mov eax, ebx
movd xmm0, esi
cmovne eax, ecx
cvtdq2ps xmm1, xmm1
test edx, edx
mov dword [ebp - 0x20c], eax
cmovne ebx, edx
cvtdq2ps xmm0, xmm0
divss xmm1, xmm0
test ecx, ecx
jne 0x4958e4
movd xmm0, ebx
cvtdq2ps xmm0, xmm0
push ecx
push ecx
mulss xmm0, xmm1
subss xmm0, dword [0x4a5c00]
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
call dword [sym.imp.MSVCR120.dll_ceil]
fstp dword [ebp - 0x1ec]
fld dword [ebp - 0x1ec]
fstp dword [ebp - 0x1ec]
cvttss2si eax, dword [ebp - 0x1ec]
jmp 0x49592b
test edx, edx
je 0x49592d
movd xmm0, eax
cvtdq2ps xmm0, xmm0
push ecx
push ecx
divss xmm0, xmm1
subss xmm0, dword [0x4a5c00]
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
call dword [sym.imp.MSVCR120.dll_ceil]
mov eax, dword [ebp - 0x20c]
fstp dword [ebp - 0x1ec]
fld dword [ebp - 0x1ec]
fstp dword [ebp - 0x1ec]
cvttss2si ebx, dword [ebp - 0x1ec]
pop ecx
pop ecx
add ebx, 0xf
lea esi, [eax + 0xf]
and ebx, 0xfffffff0
and esi, 0xfffffff0
push 0
mov dword [ebp - 0x1ec], ebx
call dword [sym.imp.MSVCR120.dll__time64]
push eax
call dword [sym.imp.MSVCR120.dll_srand]
call dword [sym.imp.MSVCR120.dll_rand]
push eax
lea eax, [ebp - 0x1e8]
push eax
call fcn.0041e390
lea eax, [ebp - 0x80]
push eax
call fcn.00401230
mov eax, dword [edi + 0x2ac]
xor ecx, ecx
mov dword [ebp - 0x60], eax
mov eax, dword [edi + 0x2a4]
mov dword [ebp - 0x48], eax
lea eax, [ebp - 0x80]
push eax
mov dword [ebp - 0x7c], esi
mov dword [ebp - 0x78], ebx
mov dword [ebp - 0x74], esi
mov dword [ebp - 0x70], ebx
mov dword [ebp - 0x6c], ecx
mov dword [ebp - 0x68], ecx
mov dword [ebp - 0x64], 0x3e8
mov dword [ebp - 0x5c], ecx
mov dword [ebp - 0x58], ecx
mov dword [ebp - 0x54], ecx
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x44], 6
mov dword [ebp - 0x50], ecx
call fcn.00408110
mov dword [ebp - 0x1f0], eax
lea eax, [ebp - 0x80]
push eax
call fcn.00401260
imul ebx, esi
imul eax, ebx, 3
cdq
sub eax, edx
sar eax, 1
push eax
call fcn.00497198
mov edi, eax
mov dword [ebp - 0x40], esi
mov eax, dword [ebp - 0x1ec]
add esp, 0x20
mov dword [ebp - 0x3c], eax
mov eax, esi
cdq
sub eax, edx
mov dword [ebp - 0x38], esi
mov esi, eax
mov dword [ebp - 0x34], edi
mov eax, dword [ebp - 0x1ec]
lea ecx, [ebx + edi]
cdq
sub eax, edx
mov dword [ebp - 0x24], ecx
mov ecx, eax
sar esi, 1
imul eax, ebx, 5
sar ecx, 1
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x28], esi
cdq
and edx, 3
mov dword [ebp - 0x20], esi
add eax, edx
mov dword [ebp - 0x1c], ecx
sar eax, 2
add eax, edi
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x14], eax
mov ebx, dword [ebp - 0x1f8]
lea eax, [ebp - 0x210]
push str._video.ogg
lea edi, [ebx + 4]
push edi
push eax
mov dword [ebp - 0x1f8], edi
call fcn.0045f78e
lea eax, [ebp - 0x210]
xor esi, esi
push eax
lea ecx, [ebx + 8]
mov dword [ebp - 4], esi
call fcn.0045f6df
push 0x4bf00c
push dword [ebp - 0x210]
lea eax, [ebp - 0x1f4]
push eax
call dword [sym.imp.MSVCR120.dll__wfopen_s]
add esp, 0xc
cmp dword [ebp - 0x1f4], esi
je 0x495d7d
lea eax, [ebp - 0x224]
push eax
call fcn.00401280
lea eax, [ebp - 0x244]
push eax
lea eax, [ebp - 0x224]
push eax
push dword [ebp - 0x1f0]
call fcn.00408550
add esp, 0x10
test eax, eax
jle 0x495d7d
lea eax, [ebp - 0x244]
push eax
lea eax, [ebp - 0x1e8]
push eax
call fcn.0041e800
lea eax, [ebp - 0x208]
push eax
lea eax, [ebp - 0x1e8]
push eax
call fcn.0041eb30
add esp, 0x10
cmp eax, 1
jne 0x495d7d
push dword [ebp - 0x1f4]
mov edi, dword [sym.imp.MSVCR120.dll_fwrite]
push dword [ebp - 0x204]
push eax
push dword [ebp - 0x208]
call edi
push dword [ebp - 0x1f4]
push dword [ebp - 0x1fc]
push 1
push dword [ebp - 0x200]
call edi
lea eax, [ebp - 0x244]
push eax
lea eax, [ebp - 0x224]
push eax
push dword [ebp - 0x1f0]
call fcn.00408550
add esp, 0x2c
jmp 0x495b6a
je 0x495b73
lea eax, [ebp - 0x244]
push eax
lea eax, [ebp - 0x1e8]
push eax
call fcn.0041e800
lea eax, [ebp - 0x244]
push eax
lea eax, [ebp - 0x224]
push eax
push dword [ebp - 0x1f0]
call fcn.00408550
add esp, 0x14
test eax, eax
jns 0x495b39
jmp 0x495d77
lea eax, [ebp - 0x208]
push eax
lea eax, [ebp - 0x1e8]
push eax
call fcn.0041eaf0
pop ecx
pop ecx
jmp 0x495bd2
js 0x495d77
push dword [ebp - 0x1f4]
push dword [ebp - 0x204]
push 1
push dword [ebp - 0x208]
call edi
push dword [ebp - 0x1f4]
push dword [ebp - 0x1fc]
push 1
push dword [ebp - 0x200]
call edi
lea eax, [ebp - 0x208]
push eax
lea eax, [ebp - 0x1e8]
push eax
call fcn.0041eaf0
add esp, 0x28
test eax, eax
jne 0x495b8a
mov eax, dword [ebx + 0x28c]
sub eax, dword [ebx + 0x288]
push 0x38
pop ecx
cdq
idiv ecx
mov edi, dword [ebx + 0x2bc]
xor ecx, ecx
cmp edi, eax
cmove edi, ecx
jmp 0x495ce3
xor eax, eax
lea ecx, [ebp - 0x244]
cmp dword [ebp - 0x1ec], eax
push ecx
sete al
mov dword [ebp - 0x20c], eax
push eax
jmp 0x495c8c
lea eax, [ebp - 0x244]
push eax
lea eax, [ebp - 0x1e8]
push eax
call fcn.0041e800
lea eax, [ebp - 0x208]
push eax
lea eax, [ebp - 0x1e8]
push eax
call fcn.0041eb30
add esp, 0x10
test eax, eax
js 0x495d77
je 0x495c7f
push dword [ebp - 0x1f4]
push dword [ebp - 0x204]
push 1
push dword [ebp - 0x208]
call dword [sym.imp.MSVCR120.dll_fwrite]
push dword [ebp - 0x1f4]
push dword [ebp - 0x1fc]
push 1
push dword [ebp - 0x200]
call dword [sym.imp.MSVCR120.dll_fwrite]
add esp, 0x20
lea eax, [ebp - 0x244]
push eax
push dword [ebp - 0x20c]
push dword [ebp - 0x1f0]
call fcn.00408af0
add esp, 0xc
test eax, eax
jne 0x495c15
cmp dword [ebp - 0x1ec], eax
je 0x495d10
mov eax, dword [ebx + 0x28c]
inc esi
sub eax, dword [ebx + 0x288]
inc edi
push 0x38
pop ecx
cdq
idiv ecx
xor ecx, ecx
cmp edi, eax
cmove edi, ecx
cmp edi, dword [ebx + 0x2bc]
je 0x495d10
mov eax, dword [ebx + 0x28c]
sub eax, dword [ebx + 0x288]
push 0x38
cdq
pop ecx
idiv ecx
cmp esi, eax
jge 0x495d10
lea eax, [ebp - 0x40]
mov ecx, ebx
push eax
push edi
call fcn.00495322
mov dword [ebp - 0x1ec], eax
lea eax, [ebp - 0x40]
push eax
push dword [ebp - 0x1f0]
call fcn.00408840
pop ecx
pop ecx
test eax, eax
je 0x495bfa
jmp 0x495d77
lea eax, [ebp - 0x208]
push eax
lea eax, [ebp - 0x1e8]
push eax
call fcn.0041eaf0
pop ecx
pop ecx
test eax, eax
je 0x495d77
mov ebx, dword [sym.imp.MSVCR120.dll_fwrite]
js 0x495d77
push dword [ebp - 0x1f4]
push dword [ebp - 0x204]
push 1
push dword [ebp - 0x208]
call ebx
push dword [ebp - 0x1f4]
push dword [ebp - 0x1fc]
push 1
push dword [ebp - 0x200]
call ebx
lea eax, [ebp - 0x208]
push eax
lea eax, [ebp - 0x1e8]
push eax
call fcn.0041eaf0
add esp, 0x28
test eax, eax
jne 0x495d2f
mov edi, dword [ebp - 0x1f8]
lea eax, [ebp - 0x1e8]
push eax
call fcn.0041e460
lea eax, [ebp - 0x224]
push eax
call fcn.00401550
push dword [ebp - 0x1f0]
call fcn.00408160
add esp, 0xc
cmp dword [ebp - 0x1f4], 0
je 0x495db9
push dword [ebp - 0x1f4]
call dword [sym.imp.MSVCR120.dll_fclose]
pop ecx
cmp dword [ebp - 0x34], 0
je 0x495dc8
push dword [ebp - 0x34]
call sub.MSVCR120.dll_void___cdecl_operator_delete___void__
pop ecx
push str.temp_video
push edi
lea eax, [ebp - 0x214]
push eax
call fcn.0045f78e
push 1
push ecx
lea edx, [ebp - 0x214]
mov byte [ebp - 4], 1
mov ecx, esp
push edx
call fcn.0045e6a5
call fcn.00460c2e
pop ecx
pop ecx
lea ecx, [ebp - 0x214]
call fcn.0045e73f
lea ecx, [ebp - 0x210]
call fcn.0045e73f
xor eax, eax
inc eax
call fcn.00497214
ret