Function at 0x410eac
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x398
push ebx
mov ebx, dword [ebp + 8]
cmp byte [ebx + 0x9100], 0
push esi
push edi
je 0x411111
push 0x66
mov eax, ebx
call fcn.00402fc6
cmp eax, 1
jne 0x411111
push 0x66
mov eax, ebx
call fcn.00402fa6
mov esi, eax
xor edi, edi
cmp esi, edi
jl 0x411111
cmp esi, 0x63
jl 0x410f00
cmp dword [ebx + 0x239b], edi
je 0x411111
mov eax, dword [ebx + 0x239b]
cmp eax, 1
je 0x410f10
cmp eax, 2
jne 0x410f31
push 0x66
push ebx
mov eax, esi
call fcn.00402ee0
cmp eax, edi
je 0x411111
mov edi, dword [ebx + 4]
mov edx, eax
call fcn.004cd0bd
jmp 0x411111
lea eax, [ebx + 0x7e03]
cmp dword [eax], esi
jne 0x410f4a
cmp byte [ebx + 0x7545], 0
jne 0x411111
jmp 0x410f62
cmp byte [ebx + 0x7545], 0
mov dword [eax], esi
je 0x410f5c
mov eax, ebx
call fcn.00411118
mov dword [ebx + 0x7e0b], edi
push esi
mov eax, ebx
call fcn.0040cfdf
mov ecx, dword [eax + 0xc]
cmp ecx, edi
mov dword [ebp + 8], eax
je 0x410f7c
push 0xac44
push ecx
jmp 0x410f9e
mov ecx, dword [eax + 8]
cmp ecx, edi
je 0x410f88
mov esi, dword [ecx + 4]
jmp 0x410f8d
mov esi, 0xac44
mov eax, ecx
cmp eax, edi
je 0x410f9a
mov edx, dword [eax]
call dword [edx + 0xc]
jmp 0x410f9c
xor eax, eax
push esi
push eax
call fcn.004a3e1d
push 1
push 0x69
mov esi, ebx
mov dword [ebx + 0x7e07], eax
call fcn.0047a58b
push edi
push 0x3eb
call fcn.0047a58b
fild dword [ebx + 0x7e0b]
fmul qword [0x599850]
fidiv dword [ebx + 0x7e07]
call fcn.00535ff0
push eax
mov eax, ebx
call fcn.00402689
push ecx
mov eax, esp
mov dword [eax], edi
mov edi, ebx
call fcn.0047abf3
push str.Play_Time:
push 0xc9
call fcn.0047aac6
mov esi, dword [sym.imp.USER32.dll_GetDlgItem]
push 0
push 0xca
push dword [ebx + 4]
call esi
mov edi, dword [sym.imp.USER32.dll_ShowWindow]
push eax
call edi
push 0
push 0xcc
push dword [ebx + 4]
call esi
push eax
call edi
mov edi, dword [ebp + 8]
lea esi, [edi + 8]
mov dword [ebp + 8], esi
call fcn.00404ac9
test al, al
jne 0x411076
mov ecx, dword [esi]
test ecx, ecx
je 0x411042
mov eax, dword [ecx]
call dword [eax + 0x18]
jmp 0x411044
xor al, al
test al, al
jne 0x411076
mov eax, dword [esi]
test eax, eax
je 0x411053
mov ecx, dword [eax + 4]
jmp 0x411058
mov ecx, 0xac44
test eax, eax
je 0x4110eb
mov edi, dword [eax]
push ecx
push dword [ebx + 0x7e0b]
call fcn.004a3e4b
mov ecx, dword [esi]
push eax
call dword [edi + 0x10]
jmp 0x4110eb
lea esi, [edi + 0x10]
mov edi, dword [ebx + 4]
push esi
lea eax, [ebp - 0x18c]
call fcn.00403ee5
push dword [ebp + 8]
lea eax, [ebp - 0x9a]
push esi
push eax
push ebx
call fcn.0040c980
test eax, eax
jne 0x4110aa
lea eax, [ebp - 0x18c]
call fcn.00403f96
jmp 0x411111
cmp eax, 2
jne 0x4110dd
push esi
push str.Unable_to_open_file__s
mov esi, 0x104
lea edi, [ebp - 0x394]
call fcn.0044b138
pop ecx
pop ecx
push 0x2010
push str.Open_error
mov eax, edi
push eax
push dword [ebx + 4]
call dword [sym.imp.USER32.dll_MessageBoxW]
lea eax, [ebp - 0x18c]
call fcn.00403f96
mov esi, dword [ebp + 8]
push esi
lea eax, [ebx + 0x25f6]
push eax
call fcn.0041f994
test al, al
jne 0x411111
push 0x10
push 0x549180
push str.Cannot_access_any_sound_device_for_playback.
push dword [ebx + 4]
call dword [sym.imp.USER32.dll_MessageBoxW]
pop edi
pop esi
pop ebx
leave
ret 4