Function at 0x407ef0
Capabilities:
Print debug messages

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x328
mov eax, dword [0x536260]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, dword [ebp + 8]
mov ebx, ecx
mov dword [ebp - 0x308], esi
cmp dword [esi], 0x18
jne 0x407f21
mov byte [ebx + 0x19d], 1
jmp 0x408917
cmp dword [esi], 0x17
jne 0x407f32
mov byte [ebx + 0x19d], 0
jmp 0x408917
cmp dword [esi], 0xd
push edi
mov edi, dword [sym.imp.USER32.dll_SetCursor]
jne 0x4080f1
cmp byte [ebx + 0x11c2c], 1
jne 0x407f9c
cmp dword [ebx + 0x11c28], 0xffffffff
je 0x407f9c
push dword [esi + 0x10]
lea eax, [ebx + 0x11c04]
push dword [esi + 0xc]
push eax
call dword [sym.imp.USER32.dll_PtInRect]
test eax, eax
jne 0x407f82
push dword [esi + 0x10]
lea eax, [ebx + 0x11c14]
push dword [esi + 0xc]
push eax
call dword [sym.imp.USER32.dll_PtInRect]
test eax, eax
je 0x407f9c
push 0x7f84
push 0
call dword [sym.imp.USER32.dll_LoadCursorW]
push eax
call edi
mov dword [ebx + 0x11c24], 2
cmp dword [ebx + 0x11c24], 2
je 0x40805c
xor eax, eax
mov dword [ebp - 0x310], eax
cmp dword [ebx + 0x10888], eax
jl 0x40805c
lea ecx, [ebx + 0x10984]
mov dword [ebp - 0x31c], ecx
push dword [esi + 0x10]
push dword [esi + 0xc]
push ecx
call dword [sym.imp.USER32.dll_PtInRect]
test eax, eax
jne 0x408000
mov eax, dword [ebp - 0x310]
mov ecx, dword [ebp - 0x31c]
inc eax
add ecx, 0x10
mov dword [ebp - 0x310], eax
mov dword [ebp - 0x31c], ecx
cmp eax, dword [ebx + 0x10888]
jle 0x407fc9
jmp 0x40805c
cmp byte [ebx + 0x11c2c], 0
je 0x408010
push 0x7f86
jmp 0x408015
push 0x7f85
push 0
call dword [sym.imp.USER32.dll_LoadCursorW]
push eax
call edi
mov eax, dword [ebp - 0x310]
push eax
mov dword [ebx + 0x11c28], eax
lea eax, [ebp - 0x104]
push 0x4f53a0
push eax
mov dword [ebx + 0x11c24], 1
call fcn.00405c58
mov eax, dword [ebx]
lea ecx, [ebp - 0x104]
add esp, 0xc
push ecx
mov ecx, ebx
call dword [eax + 0xe8]
mov eax, dword [ebx + 0x11c24]
cmp eax, 2
je 0x4080a4
cmp eax, 1
je 0x4080a4
push dword [esi + 0x10]
lea eax, [ebx + 0x11cb4]
push dword [esi + 0xc]
push eax
call dword [sym.imp.USER32.dll_PtInRect]
test eax, eax
je 0x4080a4
push 0x7f84
push 0
call dword [sym.imp.USER32.dll_LoadCursorW]
push eax
call edi
or dword [ebx + 0x11c28], 0xffffffff
mov dword [ebx + 0x11c24], 3
mov eax, dword [ebx + 0x11c24]
cmp eax, 2
je 0x4080f1
cmp eax, 1
je 0x4080f1
cmp eax, 3
je 0x4080f1
push dword [esi + 0x10]
lea eax, [ebx + 0x11cc4]
push dword [esi + 0xc]
push eax
call dword [sym.imp.USER32.dll_PtInRect]
test eax, eax
je 0x4080f1
push 0x7f84
push 0
call dword [sym.imp.USER32.dll_LoadCursorW]
push eax
call edi
or dword [ebx + 0x11c28], 0xffffffff
mov dword [ebx + 0x11c24], 4
cmp dword [esi], 9
jne 0x408625
cmp dword [ebx + 0x11c24], 0
jne 0x408250
and dword [ebp - 0x310], 0
cmp dword [ebx + 0x10888], 0
jle 0x4081c2
lea ecx, [ebx + 0x10984]
mov dword [ebp - 0x31c], ecx
push dword [esi + 0x10]
push dword [esi + 0xc]
push ecx
call dword [sym.imp.USER32.dll_PtInRect]
test eax, eax
jne 0x40815e
mov eax, dword [ebp - 0x310]
mov ecx, dword [ebp - 0x31c]
inc eax
add ecx, 0x10
mov dword [ebp - 0x310], eax
mov dword [ebp - 0x31c], ecx
cmp eax, dword [ebx + 0x10888]
jl 0x408127
jmp 0x4081c2
push 0x7f89
push 0
call dword [sym.imp.USER32.dll_LoadCursorW]
push eax
call edi
mov eax, dword [ebp - 0x310]
cmp dword [ebx + 0x11c28], eax
je 0x4081c2
push eax
mov dword [ebx + 0x11c28], eax
lea eax, [ebp - 0x104]
push 0x4f53a0
push eax
call fcn.00405c58
mov eax, dword [ebx]
lea ecx, [ebp - 0x104]
add esp, 0xc
push ecx
mov ecx, ebx
call dword [eax + 0xe8]
mov ecx, dword [ebx + 0x44]
xor eax, eax
push eax
push eax
push eax
push str.equalizer_eq
push ebx
call fcn.0043837b
mov ecx, ebx
call fcn.0043de9b
cmp byte [ebx + 0x11c2c], 1
jne 0x408212
cmp dword [ebx + 0x11c28], 0xffffffff
je 0x408212
push dword [esi + 0x10]
lea eax, [ebx + 0x11c04]
push dword [esi + 0xc]
push eax
call dword [sym.imp.USER32.dll_PtInRect]
test eax, eax
jne 0x408202
push dword [esi + 0x10]
lea eax, [ebx + 0x11c14]
push dword [esi + 0xc]
push eax
call dword [sym.imp.USER32.dll_PtInRect]
test eax, eax
je 0x408212
push 0x7f84
push 0
call dword [sym.imp.USER32.dll_LoadCursorW]
push eax
call edi
push dword [esi + 0x10]
lea eax, [ebx + 0x11cb4]
push dword [esi + 0xc]
push eax
call dword [sym.imp.USER32.dll_PtInRect]
test eax, eax
jne 0x408240
push dword [esi + 0x10]
lea eax, [ebx + 0x11cc4]
push dword [esi + 0xc]
push eax
call dword [sym.imp.USER32.dll_PtInRect]
test eax, eax
je 0x408250
push 0x7f84
push 0
call dword [sym.imp.USER32.dll_LoadCursorW]
push eax
call edi
movzx eax, byte [ebx + 0x11c2c]
push eax
push dword [ebx + 0x11c28]
lea eax, [ebp - 0x304]
push str.move_mCurrentControlIndex__d__mDragAllDirection__d___n
push eax
call fcn.00405c58
add esp, 0x10
cmp byte [ebx + 0x11c2c], 1
jne 0x4082c2
cmp dword [ebx + 0x11c28], 0xffffffff
je 0x4082c2
push dword [esi + 0x10]
lea eax, [ebx + 0x11c04]
push dword [esi + 0xc]
push eax
call dword [sym.imp.USER32.dll_PtInRect]
test eax, eax
jne 0x4082b2
push dword [esi + 0x10]
lea eax, [ebx + 0x11c14]
push dword [esi + 0xc]
push eax
call dword [sym.imp.USER32.dll_PtInRect]
test eax, eax
je 0x4082c2
push 0x7f84
push 0
call dword [sym.imp.USER32.dll_LoadCursorW]
push eax
call edi
mov eax, dword [ebx + 0x11c24]
cmp eax, 1
jne 0x40843e
mov edi, dword [ebx + 0x11c28]
cmp edi, 0xffffffff
je 0x40843e
push dword [esi + 0x10]
lea eax, [ebp - 0x30c]
mov ecx, ebx
push dword [esi + 0xc]
push eax
call fcn.0040a921
cmp byte [ebx + 0x11c2c], 0
mov esi, dword [ebp - 0x30c]
je 0x40830a
mov dword [ebx + edi*8 + 0x1088c], esi
mov eax, dword [ebx + 0x11c28]
mov ecx, dword [ebp - 0x308]
push esi
mov dword [ebx + eax*8 + 0x10890], ecx
mov ecx, ebx
call fcn.0040aa76
push dword [ebp - 0x308]
mov ecx, ebx
mov edi, eax
call fcn.0040ab4a
fstp dword [ebp - 0x310]
movss xmm0, dword [ebp - 0x310]
lea eax, [ebp - 0x104]
cvtps2pd xmm0, xmm0
push ecx
push ecx
mov byte [ebp - 0x315], 0
movsd qword [esp], xmm0
push edi
push str.freq___d__gain__.2f___n
push eax
call fcn.00405c58
add esp, 0x14
lea eax, [ebp - 0x104]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov eax, dword [ebx + 0x11c28]
add eax, 0x55
add eax, eax
push ecx
push ecx
movss xmm0, dword [ebx + eax*8]
subss xmm0, dword [ebp - 0x310]
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
call fcn.004b8866
fstp dword [ebp - 0x31c]
fld dword [ebp - 0x31c]
fstp qword [ebp - 0x320]
movsd xmm0, qword [ebp - 0x320]
comisd xmm0, xmmword [0x4f5a10]
pop ecx
pop ecx
jbe 0x4083de
mov eax, dword [ebx + 0x11c28]
mov cl, 1
movss xmm0, dword [ebp - 0x310]
add eax, 0x55
add eax, eax
movss dword [ebx + eax*8], xmm0
jmp 0x4083e4
mov cl, byte [ebp - 0x315]
cmp byte [ebx + 0x11c2c], 0
je 0x408407
mov eax, dword [ebx + 0x11c28]
add eax, eax
cmp dword [ebx + eax*8 + 0x558], edi
je 0x408407
mov dword [ebx + eax*8 + 0x558], edi
mov cl, 1
test cl, cl
je 0x40841e
mov ecx, dword [ebx + 0x44]
xor eax, eax
push eax
push eax
push eax
push str.equalizer_eq
push ebx
call fcn.0043837b
push dword [ebp - 0x308]
lea eax, [ebp - 0x104]
push esi
push str.INDEX_CAPTURED_move_x__d__y__d___n
push eax
call fcn.00405c58
add esp, 0x10
jmp 0x40851b
cmp eax, 2
jne 0x408526
cmp dword [ebx + 0x11c28], 0xffffffff
je 0x408526
push dword [esi + 0x10]
lea eax, [ebp - 0x30c]
mov ecx, ebx
push dword [esi + 0xc]
push eax
call fcn.0040a921
push dword [ebp - 0x30c]
mov ecx, ebx
call fcn.0040a966
mov eax, dword [ebx + 0x11c28]
add eax, eax
fstp dword [ebp - 0x31c]
push ecx
push ecx
movss xmm0, dword [ebx + eax*8 + 0x554]
subss xmm0, dword [ebp - 0x31c]
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
call fcn.004b8866
fstp dword [ebp - 0x310]
fld dword [ebp - 0x310]
fstp qword [ebp - 0x314]
movsd xmm0, qword [ebp - 0x314]
comisd xmm0, xmmword [0x4f5a18]
pop ecx
pop ecx
jb 0x4084f5
mov eax, dword [ebx + 0x11c28]
movss xmm0, dword [ebp - 0x31c]
add eax, eax
movss dword [ebx + eax*8 + 0x554], xmm0
xor eax, eax
mov ecx, dword [ebx + 0x44]
push eax
push eax
push eax
push str.equalizer_eq
push ebx
call fcn.0043837b
push dword [ebp - 0x308]
lea eax, [ebp - 0x104]
push dword [ebp - 0x30c]
push dword [ebx + 0x11c28]
push str.FACTOR_CAPTURED_index__d_move_x__d__y__d___n
push eax
call fcn.00405c58
add esp, 0x14
lea eax, [ebp - 0x104]
jmp 0x408619
cmp eax, 3
jne 0x408594
push dword [esi + 0x10]
lea eax, [ebp - 0x30c]
mov ecx, ebx
push dword [esi + 0xc]
push eax
call fcn.0040a921
push dword [ebp - 0x30c]
mov ecx, ebx
call fcn.0040aa76
cmp eax, dword [ebx + 0x744]
jge 0x408575
cmp eax, dword [ebx + 0x740]
je 0x408575
mov ecx, dword [ebx + 0x44]
mov dword [ebx + 0x740], eax
xor eax, eax
push eax
push eax
push eax
push str.equalizer_hp
push ebx
call fcn.0043837b
push dword [ebx + 0x740]
push dword [ebx + 0x11c28]
push dword [ebp - 0x308]
push dword [ebp - 0x30c]
push str.HP_CAPTURED_move_x__d__y__d__mCurrentControlIndex__d__mHpFreq__d__n
jmp 0x408604
cmp eax, 4
jne 0x408916
push dword [esi + 0x10]
lea eax, [ebp - 0x30c]
mov ecx, ebx
push dword [esi + 0xc]
push eax
call fcn.0040a921
push dword [ebp - 0x30c]
mov ecx, ebx
call fcn.0040aa76
cmp eax, dword [ebx + 0x740]
jle 0x4085e7
cmp eax, dword [ebx + 0x744]
je 0x4085e7
mov ecx, dword [ebx + 0x44]
mov dword [ebx + 0x744], eax
xor eax, eax
push eax
push eax
push eax
push str.equalizer_lp
push ebx
call fcn.0043837b
push dword [ebx + 0x744]
push dword [ebx + 0x11c28]
push dword [ebp - 0x308]
push dword [ebp - 0x30c]
push str.LP_CAPTURED_move_x__d__y__d__mCurrentControlIndex__d__mHpFreq__d__n
lea eax, [ebp - 0x304]
push eax
call fcn.00405c58
add esp, 0x18
lea eax, [ebp - 0x304]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
jmp 0x408916
cmp dword [esi], 0xe
jne 0x40890e
mov eax, dword [ebx + 0x11c24]
cmp eax, 1
jne 0x40879d
cmp dword [ebx + 0x11c28], 0xffffffff
je 0x40879d
push dword [esi + 0x10]
lea eax, [ebp - 0x314]
mov ecx, ebx
push dword [esi + 0xc]
push eax
call fcn.0040a921
cmp byte [ebx + 0x11c2c], 0
mov ecx, dword [ebp - 0x314]
je 0x40867a
mov eax, dword [ebx + 0x11c28]
mov dword [ebx + eax*8 + 0x1088c], ecx
mov eax, dword [ebx + 0x11c28]
mov esi, dword [ebp - 0x310]
mov dword [ebx + eax*8 + 0x10890], esi
cmp byte [ebx + 0x11c2c], 0
je 0x4086ad
push ecx
mov ecx, ebx
call fcn.0040aa76
mov ecx, dword [ebx + 0x11c28]
add ecx, ecx
mov dword [ebx + ecx*8 + 0x558], eax
push esi
mov ecx, ebx
call fcn.0040ab4a
mov eax, dword [ebx + 0x11c28]
mov ecx, ebx
add eax, 0x55
add eax, eax
fstp dword [ebx + eax*8]
mov eax, dword [ebx + 0x11c28]
push dword [ebx + eax*8 + 0x10890]
push dword [ebx + eax*8 + 0x1088c]
lea eax, [ebp - 0x328]
push eax
call fcn.00409c57
mov ecx, dword [ebx + 0x11c28]
lea edi, [ebx + 0x10984]
shl ecx, 4
mov esi, eax
add edi, ecx
xor eax, eax
push eax
push eax
push eax
movsd dword es:[edi], dword [esi]
push str.equalizer_eq
push ebx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov ecx, dword [ebx + 0x44]
call fcn.0043837b
mov ecx, dword [ebx + 0x11c28]
push ecx
push ecx
lea eax, [ecx + 0x55]
add ecx, ecx
add eax, eax
movss xmm0, dword [ebx + eax*8]
lea eax, [ebp - 0x204]
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
push dword [ebx + ecx*8 + 0x558]
push str.freq___d__gain__.2f___n
push eax
call fcn.00405c58
mov esi, dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
lea eax, [ebp - 0x204]
add esp, 0x14
push eax
call esi
push dword [ebp - 0x310]
lea eax, [ebp - 0x204]
push dword [ebp - 0x314]
push str.INDEX_CAPTURED_up_x__d__y__d___n
push eax
call fcn.00405c58
add esp, 0x10
lea eax, [ebp - 0x204]
push eax
call esi
push 0x7f89
push 0
call dword [sym.imp.USER32.dll_LoadCursorW]
push eax
call dword [sym.imp.USER32.dll_SetCursor]
mov esi, dword [ebp - 0x308]
jmp 0x408907
cmp eax, 2
jne 0x408819
cmp dword [ebx + 0x11c28], 0xffffffff
je 0x408819
push dword [esi + 0x10]
lea eax, [ebp - 0x30c]
mov ecx, ebx
push dword [esi + 0xc]
push eax
call fcn.0040a921
push dword [ebp - 0x30c]
mov ecx, ebx
call fcn.0040a966
mov eax, dword [ebx + 0x11c28]
add eax, eax
fstp dword [ebx + eax*8 + 0x554]
mov ecx, dword [ebx + 0x44]
xor eax, eax
push eax
push eax
push eax
push str.equalizer_eq
push ebx
call fcn.0043837b
push dword [ebp - 0x308]
lea eax, [ebp - 0x104]
push dword [ebp - 0x30c]
push str.FACTOR_CAPTURED_move_x__d__y__d___n
push eax
call fcn.00405c58
add esp, 0x10
lea eax, [ebp - 0x104]
jmp 0x4088f0
cmp eax, 3
jne 0x408879
push dword [esi + 0x10]
lea eax, [ebp - 0x30c]
mov ecx, ebx
push dword [esi + 0xc]
push eax
call fcn.0040a921
push dword [ebp - 0x30c]
mov ecx, ebx
call fcn.0040aa76
cmp eax, dword [ebx + 0x744]
jge 0x40884d
mov dword [ebx + 0x740], eax
mov ecx, dword [ebx + 0x44]
xor eax, eax
push eax
push eax
push eax
push str.equalizer_hp
push ebx
call fcn.0043837b
push dword [ebx + 0x740]
push dword [ebp - 0x308]
push dword [ebp - 0x30c]
push str.HP_CAPTURED_move_x__d__y__d__mHpFreq__d__n
jmp 0x4088db
cmp eax, 4
jne 0x40890e
push dword [esi + 0x10]
lea eax, [ebp - 0x30c]
mov ecx, ebx
push dword [esi + 0xc]
push eax
call fcn.0040a921
push dword [ebp - 0x30c]
mov ecx, ebx
call fcn.0040aa76
cmp eax, dword [ebx + 0x740]
jle 0x4088b1
mov dword [ebx + 0x744], eax
mov ecx, dword [ebx + 0x44]
xor eax, eax
push eax
push eax
push eax
push str.equalizer_lp
push ebx
call fcn.0043837b
push dword [ebx + 0x744]
push dword [ebp - 0x308]
push dword [ebp - 0x30c]
push str.HP_CAPTURED_move_x__d__y__d__mLpFreq__d__n
lea eax, [ebp - 0x204]
push eax
call fcn.00405c58
lea eax, [ebp - 0x204]
add esp, 0x14
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
push 0x7f00
push 0
call dword [sym.imp.USER32.dll_LoadCursorW]
push eax
call edi
and dword [ebx + 0x11c24], 0
push esi
mov ecx, ebx
call fcn.0043d61e
pop edi
mov ecx, dword [ebp - 4]
pop esi
xor ecx, ebp
pop ebx
call fcn.00495b3a
mov esp, ebp
pop ebp
ret 4