Function at 0x4c0d90
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x54ec76
mov eax, dword fs:[0]
push eax
sub esp, 0x54
push ebx
push ebp
push esi
push edi
mov eax, dword [0x5ab720]
xor eax, esp
push eax
lea eax, [esp + 0x68]
mov dword fs:[0], eax
mov eax, dword [esp + 0x7c]
mov ebp, dword [esp + 0x78]
xor edi, edi
cmp eax, edi
mov dword [esp + 0x24], edi
mov dword [esp + 0x28], edi
mov dword [esp + 0x2c], edi
mov dword [esp + 0x30], edi
mov dword [ebp + 0x60], eax
je 0x4c225e
cmp dword [ebp + 0x80], edi
je 0x4c225e
mov eax, dword [ebp + 0x20]
mov esi, dword [sym.imp.USER32.dll_SendMessageW]
push edi
push edi
push 0x1309
push eax
call esi
mov ebx, ebp
call fcn.004c25a0
mov ecx, dword [ebp + 0x20]
push edi
push edi
push 0x1302
push ecx
call esi
push eax
call fcn.00507639
test eax, eax
jne 0x4c0f47
mov edx, dword [ebp + 0x60]
test byte [edx + 0xff], 1
je 0x4c0f47
fld qword [0x5ae4c0]
push 2
fld qword [0x584dd0]
push 2
fmul st(1), st(0)
push 0x20
fxch st(1)
lea esi, [ebp + 0x58]
call fcn.005261c0
fmul qword [0x5ae4b8]
push eax
call fcn.005261c0
push eax
mov ecx, esi
call fcn.005076c7
xor ebx, ebx
lea esi, [esp + 0x34]
call fcn.0046ce10
xor esi, esi
mov dword [esp + 0x34], vtable.CImageEx.0
mov dword [esp + 0x64], esi
mov dword [esp + 0x70], esi
call fcn.00503137
mov ecx, dword [ebx + 0x561d54]
mov eax, dword [eax + 8]
push 1
push ecx
lea edx, [esp + 0x3c]
push edx
call fcn.0046c310
mov eax, dword [esp + 0x38]
push eax
call fcn.00503f21
cmp eax, esi
jne 0x4c0ea9
xor ecx, ecx
jmp 0x4c0eae
mov ecx, dword [eax + 4]
xor esi, esi
mov eax, dword [ebp + 0x5c]
push 0xffffff
push ecx
push eax
call fcn.00503137
mov ecx, dword [eax + 0x78]
mov ecx, dword [ecx]
call fcn.00416bf0
or ecx, 0xffffffff
mov dword [esp + 0x70], ecx
mov eax, dword [esp + 0x38]
cmp eax, esi
mov dword [esp + 0x34], vtable.ATL::CImage.0
je 0x4c0f0b
push eax
mov dword [esp + 0x3c], esi
mov dword [esp + 0x40], esi
mov dword [esp + 0x44], esi
mov dword [esp + 0x48], esi
mov dword [esp + 0x50], esi
mov dword [esp + 0x4c], esi
mov dword [esp + 0x58], ecx
mov byte [esp + 0x55], 0
mov byte [esp + 0x54], 0
call dword [sym.imp.GDI32.dll_DeleteObject]
call fcn.0046cd90
add ebx, 8
cmp ebx, 0x10
jb 0x4c0e61
lea eax, [ebp + 0x58]
cmp eax, esi
jne 0x4c0f27
xor eax, eax
jmp 0x4c0f2a
mov eax, dword [eax + 4]
mov edx, dword [ebp + 0x20]
push eax
push esi
push 0x1303
push edx
call dword [sym.imp.USER32.dll_SendMessageW]
push eax
call fcn.00507639
mov esi, dword [sym.imp.USER32.dll_SendMessageW]
mov ecx, dword [ebp + 0x60]
test dword [ecx + 0x100], 0x700
je 0x4c0f5b
call fcn.0040d100
mov eax, dword [ebp + 0x60]
mov eax, dword [eax + 0x9c]
test eax, eax
mov dword [esp + 0x1c], eax
je 0x4c21f6
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x4c2250
mov esi, dword [eax + 8]
test esi, esi
mov ecx, dword [eax]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x18], esi
je 0x4c21e5
mov edx, dword [esi]
mov eax, dword [edx + 0x24]
mov ecx, esi
call eax
test eax, eax
jne 0x4c21e5
push 0x564f30
lea ecx, [esp + 0x7c]
call fcn.00404670
mov dword [esp + 0x70], 1
mov edx, dword [esi]
mov eax, dword [edx + 0x14]
mov ecx, esi
call eax
mov ebx, eax
cmp ebx, 0x2b
ja case.0x4c0fcc.5
jmp dword [ebx*4 + 0x4c2264]
push 0x817
push 0
push str.Speaker_Configuration
push edi
push 9
mov ecx, ebp
call fcn.005072af
push 0xfe4
add edi, 1
call fcn.004fae94
add esp, 4
mov dword [esp + 0x20], eax
test eax, eax
mov byte [esp + 0x70], 2
je 0x4c2168
push eax
call fcn.004d3de0
jmp 0x4c216a
push 0xc9f
push 0
push str.Encryption
push edi
push 9
mov ecx, ebp
call fcn.005072af
push 0x2f0
add edi, 1
call fcn.004fae94
add esp, 4
mov dword [esp + 0x20], eax
test eax, eax
mov byte [esp + 0x70], 3
je 0x4c2168
push eax
call fcn.00463a70
jmp 0x4c216a
mov edx, dword [esp + 0x7c]
mov eax, edx
call fcn.00497220
test eax, eax
jne 0x4c107e
mov eax, edx
call fcn.00497530
test eax, eax
jne 0x4c107e
push 0x917
push eax
push str.Microphone_Effect
jmp 0x4c108a
push 0x1080
push 0
push str.VoizReal_EXP
push edi
push 9
mov ecx, ebp
call fcn.005072af
mov eax, dword [ebp + 0x80]
add edi, 1
test eax, eax
je 0x4c11d9
mov ecx, dword [eax + 0xf4]
shr ecx, 0x17
and ecx, 1
je 0x4c10e0
push 0xa34
call fcn.004fae94
add esp, 4
mov dword [esp + 0x20], eax
test eax, eax
mov byte [esp + 0x70], 4
je 0x4c1202
push eax
call fcn.0049fde0
mov esi, eax
test esi, esi
jmp 0x4c216e
test eax, eax
je 0x4c11d9
mov edx, dword [eax + 0x34]
shr edx, 0x16
and edx, 1
je 0x4c1120
push 0x7a8
call fcn.004fae94
add esp, 4
mov dword [esp + 0x20], eax
test eax, eax
mov byte [esp + 0x70], 5
je 0x4c1202
push eax
call fcn.004910c0
mov esi, eax
test esi, esi
jmp 0x4c216e
test eax, eax
je 0x4c11d9
mov ecx, dword [eax + 0x164]
shr ecx, 0x14
and ecx, 1
je 0x4c1163
push 0x868
call fcn.004fae94
add esp, 4
mov dword [esp + 0x20], eax
test eax, eax
mov byte [esp + 0x70], 6
je 0x4c1202
push eax
call fcn.00493a50
mov esi, eax
test esi, esi
jmp 0x4c216e
test eax, eax
je 0x4c11d9
mov edx, dword [eax + 0x164]
shr edx, 0xd
and edx, 1
je 0x4c119e
push 0x9a0
call fcn.004fae94
add esp, 4
mov dword [esp + 0x20], eax
test eax, eax
mov byte [esp + 0x70], 7
je 0x4c1202
push eax
call fcn.0049d8f0
mov esi, eax
test esi, esi
jmp 0x4c216e
test eax, eax
je 0x4c11d9
mov eax, dword [eax + 0x16c]
shr eax, 0xf
and eax, 1
je 0x4c11d9
push 0x948
call fcn.004fae94
add esp, 4
mov dword [esp + 0x20], eax
test eax, eax
mov byte [esp + 0x70], 8
je 0x4c1202
push eax
call fcn.0049f130
mov esi, eax
test esi, esi
jmp 0x4c216e
push 0x19d0
call fcn.004fae94
add esp, 4
mov dword [esp + 0x20], eax
test eax, eax
mov byte [esp + 0x70], 9
je 0x4c1202
push eax
call fcn.00498960
mov esi, eax
test esi, esi
jmp 0x4c216e
xor eax, eax
mov esi, eax
test esi, esi
jmp 0x4c216e
push 0xc92
push 0
push str.Andrea
push edi
push 9
mov ecx, ebp
call fcn.005072af
mov ecx, dword [ebp + 0x60]
add edi, 1
test dword [ecx + 0xf4], 0x8000
je 0x4c125e
push 0x804
call fcn.004fae94
add esp, 4
mov dword [esp + 0x20], eax
test eax, eax
mov byte [esp + 0x70], 0xa
je 0x4c1202
push eax
call fcn.00405b70
mov esi, eax
test esi, esi
jmp 0x4c216e
push 0x8c4
call fcn.004fae94
add esp, 4
mov dword [esp + 0x20], eax
test eax, eax
mov byte [esp + 0x70], 0xb
je 0x4c1202
push eax
call fcn.004079f0
mov esi, eax
test esi, esi
jmp 0x4c216e
push 0x7f4
push 0
push str.Sound_Effect
push edi
push 9
mov ecx, ebp
call fcn.005072af
push 0x1c10
add edi, 1
call fcn.004fae94
add esp, 4
mov dword [esp + 0x20], eax
test eax, eax
mov byte [esp + 0x70], 0xc
je 0x4c2168
push eax
call fcn.004c5820
jmp 0x4c216a
push 0xbec
push 0
push str.Room_Correction
push edi
push 9
mov ecx, ebp
call fcn.005072af
push 0x1228
add edi, 1
call fcn.004fae94
add esp, 4
mov dword [esp + 0x20], eax
test eax, eax
mov byte [esp + 0x70], 0xd
je 0x4c2168
push eax
call fcn.004b77d0
jmp 0x4c216a
push 0x8af
push 0
push str.Digital_Audio_Input
push edi
push 9
mov ecx, ebp
call fcn.005072af
push 0x4c8
add edi, 1
call fcn.004fae94
add esp, 4
mov dword [esp + 0x20], eax
test eax, eax
mov byte [esp + 0x70], 0xe
je 0x4c2168
push eax
call fcn.00441830
jmp 0x4c216a
mov eax, dword [ebp + 0x80]
test eax, eax
je 0x4c1367
test dword [eax + 0xc], 0x10000000
je 0x4c1367
push 0xfb7
jmp 0x4c136c
push 0xbfa
push 0
push str.Default_Format
push edi
push 9
mov ecx, ebp
call fcn.005072af
push 0x7e0
add edi, 1
call fcn.004fae94
add esp, 4
mov dword [esp + 0x20], eax
test eax, eax
mov byte [esp + 0x70], 0xf
je 0x4c2168
push eax
call fcn.00465be0
jmp 0x4c216a
mov edx, dword [ebp + 0x60]
test byte [edx + 0xfc], 1
mov ecx, ebp
je 0x4c13c5
push 0xc52
push 0
push str.Dolby___DTS
jmp 0x4c13d1
push 0x9c6
push 0
push str.DTS_Connect
push edi
push 9
call fcn.005072af
push 0x3b4
add edi, 1
call fcn.004fae94
add esp, 4
mov dword [esp + 0x20], eax
test eax, eax
mov byte [esp + 0x70], 0x10
je 0x4c2168
push eax
call fcn.0044fc30
jmp 0x4c216a
mov eax, dword [ebp + 0x60]
test byte [eax + 0x100], 0x20
je case.0x4c0fcc.5
push 0xcbe
push 0
push str.DTS_S2
push edi
push 9
mov ecx, ebp
call fcn.005072af
push 0x35c
add edi, 1
call fcn.004fae94
add esp, 4
mov dword [esp + 0x20], eax
test eax, eax
mov byte [esp + 0x70], 0x11
je 0x4c2168
push eax
call fcn.00459ee0
jmp 0x4c216a
mov eax, dword [ebp + 0x60]
test byte [eax + 0x100], 0x40
je 0x4c1511
mov eax, dword [eax + 0x78]
cmp eax, 1
je 0x4c14af
cmp eax, 3
je 0x4c14af
push 0x100a
push 0
push 0x57bd08
push edi
push 9
mov ecx, ebp
call fcn.005072af
push 0x328
add edi, 1
call fcn.004fae94
add esp, 4
mov dword [esp + 0x20], eax
test eax, eax
mov byte [esp + 0x70], 0x13
je 0x4c14ea
push eax
call fcn.0044f420
jmp 0x4c14ec
push 0x100a
push 0
push 0x57bd08
push edi
push 9
mov ecx, ebp
call fcn.005072af
push 0x11d4
add edi, 1
call fcn.004fae94
add esp, 4
mov dword [esp + 0x20], eax
test eax, eax
mov byte [esp + 0x70], 0x12
je 0x4c14ea
push eax
call fcn.00451de0
jmp 0x4c14ec
xor eax, eax
mov esi, eax
test esi, esi
mov byte [esp + 0x70], 1
jne 0x4c2179
lea ecx, [esp + 0x78]
mov dword [esp + 0x70], 0xffffffff
call fcn.00401640
jmp 0x4c21e5
push 0x100a
push 0
push 0x57bd08
push edi
push 9
mov ecx, ebp
call fcn.005072af
push 0x46c
add edi, 1
call fcn.004fae94
add esp, 4
mov dword [esp + 0x20], eax
test eax, eax
mov byte [esp + 0x70], 0x14
je 0x4c2168
push eax
call fcn.0045a840
jmp 0x4c216a
mov eax, dword [ebp + 0x60]
cmp dword [eax + 0x24], 0
je 0x4c1613
test eax, eax
je 0x4c15b6
movzx ecx, byte [eax + 0x10b]
and ecx, 1
je 0x4c15b6
push 0x1060
push 0
push str.DTS_UltraPC_II_Plus
push edi
push 9
mov ecx, ebp
call fcn.005072af
push 0x5a0
add edi, 1
call fcn.004fae94
add esp, 4
mov dword [esp + 0x20], eax
test eax, eax
mov byte [esp + 0x70], 0x15
je 0x4c1202
push eax
call fcn.0045dc80
mov esi, eax
test esi, esi
jmp 0x4c216e
call fcn.00460d70
test eax, eax
mov ecx, ebp
je 0x4c15cf
push 0x1066
push 0
push str.DTS_UltraPC_II
jmp 0x4c15db
push 0x1055
push 0
push str.DTS_UltraPC_II_Plus
push edi
push 9
call fcn.005072af
push 0x11ac
add edi, 1
call fcn.004fae94
add esp, 4
mov dword [esp + 0x20], eax
test eax, eax
mov byte [esp + 0x70], 0x16
je 0x4c1202
push eax
call fcn.00460eb0
mov esi, eax
test esi, esi
jmp 0x4c216e
test eax, eax
je 0x4c162a
movzx edx, byte [eax + 0x10b]
and edx, 1
je 0x4c162a
push 0x1061
jmp 0x4c162f
push 0x1055
push 0
push str.DTS_UltraPC_II_Plus
push edi
push 9
mov ecx, ebp
call fcn.005072af
push 0x594
add edi, 1
call fcn.004fae94
add esp, 4
mov dword [esp + 0x20], eax
test eax, eax
mov byte [esp + 0x70], 0x17
je 0x4c1202
push eax
call fcn.0045e990
mov esi, eax
test esi, esi
jmp 0x4c216e
mov eax, dword [ebp + 0x60]
mov ecx, dword [eax + 0x100]
test ecx, 0x2000
jne 0x4c16d3
test ecx, 0x40000
je 0x4c1697
push 0x9b0
push 0
push str.Dolby_Headphone
jmp 0x4c16df
mov eax, dword [eax + 0xfc]
test al, 0x20
je 0x4c16af
push 0x9ae
push 0
push str.Dolby_Master_Studio
jmp 0x4c16df
test al, 0x40
je 0x4c16c1
push 0x9ad
push 0
push str.Dolby_Home_Theater
jmp 0x4c16df
test al, al
jns 0x4c16d3
push 0x9af
push 0
push str.Dolby_Sound_Room
jmp 0x4c16df
push 0x100b
push 0
push str.Dolby
push edi
push 9
mov ecx, ebp
call fcn.005072af
mov eax, dword [ebp + 0x60]
mov eax, dword [eax + 0x100]
add edi, 1
test eax, 0xe02000
jne 0x4c175d
test eax, 0x40000
je 0x4c1730
push 0x3b0
call fcn.004fae94
add esp, 4
mov dword [esp + 0x20], eax
test eax, eax
mov byte [esp + 0x70], 0x19
je 0x4c1202
push eax
call fcn.004454a0
mov esi, eax
test esi, esi
jmp 0x4c216e
push 0x560
call fcn.004fae94
add esp, 4
mov dword [esp + 0x20], eax
test eax, eax
mov byte [esp + 0x70], 0x1a
je 0x4c1202
push eax
call fcn.00446b80
mov esi, eax
test esi, esi
jmp 0x4c216e
push 0x4a8
call fcn.004fae94
add esp, 4
mov dword [esp + 0x20], eax
test eax, eax
mov byte [esp + 0x70], 0x18
je 0x4c1202
push eax
call fcn.00447e90
mov esi, eax
test esi, esi
jmp 0x4c216e
push 0x100b
push 0
push str.Dolby
push edi
push 9
mov ecx, ebp
call fcn.005072af
push 0x1e64
add edi, 1
call fcn.004fae94
add esp, 4
mov dword [esp + 0x20], eax
test eax, eax
mov byte [esp + 0x70], 0x1b
je 0x4c2168
push eax
call fcn.00442200
jmp 0x4c216a
push 0xc5a
push 0
push 0x566d9c
push edi
push 9
mov ecx, ebp
call fcn.005072af
push 0x4a4
add edi, 1
call fcn.004fae94
add esp, 4
mov dword [esp + 0x20], eax
test eax, eax
mov byte [esp + 0x70], 0x1c
je 0x4c2168
push eax
call fcn.004e4a70
jmp 0x4c216a
mov eax, dword [ebp + 0x60]
call fcn.004d8180
test eax, eax
je case.0x4c0fcc.5
push 0x100a
push 0
push 0x57bd08
push edi
push 9
mov ecx, ebp
call fcn.005072af
push 0x38c
add edi, 1
call fcn.004fae94
add esp, 4
mov dword [esp + 0x20], eax
test eax, eax
mov byte [esp + 0x70], 0x1d
je 0x4c2168
push eax
call fcn.0044f8f0
jmp 0x4c216a
mov ecx, dword [esp + 0x18]
push 0
push 0x5b1568
push 0x5ace98
push 0
push ecx
call fcn.00521e47
mov esi, eax
mov eax, dword [ebp + 0x60]
mov ecx, dword [eax + 0x100]
add esp, 0x14
test ecx, 0x1000
je 0x4c195a
test ecx, 0x82000000
jne 0x4c1914
mov edx, dword [eax + 0x108]
test dl, 6
jne 0x4c1914
mov ecx, dword [eax + 0x104]
test ecx, 0x2000000
je 0x4c18c1
push 0x102b
push 0
push str.SRS_PC_Sound
jmp 0x4c1920
test ecx, 0x10000000
je 0x4c18d7
push 0x102c
push 0
push str.SRS_Wide_3D_Sound
jmp 0x4c1920
test dl, 1
je 0x4c18ea
push 0x1083
push 0
push str.SRS_Premium_Sound_5.1
jmp 0x4c1920
test dword [eax + 0x10c], 0x400
mov ecx, ebp
je 0x4c1906
push 0x1085
push 0
push str.SRS_Premium_Voice_Pro
jmp 0x4c1922
push 0x1007
push 0
push str.SRS_Premium_Sound
jmp 0x4c1922
push 0xc5a
push 0
push 0x566d9c
mov ecx, ebp
push edi
push 9
call fcn.005072af
push 0x4dc
add edi, 1
call fcn.004fae94
add esp, 4
mov dword [esp + 0x20], eax
test eax, eax
mov byte [esp + 0x70], 0x1e
je 0x4c1202
push eax
call fcn.004d8f60
mov esi, eax
test esi, esi
jmp 0x4c216e
test byte [eax + 0x107], 1
mov ecx, ebp
je 0x4c1973
push 0x102d
push 0
push str.SRS_Premium_Surround_Sound
jmp 0x4c197f
push 0xc5a
push 0
push 0x566d9c
push edi
push 9
call fcn.005072af
mov ecx, dword [ebp + 0x60]
mov eax, dword [ecx + 0x100]
add edi, 1
test eax, 0x400
jne 0x4c1a38
test esi, esi
je 0x4c2255
test eax, 0x100
je 0x4c19b9
test dword [ecx + 0x104], 0x20000
jne 0x4c19c2
cmp dword [esi + 0xa0], 0
je 0x4c1a0b
push 0x580
call fcn.004fae94
mov esi, eax
add esp, 4
mov dword [esp + 0x20], esi
test esi, esi
mov byte [esp + 0x70], 0x1f
je 0x4c1a02
push esi
call fcn.004de460
mov dword [esi], vtable.CSrsPremiumSettingDlg2.0
mov dword [esi + 0x78], vtable.CSrsPremiumSettingDlg2.1.0
mov dword [esi + 0x57c], 0xffffffff
test esi, esi
jmp 0x4c216e
xor esi, esi
test esi, esi
jmp 0x4c216e
push 0x57c
call fcn.004fae94
add esp, 4
mov dword [esp + 0x20], eax
test eax, eax
mov byte [esp + 0x70], 0x20
je 0x4c1202
push eax
call fcn.004de460
mov esi, eax
test esi, esi
jmp 0x4c216e
push 0x3e8
call fcn.004fae94
add esp, 4
mov dword [esp + 0x20], eax
test eax, eax
mov byte [esp + 0x70], 0x21
je 0x4c1202
push eax
call fcn.004d99d0
mov esi, eax
test esi, esi
jmp 0x4c216e
push 0xc7d
push 0
push str.BBE_Sound
push edi
push 9
mov ecx, ebp
call fcn.005072af
push 0xc78
add edi, 1
call fcn.004fae94
add esp, 4
mov dword [esp + 0x20], eax
test eax, eax
mov byte [esp + 0x70], 0x22
je 0x4c2168
push eax
call fcn.00418870
jmp 0x4c216a
xor eax, eax
lea esp, [esp]
cmp dword [eax*8 + 0x561d50], 0xc
je 0x4c1b04
add eax, 1
cmp eax, 2
jb 0x4c1ab0
push 0xc82
push 0
push str.MaxxAudio
push edi
push 9
mov ecx, ebp
call fcn.005072af
push 0x90c
add edi, 1
call fcn.004fae94
add esp, 4
mov dword [esp + 0x20], eax
test eax, eax
mov byte [esp + 0x70], 0x23
je 0x4c2168
push eax
call fcn.00489280
jmp 0x4c216a
cmp eax, 2
jae 0x4c1ac2
push 0xc82
push eax
push str.MaxxAudio
push edi
push 0xb
jmp 0x4c1ad1
xor esi, esi
jmp 0x4c1b20
cmp dword [esi*8 + 0x561d50], 0xd
je 0x4c1b32
add esi, 1
cmp esi, 2
jb 0x4c1b20
cmp ebx, 0x11
lea ecx, [esp + 0x78]
je 0x4c1b4c
push str.MaxxAudio
call fcn.004049b0
mov eax, 0xc82
jmp 0x4c1b5b
push str.MaxxEQ
call fcn.004049b0
mov eax, 0xca9
cmp esi, 2
push eax
mov ecx, ebp
jae 0x4c1b6e
mov edx, dword [esp + 0x7c]
push esi
push edx
push edi
push 0xb
jmp 0x4c1b78
mov eax, dword [esp + 0x7c]
push 0
push eax
push edi
push 9
call fcn.005072af
lea eax, [ebx - 0xd]
add edi, 1
cmp eax, 0x11
ja case.0x4c1b93.14
movzx ecx, byte [eax + 0x4c2328]
jmp dword [ecx*4 + 0x4c2314]
push 0xad8
call fcn.004fae94
add esp, 4
mov dword [esp + 0x20], eax
test eax, eax
mov byte [esp + 0x70], 0x24
je 0x4c1c57
push eax
call fcn.00484f40
jmp 0x4c1c59
mov edx, dword [ebp + 0x60]
test byte [edx + 0x100], 8
je 0x4c1bf1
push 0x1ba4
call fcn.004fae94
add esp, 4
mov dword [esp + 0x20], eax
test eax, eax
mov byte [esp + 0x70], 0x25
je 0x4c1c57
push eax
call fcn.00482cc0
jmp 0x4c1c59
push 0x994
call fcn.004fae94
add esp, 4
mov dword [esp + 0x20], eax
test eax, eax
mov byte [esp + 0x70], 0x26
je 0x4c1c57
push eax
call fcn.00486560
jmp 0x4c1c59
push 0x43c
call fcn.004fae94
add esp, 4
mov dword [esp + 0x20], eax
test eax, eax
mov byte [esp + 0x70], 0x27
je 0x4c1c57
push eax
call fcn.004805a0
jmp 0x4c1c59
push 0xb90
call fcn.004fae94
add esp, 4
mov dword [esp + 0x20], eax
test eax, eax
mov byte [esp + 0x70], 0x28
je 0x4c1c57
push eax
call fcn.0047cc20
jmp 0x4c1c59
xor eax, eax
mov esi, eax
test esi, esi
mov byte [esp + 0x70], 1
jne 0x4c2179
mov dword [esp + 0x70], 0xffffffff
mov eax, dword [esp + 0x78]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4c1c90
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
xor eax, eax
jmp 0x4c223a
mov ecx, dword [ebp + 0x80]
call fcn.0047df10
test eax, eax
mov ecx, ebp
je 0x4c1cb6
push 0x10a1
push 0
push str.AudioWizard
jmp 0x4c1cc2
push 0xc82
push 0
push str.MaxxAudio
push edi
push 9
call fcn.005072af
push 0x1cc
add edi, 1
call fcn.004fae94
add esp, 4
mov dword [esp + 0x20], eax
test eax, eax
mov byte [esp + 0x70], 0x29
je 0x4c2168
push eax
call fcn.0047df40
jmp 0x4c216a
push 0xca6
push 0
push str.Creative
push edi
push 9
mov ecx, ebp
call fcn.005072af
push 0x318
add edi, 1
call fcn.004fae94
add esp, 4
mov dword [esp + 0x20], eax
test eax, eax
mov byte [esp + 0x70], 0x2a
je 0x4c2168
push eax
call fcn.0042c390
jmp 0x4c216a
push 0xfa3
push 0
push str.Sonic_Focus
push edi
push 9
mov ecx, ebp
call fcn.005072af
mov eax, dword [ebp + 0x80]
add edi, 1
test eax, eax
je 0x4c1d91
test dword [eax + 0x14], 0x400
je 0x4c1d91
push 0x220
call fcn.004fae94
add esp, 4
mov dword [esp + 0x20], eax
test eax, eax
mov byte [esp + 0x70], 0x2b
je 0x4c1202
push eax
call fcn.004cac50
mov esi, eax
test esi, esi
jmp 0x4c216e
push 1
push 0x5643cc
lea ecx, [esp + 0x28]
mov edx, esi
mov dword [esp + 0x28], 1
call fcn.004b5090
test eax, eax
mov eax, 1
je 0x4c1db8
mov eax, dword [esp + 0x20]
sub eax, 2
je 0x4c1dea
push 0xe30
call fcn.004fae94
add esp, 4
mov dword [esp + 0x20], eax
test eax, eax
mov byte [esp + 0x70], 0x2d
je 0x4c1202
push eax
call fcn.004cb690
mov esi, eax
test esi, esi
jmp 0x4c216e
push 0xb8c
call fcn.004fae94
add esp, 4
mov dword [esp + 0x20], eax
test eax, eax
mov byte [esp + 0x70], 0x2c
je 0x4c1202
push eax
call fcn.004cc940
mov esi, eax
test esi, esi
jmp 0x4c216e
mov eax, dword [ebp + 0x60]
mov ecx, dword [eax + 0xfc]
test ecx, 0x40000
je 0x4c1e52
mov edx, dword [eax + 0x104]
test dl, dl
jns 0x4c1e52
test ecx, 0x80000
je 0x4c1e52
test dword [eax + 0x100], 0x80000
je 0x4c1e52
test edx, 0x2000
jne case.0x4c0fcc.5
mov esi, dword [esp + 0x18]
call fcn.004c9160
test eax, eax
je case.0x4c0fcc.5
mov eax, dword [esi + 0x30]
sub eax, 1
jne case.0x4c0fcc.5
push 0xfa3
push eax
push str.Sonic_Focus
push edi
push 9
mov ecx, ebp
call fcn.005072af
push 0xd60
add edi, 1
call fcn.004fae94
add esp, 4
mov dword [esp + 0x20], eax
test eax, eax
mov byte [esp + 0x70], 0x2e
je 0x4c2168
push eax
call fcn.004c95c0
jmp 0x4c216a
push 0x1008
push 0
push str.BassBack_EXP
push edi
push 9
mov ecx, ebp
call fcn.005072af
push 0x70c
add edi, 1
call fcn.004fae94
add esp, 4
mov dword [esp + 0x20], eax
test eax, eax
mov byte [esp + 0x70], 0x2f
je 0x4c2168
push eax
call fcn.00416ff0
jmp 0x4c216a
push 0x1006
push 0
push str.OmniSound_EXP
push edi
push 9
mov ecx, ebp
call fcn.005072af
push 0x728
add edi, 1
call fcn.004fae94
add esp, 4
mov dword [esp + 0x20], eax
test eax, eax
mov byte [esp + 0x70], 0x30
je 0x4c2168
push eax
call fcn.004aa540
jmp 0x4c216a
push 0x1005
push 0
push str.SounzReal_EXP
push edi
push 9
mov ecx, ebp
call fcn.005072af
push 0xca8
add edi, 1
call fcn.004fae94
add esp, 4
mov dword [esp + 0x20], eax
test eax, eax
mov byte [esp + 0x70], 0x31
je 0x4c2168
push eax
call fcn.004ce7f0
jmp 0x4c216a
push 0xda4
push 0
push str.Knowles_Enhancements
push edi
push 9
mov ecx, ebp
call fcn.005072af
push 0x884
add edi, 1
call fcn.004fae94
add esp, 4
mov dword [esp + 0x20], eax
test eax, eax
mov byte [esp + 0x70], 0x32
je 0x4c2168
push eax
call fcn.00473720
jmp 0x4c216a
mov eax, dword [ebp + 0x60]
call fcn.0040f7b0
test eax, eax
je 0x4c2255
push 0x1056
push 0
push str.PCEE4__DTS_UltraPC
push edi
push 9
mov ecx, ebp
call fcn.005072af
push 0x4c8
add edi, 1
call fcn.004fae94
add esp, 4
mov dword [esp + 0x20], eax
test eax, eax
mov byte [esp + 0x70], 0x33
je 0x4c2168
push eax
call fcn.00444e10
jmp 0x4c216a
push 0x1086
push 0
push str.CONEQ
push edi
push 9
mov ecx, ebp
call fcn.005072af
push 0x758
add edi, 1
call fcn.004fae94
add esp, 4
mov dword [esp + 0x20], eax
test eax, eax
mov byte [esp + 0x70], 0x34
je 0x4c2168
push eax
call fcn.00429900
jmp 0x4c216a
push 0x10a4
xor ebx, ebx
push ebx
push str.Yamaha
push edi
push 9
mov ecx, ebp
call fcn.005072af
push 0x1cc
add edi, 1
call fcn.004fae94
mov esi, eax
add esp, 4
mov dword [esp + 0x20], esi
cmp esi, ebx
mov byte [esp + 0x70], 0x35
je 0x4c20ae
push esi
call fcn.004bec90
mov dword [esi], vtable.CYamahaApoSettingDlg.0
mov dword [esi + 0x78], vtable.CYamahaApoSettingDlg.1.0
mov dword [esi + 0x1c0], ebx
mov dword [esi + 0x1c8], ebx
mov dword [esi + 0x1c4], ebx
cmp esi, ebx
jmp 0x4c216e
xor esi, esi
cmp esi, ebx
jmp 0x4c216e
push 0x10a1
push 0
push str.AudioWizard
push edi
push 9
mov ecx, ebp
call fcn.005072af
push 0x324
add edi, 1
call fcn.004fae94
add esp, 4
mov dword [esp + 0x20], eax
test eax, eax
mov byte [esp + 0x70], 0x36
je 0x4c2168
push eax
call fcn.00410d90
jmp 0x4c216a
push 0x917
push 0
push 0x57c02c
push edi
push 9
mov ecx, ebp
call fcn.005072af
push 0xa48
add edi, 1
call fcn.004fae94
add esp, 4
mov dword [esp + 0x20], eax
test eax, eax
mov byte [esp + 0x70], 0x37
je 0x4c2168
push eax
call fcn.0048bab0
jmp 0x4c216a
push 0x917
push 0
push str.AudioWizard
push edi
push 9
mov ecx, ebp
call fcn.005072af
push 0xb08
add edi, 1
call fcn.004fae94
add esp, 4
mov dword [esp + 0x20], eax
test eax, eax
mov byte [esp + 0x70], 0x38
je 0x4c2168
push eax
call fcn.0042a450
jmp 0x4c216a
xor eax, eax
test eax, eax
mov esi, eax
mov byte [esp + 0x70], 1
je 0x4c2255
push esi
lea ecx, [ebp + 0x64]
call fcn.00503381
mov eax, dword [ebp + 0x60]
mov edx, dword [esi]
mov edx, dword [edx + 0x160]
mov dword [esi + 0x84], eax
mov eax, dword [esp + 0x18]
push eax
mov ecx, esi
call edx
mov eax, dword [ebp + 0x20]
push eax
call dword [sym.imp.USER32.dll_GetParent]
push eax
call fcn.004fd874
lea ebx, [esp + 0x24]
call fcn.00421940
test eax, eax
je case.0x4c1b93.14
mov dword [esp + 0x70], 0xffffffff
mov eax, dword [esp + 0x78]
add eax, 0xfffffff0
or edx, 0xffffffff
lea ecx, [eax + 0xc]
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4c21e5
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
cmp dword [esp + 0x1c], 0
jne 0x4c0f70
mov esi, dword [sym.imp.USER32.dll_SendMessageW]
mov eax, ebp
call fcn.004c2660
mov ecx, dword [ebp + 0x20]
push 0
push 0
push 0x1304
push ecx
call esi
test eax, eax
push 0
jle 0x4c2221
mov edx, dword [ebp + 0x20]
push 0
push 0x130c
push edx
call esi
push 5
mov ecx, ebp
call fcn.00501947
mov ecx, dword [ebp + 0x54]
mov edx, dword [ecx]
lea eax, [ebp + 0x54]
push 0
push eax
call edx
mov eax, 1
mov ecx, dword [esp + 0x68]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x60
ret 8
call fcn.00504221
lea ecx, [esp + 0x78]
call fcn.00401640
xor eax, eax
jmp 0x4c223a