Function at 0x5aa9bb
Capabilities:
Hide graphical window

Disassembly:
push 0xac
mov eax, 0x60dcbd
call fcn.004db4be
mov esi, ecx
mov dword [ebp - 0x88], esi
push 0x423
push dword [esi + 4]
call dword [sym.imp.USER32.dll_GetDlgItem]
mov edi, dword [sym.imp.USER32.dll_SendMessageW]
push 0
push 0
push 0x147
push eax
call edi
mov dword [ebp - 0x84], eax
cmp eax, 0xffffffff
je 0x5ab222
mov ecx, 0x673874
call fcn.00486d42
push 0
push 0
lea ebx, [esi + 0x84]
mov dword [ebp - 0x8c], eax
push 0x1009
push dword [ebx]
mov dword [ebp - 0x98], ebx
call edi
lea edi, [esi + 0x5c]
mov esi, dword [ebp - 0x84]
push esi
mov ecx, edi
call fcn.004928d2
push 0x10
push eax
push 0x673874
call fcn.004ddf58
add esp, 0xc
test eax, eax
je 0x5aaa90
push esi
mov ecx, edi
call fcn.004928d2
mov esi, eax
mov eax, 0x673874
mov edi, eax
mov ecx, eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.00486d42
mov edi, eax
movzx eax, word [ebp + 0xc]
push eax
push 0x400
push 0x7f0
push dword [0x674760]
mov dword [ebp - 0x8c], edi
call dword [sym.imp.USER32.dll_SendMessageW]
jmp 0x5aaa96
mov edi, dword [ebp - 0x8c]
lea ecx, [ebp - 0xb8]
call fcn.0041d3e0
and dword [ebp - 4], 0
mov edx, ecx
push 0x7c
push 4
mov ecx, 0x815d
call fcn.005ca1c0
mov eax, dword [0x668294]
pop ecx
pop ecx
push 0x813c
push ecx
lea ecx, [ebp - 0x84]
mov dword [ebp - 0x84], eax
call fcn.0041129f
mov esi, dword [ebp - 0x84]
push ecx
push edi
push ecx
push ecx
push esi
push 0
push 3
mov ecx, ebx
call fcn.0041cc62
lea ecx, [esi - 0xc]
cmp ecx, 0x668010
je 0x5aaaf9
call fcn.00407965
push edi
lea ecx, [ebp - 0xb8]
call fcn.0041d3f0
xor esi, esi
push esi
push ecx
push ecx
push esi
push dword [eax]
mov ecx, ebx
push 1
push 1
push esi
call fcn.0041c87a
lea ecx, [ebp - 0xa8]
call fcn.0041d3e0
push 0x7c
push 4
lea ecx, [edi + 0x812a]
mov byte [ebp - 4], 1
lea edx, [ebp - 0xa8]
call fcn.005ca1c0
pop ecx
pop ecx
push esi
lea ecx, [ebp - 0xa8]
call fcn.0041d3f0
push ecx
push 0xffffffffffffffff
push ecx
push ecx
push dword [eax]
mov ecx, ebx
push 1
push 3
call fcn.0041cc62
push 1
lea ecx, [ebp - 0xa8]
call fcn.0041d3f0
push ecx
push 0xffffffffffffffff
push ecx
push ecx
push dword [eax]
mov ecx, ebx
push 2
push 3
call fcn.0041cc62
push 2
lea ecx, [ebp - 0xa8]
call fcn.0041d3f0
push ecx
push 0xffffffffffffffff
push ecx
push ecx
push dword [eax]
mov ecx, ebx
push 3
push 3
call fcn.0041cc62
push 3
lea ecx, [ebp - 0xa8]
call fcn.0041d3f0
push ecx
push 0xffffffffffffffff
push ecx
push ecx
push dword [eax]
mov ecx, ebx
push 4
push 3
call fcn.0041cc62
mov eax, dword [0x668294]
mov dword [ebp - 0x90], eax
mov dword [ebp - 0x80], eax
mov byte [ebp - 4], 3
lea eax, [ebp - 0x80]
push 0x7c
push eax
lea edx, [ebp - 0x90]
mov ecx, 0x8144
call fcn.005c95ce
mov dword [ebp - 0x84], esi
pop ecx
pop ecx
test edi, edi
jne 0x5aad0f
mov ecx, 0x673874
call fcn.00486d93
push 0x54
push edi
lea esi, [eax - 1]
lea eax, [ebp - 0x6c]
push eax
call fcn.004e0bc0
add esp, 0xc
lea eax, [ebp - 0x6c]
push 0x54
push eax
push esi
call dword [sym.imp.WINMM.dll_waveOutGetDevCapsW]
test eax, eax
jne 0x5aad00
mov eax, dword [0x668294]
mov ecx, dword [ebp - 0x68]
mov dword [ebp - 0x7c], eax
movzx eax, cl
push eax
shr ecx, 8
movzx eax, cl
push eax
lea eax, [ebp - 0x7c]
push 0x63ba5c
push eax
call fcn.0040cefd
mov edi, dword [ebp - 0x7c]
add esp, 0x10
xor esi, esi
push esi
push ecx
push ecx
push esi
push edi
push 1
push 1
push 1
mov ecx, ebx
call fcn.0041c87a
cmp dword [ebp - 0x1c], esi
je 0x5aacf2
test byte [ebp - 0x1c], 4
push esi
push ecx
push ecx
push esi
mov esi, dword [ebp - 0x80]
mov ecx, ebx
mov eax, esi
cmovne eax, dword [ebp - 0x90]
push eax
push 1
push 1
push 2
call fcn.0041c87a
test byte [ebp - 0x1c], 8
push 0
cmovne esi, dword [ebp - 0x90]
push ecx
push ecx
push 0
push esi
push 1
push 1
push 3
mov ecx, ebx
call fcn.0041c87a
mov eax, dword [0x668294]
mov dword [ebp - 0x7c], eax
mov eax, dword [ebp - 0x1c]
shr eax, 5
not eax
and eax, 1
or eax, 6
push eax
push ecx
lea ecx, [ebp - 0x7c]
call fcn.0041129f
mov esi, dword [ebp - 0x7c]
push 0
push ecx
push ecx
push 0
push esi
push 1
push 1
push 4
mov ecx, ebx
call fcn.0041c87a
lea ecx, [esi - 0xc]
cmp ecx, 0x668010
je 0x5aacf2
call fcn.00407965
lea ecx, [edi - 0xc]
cmp ecx, 0x668010
jmp 0x5ab130
mov dword [ebp - 0x84], 0x80004005
jmp 0x5ab137
cmp edi, 1
jne 0x5aae1b
push 0x5c
lea eax, [ebp - 0x70]
mov dword [ebp - 0x74], 0x60
push esi
push eax
call fcn.004e0bc0
add esp, 0xc
lea eax, [ebp - 0x74]
mov edx, 0x673874
push eax
call fcn.005d267e
mov dword [ebp - 0x84], eax
test eax, eax
js 0x5ab137
mov ecx, dword [0x668294]
mov dword [ebp - 0x7c], ecx
mov ecx, dword [ebp - 0x70]
shr ecx, 6
not ecx
and ecx, edi
or ecx, 6
push ecx
push ecx
lea ecx, [ebp - 0x7c]
call fcn.0041129f
push esi
push ecx
push ecx
push esi
mov esi, dword [ebp - 0x7c]
mov ecx, ebx
push esi
push edi
push edi
push edi
call fcn.0041c87a
lea ecx, [esi - 0xc]
mov edi, 0x668010
cmp ecx, edi
je 0x5aad8d
call fcn.00407965
xor esi, esi
mov eax, str.Emluator
test byte [ebp - 0x70], 0x20
push esi
push ecx
push ecx
push esi
mov ecx, 0x63bb28
cmove eax, ecx
mov ecx, ebx
push eax
push 1
push 1
push 2
call fcn.0041c87a
push dword [ebp - 0x68]
mov eax, dword [0x668294]
push dword [ebp - 0x6c]
mov dword [ebp - 0x78], eax
lea eax, [ebp - 0x78]
push str._d____d_Hz
push eax
call fcn.0040cefd
add esp, 0x10
push esi
push ecx
push ecx
push esi
push dword [ebp - 0x78]
mov ecx, ebx
push 1
push 1
push 3
call fcn.0041c87a
push dword [ebp - 0x60]
lea eax, [ebp - 0x78]
push dword [ebp - 0x54]
push str.Free__d___Max__d
push eax
call fcn.0040cefd
add esp, 0x10
push esi
push ecx
push ecx
push esi
mov esi, dword [ebp - 0x78]
mov ecx, ebx
push esi
push 1
push 1
push 4
call fcn.0041c87a
lea ecx, [esi - 0xc]
cmp ecx, edi
jmp 0x5ab130
cmp edi, 2
jne 0x5aafe2
mov ecx, 0x673874
call fcn.00486d93
lea ecx, [ebp - 0x74]
push ecx
push eax
call fcn.005e5100
test eax, eax
je 0x5aad00
mov eax, dword [0x668294]
push dword [ebp - 0x34]
mov dword [ebp - 0x78], eax
lea eax, [ebp - 0x78]
push str._d_Channels
push eax
call fcn.0040cefd
add esp, 0xc
push esi
push ecx
push ecx
push esi
push dword [ebp - 0x78]
mov ecx, ebx
push 1
push 1
push 1
call fcn.0041c87a
mov eax, dword [ebp - 0x24]
push eax
push dword [ebp - 0x28]
lea eax, [ebp - 0x78]
push str._d____d_Hz
push eax
call fcn.0040cefd
add esp, 0x10
push esi
push ecx
push ecx
push esi
push dword [ebp - 0x78]
mov ecx, ebx
push 1
push 1
push edi
call fcn.0041c87a
push dword [ebp - 0x2c]
lea eax, [ebp - 0x78]
push dword [ebp - 0x30]
push str._d____d_Bits
push eax
call fcn.0040cefd
add esp, 0x10
push esi
push ecx
push ecx
push esi
mov esi, dword [ebp - 0x78]
mov ecx, ebx
push esi
push 1
push 1
push 3
call fcn.0041c87a
mov edi, dword [ebp - 0x80]
mov eax, edi
cmp dword [ebp - 0x1c], 0
push 0
cmovne eax, dword [ebp - 0x90]
push ecx
push ecx
push 0
push eax
push 1
push 1
push 4
mov ecx, ebx
call fcn.0041c87a
mov ecx, dword [ebp - 0x24]
cmp dword [ebp - 0x28], ecx
jne 0x5aafc9
cmp ecx, dword [0x673894]
je 0x5aafc9
xor eax, eax
mov dword [ebp - 0x7c], eax
cmp ecx, dword [eax*4 + 0x6305c0]
je 0x5aaf1f
inc eax
mov dword [ebp - 0x7c], eax
cmp eax, 0xd
jb 0x5aaf08
jmp 0x5aafc9
cmp eax, 0xffffffff
je 0x5aafc9
push ecx
push ecx
lea eax, [ebp - 0x78]
push 0x815e
push eax
call fcn.0041c926
add esp, 0x10
push 0xfffe
push 1
push 0x101e
push dword [ebx]
call dword [sym.imp.USER32.dll_SendMessageW]
push 0
call dword [sym.imp.USER32.dll_MessageBeep]
mov eax, dword [ebp - 0x88]
mov esi, dword [ebp - 0x78]
push 0x23
push dword [0x674764]
push esi
push dword [eax + 4]
call dword [sym.imp.USER32.dll_MessageBoxW]
cmp eax, 6
jne 0x5aafc9
mov eax, dword [ebp - 0x24]
push 0
push dword [ebp - 0x7c]
mov dword [0x673894], eax
mov eax, dword [ebp - 0x88]
push 0x14e
push dword [eax + 0x78]
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, dword [ebp - 0x88]
push 1
push 0x7f4
push dword [eax + 4]
call dword [sym.imp.USER32.dll_CheckDlgButton]
mov eax, dword [ebp - 0x88]
push 0
push 0x7f4
push 0x111
push dword [eax + 4]
call dword [sym.imp.USER32.dll_SendMessageW]
lea ecx, [esi - 0xc]
cmp ecx, 0x668010
je 0x5ab13a
call fcn.00407965
jmp 0x5ab13a
cmp edi, 3
jne 0x5ab137
mov ecx, 0x673874
call fcn.00486d93
push eax
call fcn.005e40ce
mov edi, eax
test edi, edi
je 0x5ab137
mov ecx, dword [0x668294]
mov dword [ebp - 0x78], ecx
push dword [edi + 0x18]
lea eax, [ebp - 0x78]
push str._d_Channels
push eax
call fcn.0040cefd
add esp, 0xc
push esi
push ecx
push ecx
push esi
push dword [ebp - 0x78]
mov ecx, ebx
push 1
push 1
push 1
call fcn.0041c87a
mov esi, dword [0x668294]
mov dword [ebp - 0x7c], esi
and dword [ebp - 0x94], 0
push 5
pop eax
mov byte [ebp - 4], al
cmp dword [edi + 0x28], 0
jle 0x5ab092
mov ebx, dword [ebp - 0x94]
push ebx
lea ecx, [edi + 0x24]
call fcn.004928ff
push dword [eax]
lea eax, [ebp - 0x78]
push 0x63bb38
push eax
call fcn.0040cefd
mov eax, dword [ebp - 0x78]
lea ecx, [ebp - 0x7c]
add esp, 0xc
push eax
push dword [eax - 8]
call fcn.0040f454
inc ebx
cmp ebx, dword [edi + 0x28]
jl 0x5ab058
mov esi, dword [ebp - 0x7c]
mov ebx, dword [ebp - 0x98]
cmp dword [esi - 8], 0
je 0x5ab0c5
mov esi, 0x63bb40
push esi
call fcn.00505bb3
pop ecx
push esi
push eax
lea ecx, [ebp - 0x7c]
call fcn.0040f454
mov esi, dword [ebp - 0x7c]
push 0
push ecx
push ecx
push 0
push esi
push 1
push 1
push 2
mov ecx, ebx
call fcn.0041c87a
push dword [edi + 0x1c]
lea eax, [ebp - 0x78]
push str._d_Bits
push eax
call fcn.0040cefd
add esp, 0xc
push 0
push ecx
push ecx
push 0
push dword [ebp - 0x78]
mov ecx, ebx
push 1
push 1
push 3
call fcn.0041c87a
push dword [edi + 0x20]
lea eax, [ebp - 0x78]
push str._d_Samples
push eax
call fcn.0040cefd
mov edi, dword [ebp - 0x78]
add esp, 0xc
push 0
push ecx
push ecx
push 0
push edi
push 1
push 1
push 4
mov ecx, ebx
call fcn.0041c87a
lea ecx, [esi - 0xc]
mov esi, 0x668010
cmp ecx, esi
je 0x5ab12b
call fcn.00407965
lea ecx, [edi - 0xc]
cmp ecx, esi
je 0x5ab137
call fcn.00407965
mov edi, dword [ebp - 0x80]
push 0xfffe
push 1
push 0x101e
push dword [ebx]
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, dword [ebp - 0x88]
push 0x7f1
push dword [eax + 4]
call dword [sym.imp.USER32.dll_GetDlgItem]
mov esi, dword [sym.imp.USER32.dll_ShowWindow]
xor ebx, ebx
cmp dword [ebp - 0x8c], 1
push 5
pop ecx
cmove ebx, ecx
push ebx
push eax
call esi
mov eax, dword [ebp - 0x88]
push 0x7f2
push dword [eax + 4]
call dword [sym.imp.USER32.dll_GetDlgItem]
push ebx
push eax
call esi
cmp dword [ebp - 0x84], 0
jge 0x5ab1e9
mov eax, dword [0x668294]
push 0x815f
push ecx
lea ecx, [ebp - 0x8c]
mov dword [ebp - 0x8c], eax
call fcn.0041129f
mov eax, dword [ebp - 0x88]
mov esi, dword [ebp - 0x8c]
push 0x10
push dword [0x674764]
push esi
push dword [eax + 4]
call dword [sym.imp.USER32.dll_MessageBoxW]
lea ecx, [esi - 0xc]
mov ebx, 0x668010
cmp ecx, ebx
je 0x5ab1ee
call fcn.00407965
jmp 0x5ab1ee
mov ebx, 0x668010
lea ecx, [edi - 0xc]
cmp ecx, ebx
je 0x5ab1fa
call fcn.00407965
mov ecx, dword [ebp - 0x90]
add ecx, 0xfffffff4
cmp ecx, ebx
je 0x5ab20c
call fcn.00407965
lea ecx, [ebp - 0xa8]
call fcn.0041d40f
lea ecx, [ebp - 0xb8]
call fcn.0041d40f
xor eax, eax
call fcn.004db46d
ret 0x10