Function at 0x41c0d0
Capabilities:
Check for unmoving mouse cursor
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
sub esp, 0x34
mov eax, dword [ebp + 8]
push ebx
push esi
mov ebx, ecx
xor esi, esi
cmp dword [eax + 0x1c], 0x8000003
push edi
mov dword [esp + 0x24], ebx
jne 0x41c519
cmp dword [0x5670ec], esi
je 0x41c142
mov ecx, eax
mov eax, dword [ecx + 0x20]
lea edi, [esp + 0x18]
call fcn.0044ddb0
mov edi, dword [esp + 0x18]
cmp edi, esi
je 0x41c148
lea ecx, [edi + 4]
cmp ecx, esi
je 0x41c14a
mov eax, str.flux_changeloc
mov edi, edi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x41c194
test dl, dl
je 0x41c13c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x41c194
add eax, 2
add ecx, 2
test dl, dl
jne 0x41c120
xor eax, eax
cmp eax, esi
jmp 0x41c150
mov dword [esp + 0x18], esi
mov edi, esi
xor ecx, ecx
cmp ecx, str.flux_changeloc
sete al
test al, al
je 0x41c162
mov edi, ebx
call fcn.0041a010
mov edi, dword [esp + 0x18]
cmp edi, esi
je 0x41c1a6
lea ecx, [edi + 4]
cmp ecx, esi
je 0x41c1a8
mov eax, str.flux_wrench
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x41c19d
test dl, dl
je 0x41c18e
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x41c19d
add eax, 2
add ecx, 2
test dl, dl
jne 0x41c172
xor eax, eax
cmp eax, esi
jmp 0x41c1ae
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, esi
jmp 0x41c150
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, esi
jmp 0x41c1ae
xor ecx, ecx
cmp ecx, str.flux_wrench
sete al
test al, al
je 0x41c1cb
push ebx
call fcn.0040d070
movss xmm0, dword [0x4d3cb8]
movss dword [ebx + 0xbc], xmm0
cmp edi, esi
je 0x41c20b
lea ecx, [edi + 4]
cmp ecx, esi
je 0x41c20d
mov eax, str.flux_exit
jmp 0x41c1e0
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x41c202
test dl, dl
je 0x41c1fc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x41c202
add eax, 2
add ecx, 2
test dl, dl
jne 0x41c1e0
xor eax, eax
cmp eax, esi
jmp 0x41c213
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, esi
jmp 0x41c213
xor ecx, ecx
cmp ecx, str.flux_exit
sete al
test al, al
je 0x41c225
mov edi, ebx
call fcn.00419bc0
mov edi, dword [esp + 0x18]
cmp edi, esi
je 0x41c260
lea ecx, [edi + 4]
cmp ecx, esi
je 0x41c262
mov eax, str.flux_preview
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x41c257
test dl, dl
je 0x41c251
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x41c257
add eax, 2
add ecx, 2
test dl, dl
jne 0x41c235
xor eax, eax
cmp eax, esi
jmp 0x41c268
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, esi
jmp 0x41c268
xor ecx, ecx
cmp ecx, str.flux_preview
sete al
test al, al
je 0x41c29d
mov edx, str.flux_wrench
call fcn.00454800
mov edi, eax
cmp edi, esi
je 0x41c299
mov edx, dword [edi]
mov eax, dword [edx + 0x64]
push esi
mov ecx, edi
call eax
cmp byte [edi + 0x24d], 0
jne 0x41c299
mov eax, ebx
call fcn.00419d70
mov edi, dword [esp + 0x18]
cmp edi, esi
je 0x41c2db
lea ecx, [edi + 4]
cmp ecx, esi
je 0x41c2dd
mov eax, str.flux_hamburger
lea ecx, [ecx]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x41c2d2
test dl, dl
je 0x41c2cc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x41c2d2
add eax, 2
add ecx, 2
test dl, dl
jne 0x41c2b0
xor eax, eax
cmp eax, esi
jmp 0x41c2e3
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, esi
jmp 0x41c2e3
xor ecx, ecx
cmp ecx, str.flux_hamburger
mov edi, dword [sym.imp.USER32.dll_GetCursorPos]
sete al
test al, al
je 0x41c30c
lea ecx, [esp + 0x28]
push ecx
mov dword [esp + 0x2c], esi
mov dword [esp + 0x30], esi
call edi
push 1
lea edx, [esp + 0x2c]
push edx
push ebx
call fcn.004169f0
mov ecx, dword [esp + 0x18]
cmp ecx, esi
je 0x41c34b
add ecx, 4
cmp ecx, esi
je 0x41c34d
mov eax, str.flux_preset
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x41c342
test dl, dl
je 0x41c33c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x41c342
add eax, 2
add ecx, 2
test dl, dl
jne 0x41c320
xor eax, eax
cmp eax, esi
jmp 0x41c353
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, esi
jmp 0x41c353
xor ecx, ecx
cmp ecx, str.flux_preset
sete al
test al, al
jne 0x41c36c
mov eax, str.flux_presetback
lea ecx, [esp + 0x18]
call fcn.00401310
test al, al
je 0x41c3c5
lea eax, [esp + 0x28]
push eax
mov dword [esp + 0x2c], esi
mov dword [esp + 0x30], esi
call edi
mov edx, str.flux_presetback
call fcn.00401920
cmp eax, esi
je 0x41c3ba
mov edx, dword [eax]
mov edx, dword [edx + 0x24]
push esi
lea ecx, [esp + 0x34]
push ecx
mov ecx, eax
call edx
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x28], eax
mov eax, dword [ebx + 0x28]
lea edx, [esp + 0x28]
mov dword [esp + 0x2c], ecx
mov ecx, dword [eax + 0x5c]
push edx
push ecx
call dword [sym.imp.USER32.dll_ClientToScreen]
lea edx, [esp + 0x28]
push edx
push ebx
call fcn.00415f30
mov edi, dword [esp + 0x18]
cmp edi, esi
je 0x41c40b
lea ecx, [edi + 4]
cmp ecx, esi
je 0x41c40d
mov eax, str.flux_expandcolor
lea esp, [esp]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x41c402
test dl, dl
je 0x41c3fc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x41c402
add eax, 2
add ecx, 2
test dl, dl
jne 0x41c3e0
xor eax, eax
cmp eax, esi
jmp 0x41c413
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, esi
jmp 0x41c413
xor ecx, ecx
cmp ecx, str.flux_expandcolor
sete al
test al, al
je 0x41c43a
mov edx, str.flux_expandcolor
call fcn.00401920
cmp eax, esi
je 0x41c431
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x50]
call eax
push esi
call fcn.0041d050
add esp, 4
cmp edi, esi
je 0x41c47b
lea ecx, [edi + 4]
cmp ecx, esi
je 0x41c47d
mov eax, str.flux_stepup
lea ebx, [ebx]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x41c472
test dl, dl
je 0x41c46c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x41c472
add eax, 2
add ecx, 2
test dl, dl
jne 0x41c450
xor eax, eax
cmp eax, esi
jmp 0x41c483
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, esi
jmp 0x41c483
xor ecx, ecx
cmp ecx, str.flux_stepup
sete al
test al, al
je 0x41c496
mov eax, 0xf
mov ecx, ebx
call fcn.0041c060
cmp edi, esi
je 0x41c4d1
lea ecx, [edi + 4]
cmp ecx, esi
je 0x41c4d3
mov eax, str.flux_stepdown
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x41c4c8
test dl, dl
je 0x41c4c2
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x41c4c8
add eax, 2
add ecx, 2
test dl, dl
jne 0x41c4a6
xor eax, eax
cmp eax, esi
jmp 0x41c4d9
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, esi
jmp 0x41c4d9
xor ecx, ecx
cmp ecx, str.flux_stepdown
sete al
test al, al
je 0x41c4ec
mov eax, 0xfffffff1
mov ecx, ebx
call fcn.0041c060
cmp edi, esi
je 0x41c519
push edi
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
and eax, 0xff
cmp eax, 0x80
jl 0x41c50c
push edi
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
jmp 0x41c519
cmp eax, esi
jne 0x41c519
mov esi, edi
call fcn.0045f5a0
xor esi, esi
mov edi, dword [ebp + 8]
cmp dword [edi + 0x1c], 0x8000001
xorps xmm0, xmm0
jne 0x41c56b
mov eax, dword [ebx + 0xefc]
cmp eax, esi
je 0x41c537
call fcn.004248f0
fldz
sub esp, 8
fstp qword [esp]
mov byte [ebx + 0x104], 0
push 1
push ebx
call fcn.0040fea0
movsd xmm1, qword [ebx + 0x2b0]
xorps xmm0, xmm0
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jnp 0x41c56b
movsd qword [ebx + 0x2b0], xmm0
cmp dword [edi + 0x1c], 0x8000000
jne 0x41c90a
movsd xmm1, qword [ebx + 0x2c0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jnp 0x41c594
movsd qword [ebx + 0x2c0], xmm0
jmp 0x41c5b4
cmp byte [ebx + 0x28a], 0
je 0x41c5a6
mov byte [ebx + 0x28a], 0
jmp 0x41c5b4
cmp dword [ebx + 0xb0c], esi
je 0x41c5b4
mov dword [ebx + 0xb0c], esi
cmp byte [ebx + 0x104], 0
jne 0x41c5cf
lea ecx, [ebx + 0xac0]
push ecx
lea esi, [ebx + 0xb1c]
call fcn.0041ccd0
mov edx, edi
mov byte [ebx + 0x104], 1
mov esi, dword [edx + 0x20]
test esi, esi
je 0x41c90a
mov edx, str.flux_extraknob
call fcn.00401920
cmp esi, eax
jne 0x41c6a2
movss xmm0, dword [0x4bb568]
lea eax, [esp + 0x24]
push eax
movss dword [esp + 0x28], xmm0
call fcn.0043e770
test eax, eax
jne 0x41c90c
movss xmm0, dword [esp + 0x24]
cvtps2pd xmm0, xmm0
movapd xmm1, xmm0
mulsd xmm1, xmm0
cvtsd2ss xmm0, xmm1
cvtss2sd xmm0, xmm0
mulsd xmm0, qword [0x4d3a98]
addsd xmm0, qword [0x4c8910]
cvtpd2ps xmm0, xmm0
cvtss2sd xmm0, xmm0
lea edi, [ebx + 0x228]
movsd qword [ebx + 0x2c8], xmm0
call fcn.00401ab0
push 1
push ebx
call fcn.00419390
mov edx, ebx
call fcn.00419250
lea ecx, [ebx + 0x148]
push ebx
call fcn.0041bc30
push 0
call fcn.0049d8e4
mov esi, eax
add esp, 4
mov eax, ebx
call fcn.0041b880
cvtsi2sd xmm1, esi
addsd xmm0, xmm1
movsd qword [ebx + 0x2b8], xmm0
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov eax, esi
call fcn.0043e740
test eax, eax
jne 0x41c6bb
mov eax, 0xf4241
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x18]
push esi
call eax
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
mov cl, byte [ebx + 0x10d]
sub esp, 8
fstp qword [esp]
call fcn.0040c180
add esp, 8
push ebx
lea ecx, [esp + 0x2c]
movsd qword [esp + 0x2c], xmm0
movsd qword [esp + 0x1c], xmm0
call fcn.0041bc30
movsd xmm0, qword [0x4d3520]
divsd xmm0, qword [esp + 0x28]
lea edi, [ebx + 0x168]
call fcn.00401ab0
movsd xmm0, qword [esp + 0x18]
ucomisd xmm0, qword [esp + 0x28]
lahf
test ah, 0x44
jnp 0x41c726
mov bl, 1
jmp 0x41c728
xor bl, bl
mov byte [esp + 0x18], bl
mov ecx, dword [esp + 0x18]
push ecx
mov edx, str.flux_expandcolor
call fcn.00454930
add esp, 4
test bl, bl
je 0x41c75e
mov edx, str.flux_expandcolor
call fcn.00454800
mov edi, eax
test edi, edi
je 0x41c75e
call fcn.00402330
mov byte [edi + 0x24f], 1
mov edx, str.flux_mainslider
or edi, 0xffffffff
call fcn.00401920
cmp esi, eax
jne 0x41c812
mov ebx, dword [esp + 0x24]
fld qword [0x4d3678]
sub esp, 8
mov edi, ebx
fstp qword [esp]
call fcn.0040f410
mov edi, eax
cmp edi, 0xffffffff
je 0x41c8f8
lea edx, [ebx + 0xb1c]
push edx
lea esi, [ebx + 0xac0]
call fcn.0041ccd0
test edi, edi
jne 0x41c855
cvtsd2ss xmm0, qword [esp + 0x28]
mov byte [ebx + 0x104], 2
movss dword [esp + 0x18], xmm0
fld dword [esp + 0x18]
fistp dword [esp + 0x24]
mov eax, dword [esp + 0x24]
push 0x11
mov dword [ebx + 0xacc], eax
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
shr eax, 0xf
test al, 1
jne 0x41c8f8
mov eax, dword [ebx + 0xacc]
cmp dword [ebx + 0xad0], eax
jbe 0x41c7fb
mov dword [ebx + 0xad0], eax
cmp dword [ebx + 0xad4], eax
jbe 0x41c8f8
mov dword [ebx + 0xad4], eax
jmp 0x41c8f8
mov edx, str.flux_planetslider0
call fcn.00401920
cmp esi, eax
jne 0x41c822
xor edi, edi
mov edx, str.flux_planetslider1
call fcn.00401920
cmp esi, eax
jne 0x41c835
mov edi, 1
mov edx, str.flux_planetslider2
call fcn.00401920
mov ebx, dword [esp + 0x24]
cmp esi, eax
jne 0x41c78c
mov edi, 2
jmp 0x41c795
cmp edi, 1
jne 0x41c8ab
cvtsd2ss xmm0, qword [esp + 0x28]
mov byte [ebx + 0x104], 3
movss dword [esp + 0x18], xmm0
fld dword [esp + 0x18]
fistp dword [esp + 0x24]
mov ecx, dword [esp + 0x24]
push 0x11
mov dword [ebx + 0xad0], ecx
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
shr eax, 0xf
test al, 1
jne 0x41c8f8
mov eax, dword [ebx + 0xad0]
cmp dword [ebx + 0xacc], eax
jae 0x41c7fb
mov dword [ebx + 0xacc], eax
jmp 0x41c7fb
cmp edi, 2
jne 0x41c8f8
cvtsd2ss xmm0, qword [esp + 0x28]
mov byte [ebx + 0x104], 4
movss dword [esp + 0x18], xmm0
fld dword [esp + 0x18]
fistp dword [esp + 0x24]
mov edx, dword [esp + 0x24]
push 0x11
mov dword [ebx + 0xad4], edx
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
shr eax, 0xf
test al, 1
jne 0x41c8f8
mov eax, dword [ebx + 0xad4]
cmp eax, dword [ebx + 0xad0]
jbe 0x41c8f8
mov dword [ebx + 0xad0], eax
lea esi, [ebx + 0xac0]
call fcn.00409600
mov edi, ebx
call fcn.0040dd30
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4