Function at 0x1020a36
Capabilities:
Read .ini file

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x10
push edi
call dword [sym.imp.WINMM.dll_waveOutGetNumDevs]
xor edi, edi
cmp eax, edi
mov dword [ebp - 4], eax
jne 0x1020a55
xor eax, eax
jmp 0x1020d8f
push esi
mov esi, dword [ebp + 8]
test byte [esi + 3], 4
je 0x1020a80
push esi
call fcn.0101f36b
test eax, eax
je 0x1020a80
push edi
push edi
push esi
push edi
push dword [0x1027be0]
call fcn.01020615
xor eax, eax
inc eax
jmp 0x1020d8e
test byte [esi + 2], 0x80
mov esi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
push ebx
mov ebx, dword [0x1027be0]
mov edi, 0x1025850
je 0x1020aa4
mov eax, dword [ebp + 8]
movzx eax, word [eax + 0x14]
add ebx, 0x18
jmp 0x1020ab6
push edi
push 0
push 0x1003274
push 0x100326c
add ebx, 0x18
call esi
mov dword [ebx], eax
mov eax, dword [ebp - 4]
cmp dword [ebx], eax
jb 0x1020ac2
and dword [ebx], 0
mov eax, dword [0x1027be0]
push 0x34
add eax, 0x7c
push eax
push dword [ebx]
call dword [sym.imp.WINMM.dll_waveOutGetDevCapsA]
test eax, eax
mov ebx, dword [sym.imp.KERNEL32.dll_lstrcpyA]
jne 0x1020af3
mov eax, dword [0x1027be0]
add eax, 0x84
push eax
call fcn.0101f0d4
test eax, eax
jne 0x1020b05
mov eax, dword [0x1027be0]
push 0x100329c
add eax, 0x84
push eax
call ebx
mov eax, dword [0x1027be0]
push 0x60
lea ecx, [eax + 0x1c]
push ecx
push dword [eax + 0x18]
call fcn.0101f25c
test eax, eax
jne 0x1020b43
call fcn.0101f20f
push eax
mov eax, dword [0x1027be0]
add eax, 0x1c
push eax
call ebx
mov eax, dword [0x1027be0]
lea ecx, [eax + 0x84]
push ecx
add eax, 0x1c
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
push edi
push 1
push 0x1002ed8
mov ebx, 0x10028dc
push ebx
call esi
mov dword [ebp - 4], eax
mov eax, dword [0x1027be0]
push edi
push dword [eax + 0x18]
call fcn.0101d0a5
push eax
push 0x1002ecc
push ebx
call esi
push edi
push 3
push 0x1002ef0
push ebx
mov dword [ebp - 8], eax
call esi
push edi
push 0xb
push 0x1002efc
push ebx
mov dword [ebp - 0xc], eax
call esi
mov dword [ebp - 0x10], eax
mov eax, dword [0x1027be0]
test byte [eax + 0xac], 0x10
je 0x1020bd4
cmp dword [0x1027be4], 0
je 0x1020bcd
add eax, 0x84
push eax
push 0x10032f0
mov esi, str.WaveMix_V_2.3_by_Angel_M._Diaz__Jr.__c__Microsoft_1993_1995
push esi
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
push 0x40
push 0x10028d0
push esi
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
xor eax, eax
jmp 0x1020d8d
push edi
push 0
add eax, 0x1c
push eax
push 0x10032e0
call esi
test eax, eax
je 0x1020bff
cmp dword [0x1027be4], 0
je 0x1020bcd
mov eax, dword [0x1027be0]
add eax, 0x1c
push eax
push 0x10032ac
jmp 0x1020bae
mov eax, dword [0x1027be0]
push edi
push dword [ebp - 4]
add eax, 0x1c
push 0x1002ed8
push eax
call esi
cmp eax, 2
mov ecx, 0x101ddd8
je 0x1020c22
mov ecx, 0x101dde8
mov eax, dword [0x1027be0]
push edi
push dword [ebp - 8]
mov dword [eax + 0x1b0], ecx
push 0x1002ecc
add eax, 0x1c
push eax
call esi
mov ecx, eax
mov eax, dword [0x1027be0]
neg ecx
push edi
push dword [ebp - 0xc]
sbb ecx, ecx
neg ecx
mov dword [eax + 0x1a4], ecx
push 0x1002ef0
add eax, 0x1c
push eax
call esi
mov ecx, dword [0x1027be0]
push 2
pop edx
cmp eax, edx
mov dword [ecx + 0x190], eax
jl 0x1020c78
push 0xa
pop edx
cmp eax, edx
jle 0x1020c7e
mov dword [ecx + 0x190], edx
push edi
push dword [ecx + 0x190]
call fcn.0101d079
push eax
mov eax, dword [0x1027be0]
push 0x1002eac
add eax, 0x1c
push eax
call esi
test eax, eax
mov ecx, dword [0x1027be0]
mov dword [ecx + 0x194], eax
jge 0x1020cb4
and dword [ecx + 0x194], 0
jmp 0x1020cc4
mov edx, dword [ecx + 0x190]
cmp eax, edx
jle 0x1020cc4
mov dword [ecx + 0x194], edx
push edi
push dword [ebp - 0x10]
add ecx, 0x1c
push 0x1002efc
push ecx
call esi
push edi
mov dword [ebp - 4], eax
mov eax, dword [0x1027be0]
push 1
push 0x1002f0c
add eax, 0x1c
push eax
call esi
cmp ax, 1
mov ecx, dword [0x1027be0]
mov word [ecx + 0x17e], ax
jae 0x1020d07
mov word [ecx + 0x17e], 1
jmp 0x1020d16
cmp ax, 2
jbe 0x1020d16
mov word [ecx + 0x17e], 2
cmp dword [ebp - 4], 0x16
movzx eax, word [ecx + 0x17e]
je 0x1020d43
cmp dword [ebp - 4], 0x2c
je 0x1020d31
imul eax, eax, 0x2b11
jmp 0x1020d53
mov dword [ecx + 0x180], 0xac44
imul eax, eax, 0xac44
jmp 0x1020d53
mov dword [ecx + 0x180], 0x5622
imul eax, eax, 0x5622
push edi
xor edi, edi
push edi
push 0x1002ee0
push ebx
mov dword [ecx + 0x184], eax
call esi
mov esi, dword [0x1027be0]
lea ecx, [esi + 0x17c]
push ecx
push eax
call fcn.0101f093
push edi
push edi
push dword [ebp + 8]
mov dword [esi + 0x18c], eax
push edi
push esi
call fcn.01020615
xor eax, eax
inc eax
pop ebx
pop esi
pop edi
leave
ret 4