Function at 0x40d9b0
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x4106f8
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x38
push ebx
lea ecx, [esp + 0x30]
call fcn.0040cdc0
xor ebx, ebx
push 0x415888
lea ecx, [esp + 0xc]
mov dword [esp + 0x48], ebx
mov dword [esp + 0x1c], ebx
call sub.MFC42.DLL_CString::CString
push str.SoftwareSony_CorporationHotKey_UtilityMegaBass
push 0x80000001
lea ecx, [esp + 0x38]
mov byte [esp + 0x4c], 1
call fcn.0040ce50
test eax, eax
jne 0x40debf
lea eax, [esp + 0x18]
lea ecx, [esp + 0x30]
push eax
push str.MegaBassEnable
call fcn.0040cf30
test eax, eax
je 0x40da38
push ebx
push str.MegaBassEnable
lea ecx, [esp + 0x38]
call fcn.0040cee0
test eax, eax
jne 0x40debf
push 0x190
lea ecx, [esp + 0x10]
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 8]
mov byte [esp + 0x44], 2
push ecx
push str.MegaBassPresetSelect
lea ecx, [esp + 0x38]
call fcn.0040cf70
test eax, eax
je 0x40da7d
mov edx, dword [esp + 0xc]
lea ecx, [esp + 0x30]
push edx
push str.MegaBassPresetSelect
call fcn.0040cf00
test eax, eax
jne 0x40deb1
lea ecx, [esp + 4]
call sub.MFC42.DLL_CString::CString_1
push 0x415580
lea ecx, [esp + 0x28]
mov byte [esp + 0x48], 3
call sub.MFC42.DLL_CString::CString
push eax
lea eax, [esp + 0x24]
push str.SoftwareSony_CorporationHotKey_UtilityMegaBass
push eax
mov byte [esp + 0x50], 4
call sub.MFC42.DLL_operator_1
lea ecx, [esp + 0xc]
lea edx, [esp + 0x1c]
push ecx
push eax
push edx
mov byte [esp + 0x50], 5
call sub.MFC42.DLL_operator_2
push eax
lea ecx, [esp + 8]
mov byte [esp + 0x48], 6
call sub.MFC42.DLL_CString::operator_1
lea ecx, [esp + 0x1c]
mov byte [esp + 0x44], 5
call fcn.0040f290
lea ecx, [esp + 0x20]
mov byte [esp + 0x44], 4
call fcn.0040f290
lea ecx, [esp + 0x24]
mov byte [esp + 0x44], 3
call fcn.0040f290
mov eax, dword [esp + 4]
lea ecx, [esp + 0x30]
push eax
push 0x80000001
call fcn.0040ce50
test eax, eax
jne 0x40dea3
push ebx
push str.Changeable
lea ecx, [esp + 0x38]
call fcn.0040cee0
test eax, eax
jne 0x40dea3
push ebx
push str.Treble
lea ecx, [esp + 0x38]
call fcn.0040cee0
test eax, eax
jne 0x40dea3
push 3
push str.Bass
lea ecx, [esp + 0x38]
call fcn.0040cee0
test eax, eax
jne 0x40dea3
push 0x191
lea ecx, [esp + 0x14]
call sub.MFC42.DLL_CString::CString
push 0x415580
lea ecx, [esp + 0x20]
mov byte [esp + 0x48], 7
call sub.MFC42.DLL_CString::CString
push eax
lea ecx, [esp + 0x24]
push str.SoftwareSony_CorporationHotKey_UtilityMegaBass
push ecx
mov byte [esp + 0x50], 8
call sub.MFC42.DLL_operator_1
lea edx, [esp + 0x10]
mov byte [esp + 0x44], 9
push edx
push eax
lea eax, [esp + 0x2c]
push eax
call sub.MFC42.DLL_operator_2
push eax
lea ecx, [esp + 8]
mov byte [esp + 0x48], 0xa
call sub.MFC42.DLL_CString::operator_1
lea ecx, [esp + 0x24]
mov byte [esp + 0x44], 9
call fcn.0040f290
lea ecx, [esp + 0x20]
mov byte [esp + 0x44], 8
call fcn.0040f290
lea ecx, [esp + 0x1c]
mov byte [esp + 0x44], 7
call fcn.0040f290
mov ecx, dword [esp + 4]
push ecx
push 0x80000001
lea ecx, [esp + 0x38]
call fcn.0040ce50
test eax, eax
jne 0x40de95
push ebx
push str.Changeable
lea ecx, [esp + 0x38]
call fcn.0040cee0
test eax, eax
jne 0x40de95
push ebx
push str.Treble
lea ecx, [esp + 0x38]
call fcn.0040cee0
test eax, eax
jne 0x40de95
push 7
push str.Bass
lea ecx, [esp + 0x38]
call fcn.0040cee0
test eax, eax
jne 0x40de95
push 0x1f3
lea ecx, [esp + 0x18]
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], ebx
call sub.MFC42.DLL_CString::CString
push 0x415580
lea ecx, [esp + 0x20]
mov byte [esp + 0x48], 0xb
call sub.MFC42.DLL_CString::CString
push eax
lea edx, [esp + 0x24]
push str.SoftwareSony_CorporationHotKey_UtilityMegaBass
push edx
mov byte [esp + 0x50], 0xc
call sub.MFC42.DLL_operator_1
lea ecx, [esp + 0x14]
lea edx, [esp + 0x24]
push ecx
push eax
push edx
mov byte [esp + 0x50], 0xd
call sub.MFC42.DLL_operator_2
push eax
lea ecx, [esp + 8]
mov byte [esp + 0x48], 0xe
call sub.MFC42.DLL_CString::operator_1
lea ecx, [esp + 0x24]
mov byte [esp + 0x44], 0xd
call fcn.0040f290
lea ecx, [esp + 0x20]
mov byte [esp + 0x44], 0xc
call fcn.0040f290
lea ecx, [esp + 0x1c]
mov byte [esp + 0x44], 0xb
call fcn.0040f290
mov eax, dword [esp + 4]
lea ecx, [esp + 0x30]
push eax
push 0x80000001
call fcn.0040ce50
test eax, eax
je 0x40dd4d
lea ecx, [esp + 0x14]
mov byte [esp + 0x44], 7
call fcn.0040f290
lea ecx, [esp + 0x10]
mov byte [esp + 0x44], 3
call fcn.0040f290
lea ecx, [esp + 4]
mov byte [esp + 0x44], 2
call fcn.0040f290
lea ecx, [esp + 0xc]
mov byte [esp + 0x44], 1
call fcn.0040f290
lea ecx, [esp + 8]
mov byte [esp + 0x44], bl
call fcn.0040f290
lea ecx, [esp + 0x30]
mov dword [esp + 0x44], 0xffffffff
call fcn.0040ce00
xor eax, eax
pop ebx
mov ecx, dword [esp + 0x38]
mov dword fs:[0], ecx
add esp, 0x44
ret
push 1
push str.Changeable
lea ecx, [esp + 0x38]
call fcn.0040cee0
test eax, eax
je 0x40ddc9
lea ecx, [esp + 0x14]
mov byte [esp + 0x44], 7
call fcn.0040f290
lea ecx, [esp + 0x10]
mov byte [esp + 0x44], 3
call fcn.0040f290
lea ecx, [esp + 4]
mov byte [esp + 0x44], 2
call fcn.0040f290
lea ecx, [esp + 0xc]
mov byte [esp + 0x44], 1
call fcn.0040f290
lea ecx, [esp + 8]
mov byte [esp + 0x44], bl
call fcn.0040f290
lea ecx, [esp + 0x30]
mov dword [esp + 0x44], 0xffffffff
call fcn.0040ce00
xor eax, eax
pop ebx
mov ecx, dword [esp + 0x38]
mov dword fs:[0], ecx
add esp, 0x44
ret
lea ecx, [esp + 0x28]
push ecx
push str.Treble
lea ecx, [esp + 0x38]
call fcn.0040cf30
test eax, eax
je 0x40de5c
push 3
push str.Treble
lea ecx, [esp + 0x38]
call fcn.0040cee0
test eax, eax
je 0x40de5c
lea ecx, [esp + 0x14]
mov byte [esp + 0x44], 7
call fcn.0040f290
lea ecx, [esp + 0x10]
mov byte [esp + 0x44], 3
call fcn.0040f290
lea ecx, [esp + 4]
mov byte [esp + 0x44], 2
call fcn.0040f290
lea ecx, [esp + 0xc]
mov byte [esp + 0x44], 1
call fcn.0040f290
lea ecx, [esp + 8]
mov byte [esp + 0x44], bl
call fcn.0040f290
lea ecx, [esp + 0x30]
mov dword [esp + 0x44], 0xffffffff
call fcn.0040ce00
xor eax, eax
pop ebx
mov ecx, dword [esp + 0x38]
mov dword fs:[0], ecx
add esp, 0x44
ret
lea edx, [esp + 0x2c]
lea ecx, [esp + 0x30]
push edx
push str.Bass
call fcn.0040cf30
test eax, eax
je 0x40deef
push 3
push str.Bass
lea ecx, [esp + 0x38]
call fcn.0040cee0
test eax, eax
je 0x40deef
lea ecx, [esp + 0x14]
mov byte [esp + 0x44], 7
call fcn.0040f290
lea ecx, [esp + 0x10]
mov byte [esp + 0x44], 3
call fcn.0040f290
lea ecx, [esp + 4]
mov byte [esp + 0x44], 2
call fcn.0040f290
lea ecx, [esp + 0xc]
mov byte [esp + 0x44], 1
call fcn.0040f290
lea ecx, [esp + 8]
mov byte [esp + 0x44], bl
call fcn.0040f290
lea ecx, [esp + 0x30]
mov dword [esp + 0x44], 0xffffffff
call fcn.0040ce00
xor eax, eax
pop ebx
mov ecx, dword [esp + 0x38]
mov dword fs:[0], ecx
add esp, 0x44
ret
lea ecx, [esp + 0x14]
mov byte [esp + 0x44], 7
call fcn.0040f290
lea ecx, [esp + 0x10]
mov byte [esp + 0x44], 3
call fcn.0040f290
lea ecx, [esp + 4]
mov byte [esp + 0x44], 2
call fcn.0040f290
lea ecx, [esp + 0xc]
mov byte [esp + 0x44], 1
call fcn.0040f290
lea ecx, [esp + 8]
mov byte [esp + 0x44], bl
call fcn.0040f290
lea ecx, [esp + 0x30]
mov dword [esp + 0x44], 0xffffffff
call fcn.0040ce00
mov ecx, dword [esp + 0x3c]
mov eax, 1
pop ebx
mov dword fs:[0], ecx
add esp, 0x44
ret