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

Disassembly:
push 0xffffffffffffffff
push 0x4538bb
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x6c
push ebx
push esi
push edi
mov edi, dword [ecx + 0x408]
xor ebx, ebx
mov dword [esp + 0x34], ecx
lea esi, [edi + 0xdc]
mov dword [edi + 0xd8], ebx
push 0xa
lea ecx, [esp + 0x60]
mov dword [esp + 0x18], edi
mov dword [esp + 0x3c], esi
mov dword [esi], ebx
call sub.MFC42.DLL_CObList::CObList
mov dword [esp + 0x5c], 0x4596e8
push 0xa
lea ecx, [esp + 0x44]
mov dword [esp + 0x84], ebx
call sub.MFC42.DLL_CObList::CObList
mov dword [esp + 0x40], 0x4596d0
lea ecx, [esp + 0x40]
mov byte [esp + 0x80], 1
call fcn.00401110
lea ecx, [esp + 0x5c]
call fcn.004013c0
mov eax, dword [esp + 0x68]
cmp eax, ebx
mov dword [esp + 0x18], eax
jne 0x429641
lea ecx, [esp + 0x5c]
call fcn.00401390
lea ecx, [esp + 0x40]
mov byte [esp + 0x80], bl
call fcn.0044e4b6
lea ecx, [esp + 0x5c]
mov dword [esp + 0x80], 0xffffffff
call fcn.0044e4b6
xor eax, eax
mov ecx, dword [esp + 0x78]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
add esp, 0x78
ret
cmp eax, 1
push ebp
jle 0x42964f
mov dword [esp + 0x1c], 1
lea ecx, [esp + 0x10]
call sub.MFC42.DLL_CString::CString_2
lea ecx, [esp + 0x20]
mov byte [esp + 0x84], 2
call sub.MFC42.DLL_CString::CString_2
lea ecx, [esp + 0x14]
mov byte [esp + 0x84], 3
call sub.MFC42.DLL_CString::CString_2
mov eax, dword [esp + 0x1c]
xor ebp, ebp
cmp eax, ebx
mov byte [esp + 0x84], 4
jle 0x42997c
mov dword [esp + 0x2c], esi
jmp 0x429698
xor ebx, ebx
push 0x118
call sub.MFC42.DLL_operatornew
add esp, 4
mov dword [esp + 0x24], eax
cmp eax, ebx
mov byte [esp + 0x84], 5
je 0x4296c5
push ebp
mov ecx, eax
call fcn.00401620
mov ebx, eax
mov dword [esp + 0x24], ebx
jmp 0x4296c9
mov dword [esp + 0x24], ebx
test ebx, ebx
mov byte [esp + 0x84], 4
je 0x42980e
lea eax, [ebp + 1]
lea ecx, [esp + 0x20]
push eax
push str.GUID_d
push ecx
call sub.MFC42.DLL_CString::Format
mov edx, dword [esp + 0x2c]
add esp, 0xc
lea eax, [esp + 0x30]
mov ecx, edi
push 0
push edx
push str.Settings
push eax
call sub.MFC42.DLL_CWinApp::GetProfileStringA
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x88], 6
call fcn.0044df1c
lea ecx, [esp + 0x30]
mov byte [esp + 0x84], 4
call sub.MFC42.DLL_CString::CString
mov eax, dword [esp + 0x10]
mov esi, 0x47c7c0
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x429757
test cl, cl
je 0x429753
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x429757
add eax, 2
add esi, 2
test cl, cl
jne 0x429733
xor eax, eax
jmp 0x42975c
sbb eax, eax
sbb eax, 0xffffffff
xor ecx, ecx
test eax, eax
setne cl
test cl, cl
je 0x4297be
push ecx
lea edx, [esp + 0x14]
mov ecx, esp
mov dword [esp + 0x44], esp
push edx
call sub.MFC42.DLL_CString::CString_1
lea ecx, [esp + 0x64]
call fcn.004013e0
test eax, eax
je 0x4297ae
mov edx, dword [eax]
lea ecx, [ebx + 0x14]
mov dword [ebx + 0x14], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
lea ecx, [esp + 0x10]
push ecx
lea ecx, [ebx + 0x24]
call fcn.0044df1c
jmp 0x42980e
push 0x47c7c0
lea ecx, [esp + 0x14]
call sub.MFC42.DLL_CString::operator_2
jmp 0x42980e
lea edx, [esp + 0x10]
lea ecx, [esp + 0x60]
push edx
push ebp
call fcn.00401490
test eax, eax
je 0x42980e
mov edx, dword [eax]
lea ecx, [ebx + 0x14]
mov dword [ebx + 0x14], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
lea ecx, [esp + 0x10]
push ecx
lea ecx, [ebx + 0x24]
call fcn.0044df1c
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x20]
push edx
push eax
push str.Settings
mov ecx, edi
call sub.MFC42.DLL_CWinApp::WriteProfileStringA
lea ebx, [ebp + 1]
lea ecx, [esp + 0x14]
push ebx
push str.MIXER_d
push ecx
call sub.MFC42.DLL_CString::Format
mov edx, dword [esp + 0x20]
add esp, 0xc
lea eax, [esp + 0x28]
mov ecx, edi
push 0
push edx
push str.Settings
push eax
call sub.MFC42.DLL_CWinApp::GetProfileStringA
mov eax, dword [esp + 0x28]
mov byte [esp + 0x84], 7
or edi, 0xffffffff
mov esi, 0x47c7c0
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x429874
test cl, cl
je 0x429870
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x429874
add eax, 2
add esi, 2
test cl, cl
jne 0x429850
xor eax, eax
jmp 0x429879
sbb eax, eax
sbb eax, 0xffffffff
xor ecx, ecx
test eax, eax
setne cl
test cl, cl
je 0x4298a0
push ecx
lea edx, [esp + 0x2c]
mov ecx, esp
mov dword [esp + 0x44], esp
push edx
call sub.MFC42.DLL_CString::CString_1
lea ecx, [esp + 0x48]
call fcn.004012e0
mov edi, eax
cmp edi, 0xffffffff
jne 0x429934
push ecx
lea eax, [esp + 0x14]
mov ecx, esp
mov dword [esp + 0x44], esp
push eax
call sub.MFC42.DLL_CString::CString_1
lea ecx, [esp + 0x48]
call fcn.004012e0
xor ecx, ecx
cmp eax, edi
setne cl
mov edi, ecx
test edi, edi
je 0x4298ea
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
push edx
push eax
push str.Settings
call sub.MFC42.DLL_CWinApp::WriteProfileStringA
jmp 0x429934
push ebp
lea ecx, [esp + 0x48]
call fcn.00401240
lea ecx, [esp + 0x34]
push ebp
push ecx
lea ecx, [esp + 0x4c]
mov edi, eax
call fcn.00401280
mov edx, dword [eax]
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
push edx
push eax
push str.Settings
mov byte [esp + 0x90], 8
call sub.MFC42.DLL_CWinApp::WriteProfileStringA
lea ecx, [esp + 0x34]
mov byte [esp + 0x84], 7
call sub.MFC42.DLL_CString::CString
mov ecx, dword [esp + 0x38]
push edi
mov edi, dword [esp + 0x28]
mov edx, dword [ecx + 0x20]
mov ecx, edi
push edx
call fcn.00401840
mov esi, dword [esp + 0x2c]
lea ecx, [esp + 0x28]
mov byte [esp + 0x84], 4
mov dword [esi], edi
call sub.MFC42.DLL_CString::CString
mov eax, dword [esp + 0x1c]
mov edi, dword [esp + 0x18]
mov ebp, ebx
add esi, 4
cmp ebp, eax
mov dword [esp + 0x2c], esi
jl 0x429696
mov esi, dword [esp + 0x3c]
lea ecx, [esp + 0x60]
call fcn.00401390
lea ecx, [esp + 0x44]
call fcn.00401390
mov ecx, dword [esp + 0x1c]
mov eax, dword [esi]
mov dword [edi + 0xe0], ecx
lea ecx, [esp + 0x14]
mov dword [edi + 0xd8], eax
mov byte [esp + 0x84], 3
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x20]
mov byte [esp + 0x84], 2
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x10]
mov byte [esp + 0x84], 1
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x44]
mov byte [esp + 0x84], 0
call fcn.0044e4b6
lea ecx, [esp + 0x60]
mov dword [esp + 0x84], 0xffffffff
call fcn.0044e4b6
mov ecx, dword [esp + 0x7c]
pop ebp
pop edi
pop esi
mov eax, 1
mov dword fs:[0], ecx
pop ebx
add esp, 0x78
ret