Function at 0x401eb0
Capabilities:
Check for time delay via gettickcount
Get file size
Read file on windows

Disassembly:
sub esp, 0x114
push ebp
push esi
push 0
push 0x80
push 3
push 0
push 0
push 0x80000000
push 0x4182a0
call dword [sym.imp.KERNEL32.dll_CreateFileA]
cmp eax, 0xffffffff
mov dword [0x41829c], eax
jne 0x401f05
push 0x4182a0
lea eax, [esp + 0x1c]
push str.Can_not_open__s
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
lea ecx, [esp + 0x18]
push 0
push str.Error
push ecx
jmp 0x401f78
push 0
push eax
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov edx, dword [0x41829c]
mov ebp, eax
sub ebp, 0xf4
push 0
push 0
push ebp
push edx
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
mov ecx, dword [0x41829c]
lea eax, [esp + 0x14]
push 0
push eax
push 0xf4
push 0x4184e0
push ecx
call dword [sym.imp.KERNEL32.dll_ReadFile]
cmp dword [0x4185d0], 0x23693330
je 0x401f60
push 0
push str.Error
push str.Not_a_valid_exe_file_format
jmp 0x401f78
cmp dword [0x4185cc], 0xc8
je 0x401f96
push 0
push str.Error
push str.Not_a_valid_file_format._Or_wrong_version_of_player_program._r_n_Please_download_the_player_program_from_http:__www.mmedia.com.tw
mov esi, dword [esp + 0x12c]
push esi
call dword [sym.imp.USER32.dll_MessageBoxA]
push esi
call dword [sym.imp.USER32.dll_DestroyWindow]
pop esi
pop ebp
add esp, 0x114
ret
push ebx
push edi
push 0x418578
push str.Executable
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov edx, dword [0x4184b0]
push edx
call fcn.00401d50
mov esi, dword [esp + 0x12c]
push 9
push 0x4185e0
push esi
call fcn.004015d0
add esp, 0x10
xor edi, edi
push edi
push 0x4185e0
push esi
call fcn.00401930
add esp, 0xc
inc edi
cmp edi, 9
jl 0x401fcd
push 9
push 0x3e8
push esi
call fcn.00401990
add esp, 0xc
push esi
call dword [sym.imp.USER32.dll_GetDC]
mov ebx, eax
xor edi, edi
mov dword [esp + 0x10], ebx
mov eax, dword [edi + 0x4184e4]
mov ecx, dword [0x41829c]
push eax
push ecx
push ebx
call fcn.00403a40
mov dword [edi + 0x4184c0], eax
add edi, 4
add esp, 0xc
cmp edi, 0x10
jl 0x402001
push ebx
push esi
call dword [sym.imp.USER32.dll_ReleaseDC]
mov eax, dword [0x4184f4]
test eax, eax
je 0x402074
sub ebp, eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
xor edx, edx
mov ecx, 0x186a0
div ecx
push edx
push str.tmp_5d.wav
push str.wavexxxx.wav
call dword [sym.imp.USER32.dll_wsprintfA]
mov edx, dword [0x4184f4]
mov eax, dword [0x41829c]
push ebp
push edx
push eax
push str.wavexxxx.wav
call fcn.00403ba0
add esp, 0x1c
mov edi, dword [sym.imp.USER32.dll_GetDlgItem]
push 0
push 0x3ed
push esi
call edi
mov ebx, dword [sym.imp.USER32.dll_EnableWindow]
push eax
call ebx
mov ebp, dword [0x4184e4]
mov edx, dword [0x4184e0]
sub ebp, edx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
xor edx, edx
mov ecx, 0x186a0
div ecx
push edx
push str.tmp_5d.avi
push 0x418320
call dword [sym.imp.USER32.dll_wsprintfA]
mov edx, dword [0x4184e0]
mov eax, dword [0x41829c]
push ebp
push edx
push eax
push 0x418320
call fcn.00403c70
add esp, 0x1c
cmp eax, 1
jne 0x4021f4
cmp byte [0x417db0], 2
jge 0x40213d
push 0x418320
push esi
call fcn.0040e6e0
add esp, 8
cmp eax, 1
jne 0x402129
push str.wavexxxx.wav
push esi
call fcn.0040e8b0
mov ecx, dword [0x417df8]
push ecx
push esi
call fcn.00401da0
add esp, 0x10
push 0
push 0x3ed
push 0x111
push esi
call dword [sym.imp.USER32.dll_PostMessageA]
push 0
push 0x3e9
push esi
call edi
push eax
call ebx
push 1
jmp 0x4021e9
lea edx, [esp + 0x14]
push edx
push str.wavexxxx.wav
call fcn.0040ea30
add esp, 8
test eax, eax
jne 0x402173
mov eax, dword [0x418298]
xor ecx, ecx
mov cx, word [0x4184a4]
xor edx, edx
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
shl eax, 3
div ecx
jmp 0x402193
fld dword [esp + 0x14]
fmul dword [0x414210]
xor edx, edx
mov dx, word [0x4184a4]
mov dword [esp + 0x18], edx
fidiv dword [esp + 0x18]
call fcn.0040f400
mov ecx, dword [0x4184a8]
mov edx, dword [0x418434]
mov dword [0x418868], eax
xor eax, eax
mov ax, word [ecx]
push eax
mov eax, dword [esp + 0x14]
push 0
push edx
push eax
call fcn.0040e280
push 0
push esi
mov dword [0x417dac], eax
call fcn.00401da0
add esp, 0x18
push 0
push 0x3ed
push 0x111
push esi
call dword [sym.imp.USER32.dll_PostMessageA]
push 0
push 0x3e9
push esi
call edi
push eax
call ebx
push 0
push 0x3ea
push esi
call edi
push eax
call ebx
push str.Executable
push esi
call dword [sym.imp.USER32.dll_SetWindowTextA]
push 1
push 0x3e8
push esi
call edi
push eax
call ebx
push 0
push 0x3eb
push esi
call edi
push eax
call ebx
call fcn.0040dfd0
cmp eax, 1
jne 0x402227
push eax
jmp 0x402229
push 0
push 0x3ec
push esi
call edi
push eax
call ebx
push 0
push 0x3ee
push esi
call edi
push eax
call ebx
push 0
push 0x3ef
push esi
call edi
push eax
call ebx
push 1
push 0x3f0
push esi
call edi
push eax
call ebx
push 0x24c
push 0x418424
call fcn.00401070
add esp, 8
mov dword [0x4184ac], eax
pop edi
pop ebx
pop esi
pop ebp
add esp, 0x114
ret