Function at 0x41fee4
Capabilities:
Delete file
Get common file path

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1cb0
call fcn.0052d050
push ebx
mov ebx, dword [ebp + 0x10]
push esi
mov esi, dword [ebp + 0xc]
push edi
mov ecx, ebx
lea eax, [ebp - 0x244]
call fcn.004019f3
lea eax, [ebp - 0x244]
push eax
call fcn.0051ffe8
pop ecx
mov ecx, str..wav
lea eax, [ebp - 0x244]
call fcn.00401031
xor edi, edi
inc edi
test eax, eax
jne 0x41ff5f
push ebx
lea eax, [ebp - 0xd]
push eax
call fcn.004a982a
mov edi, esi
push eax
call fcn.004a488a
lea eax, [ebp - 0xd]
call fcn.004a4856
mov eax, esi
call fcn.00404ab5
test al, al
jne 0x4202f6
mov eax, dword [ebp + 8]
and dword [eax], 0
jmp 0x420f18
mov ecx, str..mp3
lea eax, [ebp - 0x244]
call fcn.00401031
test eax, eax
jne 0x41ffae
push 0x204b
call fcn.0044b085
test eax, eax
pop ecx
je 0x41ff8d
push 0
push ebx
push eax
call fcn.0049e510
jmp 0x41ff8f
xor eax, eax
lea esi, [ebp - 0xd]
call fcn.004a4834
mov eax, esi
mov edi, dword [ebp + 0xc]
push eax
call fcn.004a488a
lea eax, [ebp - 0xd]
call fcn.004a4856
mov eax, edi
jmp 0x41ff47
mov ecx, str..aif
lea eax, [ebp - 0x244]
call fcn.00401031
test eax, eax
je 0x4202e7
mov ecx, str..aiff
lea eax, [ebp - 0x244]
call fcn.00401031
test eax, eax
je 0x4202e7
mov ecx, str..aifc
lea eax, [ebp - 0x244]
call fcn.00401031
test eax, eax
je 0x4202e7
mov ecx, 0x53d2d8
lea eax, [ebp - 0x244]
call fcn.00401031
test eax, eax
jne 0x420018
push ebx
lea edi, [ebp - 0xd]
call fcn.0048bfbf
jmp 0x41ff35
mov ecx, str..aup
lea eax, [ebp - 0x244]
call fcn.00401031
test eax, eax
jne 0x42003e
push ebx
push dword [ebp + 0x14]
lea eax, [ebp - 0xd]
push eax
call fcn.0048c209
jmp 0x41ff35
mov ecx, str..gsm
lea eax, [ebp - 0x244]
call fcn.00401031
test eax, eax
jne 0x420072
push 0x502
call fcn.0044b085
test eax, eax
pop ecx
je 0x41ff8d
push ebx
mov edi, eax
call fcn.0049b982
jmp 0x41ff8f
mov ecx, 0x54a6ec
lea eax, [ebp - 0x244]
call fcn.00401031
test eax, eax
jne 0x420096
lea eax, [ebp - 0xd]
push eax
mov eax, ebx
call fcn.004991c0
jmp 0x41ff35
mov ecx, 0x54acf0
lea eax, [ebp - 0x244]
call fcn.00401031
test eax, eax
jne 0x4200f5
push eax
push 0x1f40
mov edi, str.VoxAudio
lea esi, [ebp - 0x20]
call fcn.004075b6
mov eax, dword [ebp + 0x14]
cmp byte [eax + 8], 0
je 0x4200e3
push dword [eax + 9]
mov eax, esi
push eax
call fcn.00407cd0
test al, al
jne 0x4200e3
mov eax, dword [ebp + 8]
mov dword [eax], 1
jmp 0x420f18
push ebx
lea eax, [ebp - 0xd]
push eax
lea eax, [ebp - 0x20]
call fcn.004a2e82
jmp 0x41ff99
mov ecx, str..qcp
lea eax, [ebp - 0x244]
call fcn.00401031
test eax, eax
jne 0x420151
push dword [ebp + 0x14]
lea eax, [ebp - 0x654]
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x10]
push eax
lea ecx, [ebp - 0x1c]
mov dword [ebp - 0x1c], ebx
call fcn.00407e34
cmp dword [ebp - 0x10], edi
jne 0x420133
mov eax, dword [ebp + 8]
mov dword [eax], edi
jmp 0x420f18
cmp dword [ebp - 0x10], 0
jne 0x4202f6
lea eax, [ebp - 0x654]
push eax
lea eax, [ebp - 0xd]
call fcn.004a9e6f
jmp 0x41ff35
mov ecx, 0x53d290
lea eax, [ebp - 0x244]
call fcn.00401031
test eax, eax
jne 0x4201f2
push ebx
lea eax, [ebp - 0xd]
push eax
call fcn.004a77ab
push eax
mov edi, esi
call fcn.004a488a
lea eax, [ebp - 0xd]
call fcn.004a4856
mov eax, esi
call fcn.00404ab5
test al, al
je 0x41ff54
mov eax, dword [esi]
test eax, eax
je 0x42019d
mov al, byte [eax + 0xd]
jmp 0x42019f
mov al, 1
cmp al, 5
jne 0x4202f6
push dword [ebp + 0x14]
lea eax, [ebp - 0x654]
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], ebx
call fcn.00407d49
xor ecx, ecx
inc ecx
cmp dword [ebp - 0x10], ecx
jne 0x4201d4
mov eax, dword [ebp + 8]
mov dword [eax], ecx
jmp 0x420f18
cmp dword [ebp - 0x10], 0
jne 0x4202f6
lea eax, [ebp - 0x654]
push eax
lea eax, [ebp - 0xd]
call fcn.004a9e6f
jmp 0x41ff37
mov ecx, 0x54acfc
lea eax, [ebp - 0x244]
call fcn.00401031
test eax, eax
je 0x4202b6
mov ecx, str..snd
lea eax, [ebp - 0x244]
call fcn.00401031
test eax, eax
je 0x4202b6
mov ecx, 0x53d278
lea eax, [ebp - 0x244]
call fcn.00401031
test eax, eax
jne 0x420245
push ebx
lea eax, [ebp - 0xd]
push eax
call fcn.0049cf27
jmp 0x41ff35
mov ecx, str..mid
lea eax, [ebp - 0x244]
call fcn.00401031
test eax, eax
je 0x4202a4
mov ecx, str..midi
lea eax, [ebp - 0x244]
call fcn.00401031
test eax, eax
je 0x4202a4
mov ecx, str..smf
lea eax, [ebp - 0x244]
call fcn.00401031
test eax, eax
je 0x4202a4
mov ecx, 0x55308c
lea eax, [ebp - 0x244]
call fcn.00401031
test eax, eax
jne 0x4202f6
push ebx
lea eax, [ebp - 0xd]
push eax
call fcn.004940cd
jmp 0x41ff35
push dword [ebp + 0x14]
mov eax, ebx
lea ecx, [ebp - 0xd]
call fcn.0049ceb5
jmp 0x41ff35
push 3
push 0xac44
mov edi, str.RawAudio
lea esi, [ebp - 0x20]
call fcn.004075b6
mov eax, dword [ebp + 0x14]
cmp byte [eax + 8], 0
je 0x4200e3
push dword [eax + 9]
mov eax, esi
push eax
call fcn.0040766a
jmp 0x4200d1
push ebx
lea eax, [ebp - 0xd]
push eax
call fcn.0048b789
jmp 0x41ff35
or dword [ebp - 8], 0xffffffff
lea eax, [ebp - 0xe74]
push eax
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
mov ecx, dword [ebp + 0x18]
xor esi, esi
cmp ecx, esi
mov word [ebp - 0xc6c], si
je 0x420345
cmp word [ecx], si
je 0x420345
lea eax, [ebp - 0xc6c]
call fcn.00401963
cmp word [ebp - 0xc6c], si
je 0x420345
lea eax, [ebp - 0xc6c]
push eax
call fcn.00401d29
test al, al
jne 0x420357
lea eax, [ebp - 0xc6c]
push eax
lea eax, [ebp - 0xe74]
call fcn.00401016
mov ebx, dword [sym.imp.KERNEL32.dll_CloseHandle]
xor edi, edi
inc edi
push edi
lea eax, [ebp - 0x654]
push str.Temp_d.wav
push eax
call fcn.00401000
add esp, 0xc
push 0x53ec98
lea eax, [ebp - 0x654]
push eax
lea eax, [ebp - 0xc6c]
push eax
lea eax, [ebp - 0x44c]
push eax
call fcn.0044a0d6
lea eax, [ebp - 0x44c]
push eax
lea esi, [ebp - 8]
call fcn.00449e7a
test al, al
je 0x420401
lea eax, [ebp - 0x44c]
push eax
call fcn.00401d29
test al, al
je 0x420407
push 0
push 0x80
push 3
push 0
push 2
push 0x40000000
lea eax, [ebp - 0x44c]
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
cmp eax, 0xffffffff
je 0x4203e0
push eax
call ebx
jmp 0x4203f0
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x20
sete al
test al, al
jne 0x420401
lea eax, [ebp - 0x44c]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
jne 0x420407
inc edi
jmp 0x420360
mov ecx, 0x54a6c8
lea eax, [ebp - 0x244]
call fcn.00401031
test eax, eax
jne 0x420451
push dword [ebp + 0x10]
lea eax, [ebp + 0x18]
push eax
mov eax, dword [ebp + 0x14]
call fcn.00496a1e
mov edi, dword [ebp + 0xc]
push eax
call fcn.004a488a
lea eax, [ebp + 0x18]
call fcn.004a4856
mov eax, edi
call fcn.00404ab5
test al, al
jne 0x420451
mov esi, dword [ebp + 8]
and dword [esi], 0
jmp 0x420f11
mov ecx, str..dart
lea eax, [ebp - 0x244]
call fcn.00401031
test eax, eax
jne 0x4204c0
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0x14]
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x44c]
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp + 0x18]
push eax
call fcn.004a214c
mov eax, dword [ebp + 0x18]
test eax, eax
je 0x420495
mov esi, dword [ebp + 8]
mov dword [esi], eax
jmp 0x420f11
lea eax, [ebp - 0x44c]
push eax
lea eax, [ebp + 0x18]
call fcn.004a9e6f
mov edi, dword [ebp + 0xc]
push eax
call fcn.004a488a
lea eax, [ebp + 0x18]
call fcn.004a4856
mov eax, edi
call fcn.00404ab5
test al, al
je 0x420446
mov edi, str..act
mov ecx, edi
lea eax, [ebp - 0x244]
mov byte [ebp + 0x1b], 1
call fcn.00401031
test eax, eax
jne 0x42051f
push dword [ebp + 0x10]
lea esi, [ebp - 0x10]
call fcn.00401e77
cmp dword [ebp - 0x10], 0xffffffff
je 0x42051f
push 4
lea eax, [ebp - 0x18]
push eax
mov eax, esi
push eax
call fcn.00401e16
cmp eax, 4
jne 0x42051a
cmp byte [ebp - 0x18], 0x52
jne 0x42051a
cmp byte [ebp - 0x17], 0x49
jne 0x42051a
cmp byte [ebp - 0x16], 0x46
jne 0x42051a
cmp byte [ebp - 0x15], 0x46
jne 0x42051a
mov byte [ebp + 0x1b], 0
push dword [ebp - 0x10]
call ebx
mov ecx, 0x53d284
lea eax, [ebp - 0x244]
call fcn.00401031
test eax, eax
je 0x420ca3
mov ecx, str..aac
lea eax, [ebp - 0x244]
call fcn.00401031
test eax, eax
je 0x420ca3
mov ecx, str..oga
lea eax, [ebp - 0x244]
call fcn.00401031
test eax, eax
je 0x420ca3
mov ecx, str..ogg
lea eax, [ebp - 0x244]
call fcn.00401031
test eax, eax
je 0x420ca3
mov ecx, str..m4a
lea eax, [ebp - 0x244]
call fcn.00401031
test eax, eax
je 0x420ca3
mov ecx, str..m4b
lea eax, [ebp - 0x244]
call fcn.00401031
test eax, eax
je 0x420ca3
mov ecx, 0x53d260
lea eax, [ebp - 0x244]
call fcn.00401031
test eax, eax
je 0x420ca3
mov ecx, str..mp4
lea eax, [ebp - 0x244]
call fcn.00401031
test eax, eax
je 0x420ca3
mov ecx, str..rec
lea eax, [ebp - 0x244]
call fcn.00401031
test eax, eax
je 0x420ca3
mov ecx, str..rcd
lea eax, [ebp - 0x244]
call fcn.00401031
test eax, eax
je 0x420ca3
mov ecx, 0x54a764
lea eax, [ebp - 0x244]
call fcn.00401031
test eax, eax
je 0x420ca3
mov ecx, str..sd2
lea eax, [ebp - 0x244]
call fcn.00401031
test eax, eax
je 0x420ca3
mov ecx, 0x54a728
lea eax, [ebp - 0x244]
call fcn.00401031
test eax, eax
je 0x420ca3
cmp byte [ebp + 0x1b], 0
je 0x420672
mov ecx, edi
lea eax, [ebp - 0x244]
call fcn.00401031
test eax, eax
je 0x420ca3
mov ecx, 0x54a758
lea eax, [ebp - 0x244]
call fcn.00401031
test eax, eax
je 0x420ca3
mov ecx, 0x53d2b4
lea eax, [ebp - 0x244]
call fcn.00401031
test eax, eax
je 0x420ca3
mov ecx, str..opus
lea eax, [ebp - 0x244]
call fcn.00401031
test eax, eax
je 0x420ca3
mov ecx, 0x53d2c0
lea eax, [ebp - 0x244]
call fcn.00401031
test eax, eax
jne 0x420812
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x44c]
mov dword [ebp - 0x10], eax
lea eax, [ebp + 0x18]
push eax
mov eax, dword [ebp + 0x14]
lea edi, [ebp - 0x14]
call fcn.004076e3
mov eax, dword [ebp + 0x18]
test eax, eax
jne 0x42048b
lea eax, [ebp - 0x44c]
push eax
lea esi, [ebp + 0x18]
call fcn.00401e37
mov eax, esi
push eax
call fcn.00401a72
or eax, edx
je 0x4207aa
push 3
push 0xac44
mov edi, str.RawAudio
lea esi, [ebp - 0x2c]
call fcn.004075b6
push 3
push 0xac44
lea esi, [ebp - 0x20]
call fcn.004075b6
mov dword [ebp - 0x20], 0x1f40
mov byte [ebp - 0x1c], 1
mov dword [ebp - 0x1b], 3
call fcn.00407616
lea eax, [ebp - 0x44c]
push eax
lea eax, [ebp - 0xd]
push eax
mov eax, esi
call fcn.004a2e82
mov edi, dword [ebp + 0xc]
push eax
call fcn.004a488a
lea eax, [ebp - 0xd]
call fcn.004a4856
mov edi, str.RawAudio
lea esi, [ebp - 0x2c]
call fcn.00407616
mov eax, dword [ebp + 0xc]
call fcn.00404ab5
test al, al
jne 0x4207aa
mov esi, dword [ebp + 8]
and dword [esi], 0
cmp dword [ebp + 0x18], 0xffffffff
je 0x420f11
push dword [ebp + 0x18]
call ebx
jmp 0x420f11
cmp dword [ebp + 0x18], 0xffffffff
je 0x4207b5
push dword [ebp + 0x18]
call ebx
push dword [ebp + 0x10]
call fcn.0049b8cc
mov edx, dword [ebp + 0x10]
mov edi, 0x30c
push edi
lea esi, [ebp - 0x1cac]
call fcn.0044b0f6
push edi
lea edx, [ebp - 0x44c]
lea esi, [ebp - 0x1694]
call fcn.0044b0f6
xor esi, esi
inc esi
push esi
push str.DirectXAudioDecoding
push 0xc30
lea eax, [ebp - 0x1cac]
push eax
push dword [ebp + 0x14]
lea eax, [ebp + 0x18]
push eax
call fcn.0044c8c4
cmp dword [ebp + 0x18], esi
jne 0x420c25
jmp 0x420940
mov ecx, str..ds2
lea eax, [ebp - 0x244]
call fcn.00401031
test eax, eax
jne 0x4208e1
mov eax, dword [ebp + 0x10]
and dword [ebp - 0x18], 0
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x44c]
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x20]
push eax
push dword [ebp + 0x14]
lea eax, [ebp + 0x18]
push eax
call fcn.00497e28
xor eax, eax
inc eax
cmp dword [ebp + 0x18], eax
je 0x42048b
cmp dword [ebp + 0x18], 0
jne 0x4207b5
push 3
push 0xac44
mov edi, str.RawAudio
lea esi, [ebp - 0x2c]
call fcn.004075b6
push 3
push 0xac44
lea esi, [ebp - 0x14]
call fcn.004075b6
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x14], eax
mov byte [ebp - 0x10], 1
mov dword [ebp - 0xf], 3
call fcn.00407616
lea eax, [ebp - 0x44c]
push eax
lea eax, [ebp + 0x18]
push eax
mov eax, esi
call fcn.004a2e82
mov edi, dword [ebp + 0xc]
push eax
call fcn.004a488a
lea eax, [ebp + 0x18]
call fcn.004a4856
mov edi, str.RawAudio
lea esi, [ebp - 0x2c]
call fcn.00407616
mov eax, dword [ebp + 0xc]
call fcn.00404ab5
test al, al
jne 0x4207b5
jmp 0x420446
mov ecx, 0x53d29c
lea eax, [ebp - 0x244]
call fcn.00401031
test eax, eax
jne 0x4209fb
lea eax, [ebp - 0xa64]
push eax
mov eax, dword [ebp + 0x10]
call fcn.00401016
lea eax, [ebp - 0x85c]
push eax
lea eax, [ebp - 0x44c]
call fcn.00401016
xor esi, esi
inc esi
push esi
push str.DSSDecode
push 0x410
lea eax, [ebp - 0xa64]
push eax
push dword [ebp + 0x14]
lea eax, [ebp + 0x18]
push eax
call fcn.0044c8c4
cmp dword [ebp + 0x18], esi
jne 0x420951
mov edi, dword [ebp + 8]
mov dword [edi], esi
push dword [ebp - 8]
call ebx
mov eax, edi
jmp 0x420f18
cmp dword [ebp + 0x18], 0
jne 0x4209ec
lea eax, [ebp - 0x44c]
push eax
lea eax, [ebp + 0x18]
call fcn.004a9e6f
mov edi, dword [ebp + 0xc]
push eax
call fcn.004a488a
lea eax, [ebp + 0x18]
call fcn.004a4856
mov eax, edi
call fcn.00404ab5
test al, al
je 0x420446
mov ecx, str..wmv
lea eax, [ebp - 0x244]
call fcn.00401031
test eax, eax
je 0x4209b6
mov ecx, 0x54a770
lea eax, [ebp - 0x244]
call fcn.00401031
test eax, eax
jne 0x420d01
push dword [ebp + 0x10]
lea eax, [ebp - 0x3c]
push eax
call fcn.004aca68
cmp byte [ebp - 0x24], 0
je 0x420cf9
cmp byte [ebp - 0x23], 0
je 0x420cf9
mov esi, dword [ebp + 8]
lea eax, [ebp - 0x3c]
mov dword [esi], 2
call fcn.00407ca5
jmp 0x420f11
call dword [sym.imp.WINMM.dll_waveOutGetNumDevs]
test eax, eax
ja 0x42098a
jmp 0x420f08
mov ecx, str..dvs
lea eax, [ebp - 0x244]
call fcn.00401031
test eax, eax
jne 0x420ab1
push dword [ebp + 0x10]
lea esi, [ebp - 0x38]
call fcn.0041d1ad
lea eax, [ebp - 0x44c]
push eax
lea esi, [ebp - 0x2c]
call fcn.0041d1ad
lea eax, [ebp - 0x38]
push eax
push dword [ebp + 0x14]
lea eax, [ebp + 0x18]
push eax
call fcn.00498277
xor eax, eax
inc eax
cmp dword [ebp + 0x18], eax
jne 0x420a61
mov esi, dword [ebp + 8]
mov dword [esi], eax
push dword [ebp - 0x2c]
call fcn.00520947
pop ecx
push dword [ebp - 0x38]
call fcn.00520947
pop ecx
jmp 0x420f11
cmp dword [ebp + 0x18], 0
jne 0x420a9a
lea eax, [ebp - 0x44c]
push eax
lea eax, [ebp + 0x18]
call fcn.004a9e6f
mov edi, dword [ebp + 0xc]
push eax
call fcn.004a488a
lea eax, [ebp + 0x18]
call fcn.004a4856
mov eax, edi
call fcn.00404ab5
test al, al
jne 0x420a9a
mov esi, dword [ebp + 8]
and dword [esi], 0
jmp 0x420a4a
push dword [ebp - 0x2c]
call fcn.00520947
pop ecx
push dword [ebp - 0x38]
call fcn.00520947
pop ecx
jmp 0x42098a
mov ecx, 0x5530e0
lea eax, [ebp - 0x244]
call fcn.00401031
test eax, eax
je 0x42098a
mov ecx, str..ram
lea eax, [ebp - 0x244]
call fcn.00401031
test eax, eax
je 0x42098a
mov ecx, 0x54e3b4
lea eax, [ebp - 0x244]
call fcn.00401031
test eax, eax
je 0x42098a
mov ecx, str..rmj
lea eax, [ebp - 0x244]
call fcn.00401031
test eax, eax
je 0x42098a
mov ecx, str..ac3
lea eax, [ebp - 0x244]
call fcn.00401031
test eax, eax
je 0x42098a
mov ecx, 0x54a37c
lea eax, [ebp - 0x244]
call fcn.00401031
test eax, eax
jne 0x420be7
xor esi, esi
push esi
push esi
xor edi, edi
inc edi
push edi
push esi
call dword [sym.imp.KERNEL32.dll_CreateEventW]
mov dword [ebp - 0x658], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x864], eax
lea eax, [ebp - 0x860]
push eax
lea eax, [ebp - 0x44c]
call fcn.00401016
push dword [ebp + 0x14]
lea eax, [ebp + 0x18]
push eax
lea eax, [ebp - 0x864]
call fcn.004077c0
cmp dword [ebp + 0x18], edi
jne 0x420b98
mov esi, dword [ebp + 8]
push dword [ebp - 0x658]
mov dword [esi], edi
jmp 0x4207a3
cmp dword [ebp + 0x18], esi
jne 0x420bda
lea eax, [ebp - 0x44c]
push eax
lea eax, [ebp + 0x18]
call fcn.004a9e6f
mov edi, dword [ebp + 0xc]
push eax
call fcn.004a488a
lea eax, [ebp + 0x18]
call fcn.004a4856
mov eax, edi
call fcn.00404ab5
test al, al
jne 0x420bda
mov edi, dword [ebp + 8]
push dword [ebp - 0x658]
mov dword [edi], esi
call ebx
jmp 0x420945
push dword [ebp - 0x658]
call ebx
jmp 0x42098a
mov ecx, 0x553100
lea eax, [ebp - 0x244]
call fcn.00401031
test eax, eax
jne 0x420c34
mov eax, dword [ebp + 0x10]
push dword [ebp + 0x14]
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x44c]
mov dword [ebp - 0x10], eax
lea eax, [ebp + 0x18]
push eax
lea eax, [ebp - 0x14]
call fcn.0040804b
xor eax, eax
inc eax
cmp dword [ebp + 0x18], eax
je 0x42048b
cmp dword [ebp + 0x18], 0
jne 0x42098a
jmp 0x42095b
lea eax, [ebp - 0x244]
push eax
call fcn.004a50bd
test al, al
je 0x4207b5
mov eax, dword [ebp + 0x10]
push dword [ebp + 0x14]
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x44c]
mov dword [ebp - 0x10], eax
lea eax, [ebp + 0x18]
push eax
lea ecx, [ebp - 0x14]
call fcn.00407f31
xor eax, eax
inc eax
cmp dword [ebp + 0x18], eax
je 0x42048b
cmp dword [ebp + 0x18], 0
jne 0x4207b5
lea eax, [ebp - 0x44c]
push eax
lea eax, [ebp + 0x18]
call fcn.004a9e6f
mov edi, dword [ebp + 0xc]
push eax
call fcn.004a488a
lea eax, [ebp + 0x18]
call fcn.004a4856
mov eax, edi
jmp 0x4208cf
mov esi, dword [ebp + 0x14]
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
test al, al
je 0x420cbe
mov esi, dword [ebp + 8]
mov dword [esi], 1
jmp 0x420f11
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x44c]
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x14]
push eax
push esi
lea eax, [ebp + 0x18]
push eax
call fcn.00494b3d
cmp dword [ebp + 0x18], 0
je 0x420ced
cmp dword [ebp + 0x18], 1
jne 0x4207b5
jmp 0x420cb0
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
test al, al
je 0x420c7c
jmp 0x420cb0
lea eax, [ebp - 0x3c]
call fcn.00407ca5
mov ecx, str..mpdp
lea eax, [ebp - 0x244]
call fcn.00401031
test eax, eax
je 0x420f08
lea eax, [ebp - 0x85c]
push eax
push dword [ebp + 0x14]
call fcn.004c2914
test al, al
je 0x420f08
push 0x280
call fcn.0044b085
test eax, eax
pop ecx
je 0x420d4b
call fcn.00407b41
mov esi, eax
mov dword [ebp + 0x18], eax
jmp 0x420d50
xor esi, esi
mov dword [ebp + 0x18], esi
push 1
push dword [esi + 4]
mov dword [ebp - 0x18], esi
call dword [sym.imp.KERNEL32.dll_InterlockedExchange]
push dword [ebp + 0x10]
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
test al, al
je 0x420f00
lea esi, [ebp - 0x2c]
call fcn.004a47c9
lea edi, [ebp - 0x28]
call fcn.00404c74
mov ecx, dword [ebp + 0x10]
and dword [ebp - 0x24], 0
lea esi, [ebp - 0x107c]
call fcn.0044a0a8
push 0xffffffffffffffff
push str.SoundStreamIndex
mov eax, esi
push str.FFMPEGAUDIO
mov dword [ebp - 0x30], eax
call fcn.004248dd
mov esi, eax
push 0
lea eax, [ebp - 0x654]
push eax
push esi
push dword [ebp + 0x18]
call fcn.004c83b9
test al, al
je 0x420ef0
cmp word [ebp - 0x654], 0
je 0x420dec
lea eax, [ebp - 0x85c]
push eax
lea eax, [ebp - 0x654]
push eax
push dword [ebp + 0x14]
call fcn.00405ae3
test al, al
je 0x420ef0
push 0
push esi
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp + 0x10]
push eax
mov eax, dword [ebp + 0x18]
call fcn.004c845e
push eax
lea edi, [ebp - 0x2c]
call fcn.004a488a
lea eax, [ebp + 0x10]
call fcn.004a4856
mov esi, dword [ebp - 0x2c]
test esi, esi
je 0x420e20
cmp byte [esi + 0xd], 0
setne al
jmp 0x420e22
mov al, 1
test al, al
jne 0x420ef0
mov ecx, dword [ebp + 0x18]
call fcn.00407c5c
test al, al
je 0x420ef0
test esi, esi
je 0x420e46
mov al, byte [esi + 8]
mov byte [ebp + 0x10], al
jmp 0x420e4a
mov byte [ebp + 0x10], 1
test esi, esi
je 0x420e53
mov esi, dword [esi + 4]
jmp 0x420e58
mov esi, 0xac44
push dword [ebp + 0x10]
lea eax, [ebp - 0x44c]
push esi
push eax
lea esi, [ebp + 0x10]
call fcn.004aa04c
mov edi, eax
lea esi, [ebp - 0x28]
call fcn.004a46aa
lea ecx, [ebp + 0x10]
call fcn.00404ca4
lea eax, [ebp - 0x30]
push eax
push dword [ebp + 0x14]
lea eax, [ebp + 0x14]
push eax
call fcn.004a283e
cmp dword [ebp + 0x14], 0
jne 0x420ee1
lea eax, [ebp - 0x44c]
push eax
lea eax, [ebp + 0x14]
call fcn.004a9e6f
mov edi, dword [ebp + 0xc]
push eax
call fcn.004a488a
lea eax, [ebp + 0x14]
call fcn.004a4856
mov eax, edi
call fcn.00404ab5
test al, al
jne 0x420ef0
mov edi, dword [ebp + 8]
and dword [edi], 0
lea ecx, [ebp - 0x28]
call fcn.00404ca4
lea eax, [ebp - 0x2c]
call fcn.004a4856
lea esi, [ebp - 0x18]
call fcn.004f0342
jmp 0x420945
xor eax, eax
inc eax
cmp dword [ebp + 0x14], eax
jne 0x420ef0
mov edi, dword [ebp + 8]
mov dword [edi], eax
jmp 0x420ec4
lea ecx, [ebp - 0x28]
call fcn.00404ca4
lea eax, [ebp - 0x2c]
call fcn.004a4856
lea esi, [ebp - 0x18]
call fcn.004f0342
mov esi, dword [ebp + 8]
mov dword [esi], 2
push dword [ebp - 8]
call ebx
mov eax, esi
pop edi
pop esi
pop ebx
leave
ret 0x14