Function at 0x47ac70
Capabilities:
Print debug messages

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c
mov eax, dword [0x595534]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
mov esi, dword [ebp + 8]
push edi
mov edi, ecx
mov eax, dword [edi]
mov eax, dword [eax + 0x130]
call eax
test al, al
jne 0x47acdc
mov eax, dword [esi]
cmp eax, 8
jle 0x47acdc
cmp eax, 0x16
jge 0x47acdc
mov ecx, dword [edi + 0x48]
push esi
test ecx, ecx
je 0x47acc3
mov eax, dword [ecx]
call dword [eax + 0x160]
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ff9ee
mov esp, ebp
pop ebp
ret 4
mov ecx, edi
call fcn.0042c1f0
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ff9ee
mov esp, ebp
pop ebp
ret 4
mov eax, dword [esi]
push ebx
cmp eax, 0xd
je 0x47b0eb
cmp eax, 0x13
je 0x47b0eb
cmp eax, 0xe
je 0x47acff
cmp eax, 0x10
jne 0x47ae2b
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 0x128]
call eax
test al, al
je 0x47ae2b
mov eax, dword [edi + 0x6c8]
mov word [edi + 0x8ec], 0
test al, 0x40
je 0x47ad2f
and eax, 0xffffffbf
mov dword [edi + 0x6c8], eax
cmp byte [edi + 0x629], 0
je 0x47ada2
mov eax, dword [edi + 0x6c0]
mov ecx, dword [edi + 0x1e4]
mov dword [ebp - 0x18], eax
cdq
sub eax, edx
mov edx, dword [esi + 0xc]
mov ebx, eax
sar ebx, 1
sub ecx, ebx
cmp edx, ecx
jl 0x47ad62
mov eax, dword [edi + 0x62c]
jmp 0x47adf4
mov ecx, dword [edi + 0x1dc]
mov dword [ebp - 0x1c], ecx
lea eax, [ecx + ebx]
cmp edx, eax
jg 0x47ad7a
mov eax, dword [edi + 0x630]
jmp 0x47adf4
mov esi, dword [edi + 0x630]
sub edx, ecx
mov eax, dword [edi + 0x62c]
sub edx, ebx
mov ecx, dword [edi + 0x1e4]
sub eax, esi
sub ecx, dword [ebp - 0x1c]
sub ecx, dword [ebp - 0x18]
imul eax, edx
cdq
idiv ecx
add eax, esi
jmp 0x47adf4
mov eax, dword [edi + 0x6c4]
mov ebx, dword [edi + 0x1e8]
mov esi, dword [esi + 0x10]
cdq
sub eax, edx
mov edx, ebx
sar eax, 1
sub edx, eax
cmp esi, edx
jl 0x47adc6
mov eax, dword [edi + 0x630]
jmp 0x47adf4
add eax, dword [edi + 0x1e0]
cmp esi, eax
mov eax, dword [edi + 0x62c]
jle 0x47adf4
mov ecx, dword [edi + 0x630]
sub edx, esi
sub ebx, dword [edi + 0x1e0]
sub eax, ecx
sub ebx, dword [edi + 0x6c4]
imul eax, edx
cdq
idiv ebx
add eax, ecx
cmp eax, dword [edi + 0x630]
jl 0x47b2d2
cmp eax, dword [edi + 0x62c]
jg 0x47b2d2
mov ecx, dword [edi + 0x44]
push 0
push 0
push 0
push str.valuechanged
push edi
mov dword [edi + 0x634], eax
call fcn.004342f0
jmp 0x47b2cb
mov eax, dword [esi]
cmp eax, 0x14
je 0x47b2dc
cmp eax, 0x15
jne 0x47aeaf
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 0x128]
call eax
test al, al
je 0x47aeaf
movzx eax, word [esi + 0x18]
sub eax, 0
je 0x47ae6e
sub eax, 1
jne 0x47aeaf
mov ecx, edi
call fcn.0047b2f0
mov ecx, edi
mov esi, eax
call fcn.0042af90
sub eax, esi
push eax
jmp 0x47ae81
mov ecx, edi
call fcn.0047b2f0
mov ecx, edi
mov esi, eax
call fcn.0042af90
add esi, eax
push esi
mov ecx, edi
call fcn.0047ba70
mov ecx, dword [edi + 0x44]
push 0
push 0
push 0
push str.valuechanged
push edi
call fcn.004342f0
pop ebx
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ff9ee
mov esp, ebp
pop ebp
ret 4
mov eax, dword [esi]
cmp eax, 9
jne 0x47b051
test byte [edi + 0x6c8], 0x40
je 0x47aff9
cmp byte [edi + 0x629], 0
je 0x47af4e
mov eax, dword [edi + 0x6c0]
mov ecx, dword [edi + 0x1e4]
mov ebx, dword [esi + 0xc]
mov dword [ebp - 0x1c], eax
cdq
sub eax, edx
mov edx, eax
sar edx, 1
sub ecx, edx
cmp ebx, ecx
jl 0x47aefa
mov eax, dword [edi + 0x62c]
jmp 0x47afc5
mov eax, dword [edi + 0x1dc]
mov dword [ebp - 0x18], eax
add eax, edx
cmp ebx, eax
jg 0x47af14
mov eax, dword [edi + 0x630]
jmp 0x47afc5
sub ebx, dword [edi + 0x1dc]
mov eax, dword [edi + 0x62c]
sub ebx, edx
mov ecx, dword [edi + 0x630]
sub eax, ecx
movd xmm1, ebx
movd xmm0, eax
mov eax, dword [edi + 0x1e4]
sub eax, dword [ebp - 0x18]
sub eax, dword [ebp - 0x1c]
cvtdq2ps xmm0, xmm0
cvtdq2ps xmm1, xmm1
mulss xmm1, xmm0
movd xmm0, eax
jmp 0x47afaf
mov eax, dword [edi + 0x6c4]
mov ebx, dword [edi + 0x1e8]
mov ecx, dword [esi + 0x10]
cdq
sub eax, edx
mov edx, ebx
sar eax, 1
sub edx, eax
cmp ecx, edx
jl 0x47af72
mov eax, dword [edi + 0x630]
jmp 0x47afc5
add eax, dword [edi + 0x1e0]
cmp ecx, eax
mov eax, dword [edi + 0x62c]
jle 0x47afc5
mov ecx, dword [edi + 0x630]
sub eax, ecx
sub edx, dword [esi + 0x10]
sub ebx, dword [edi + 0x1e0]
sub ebx, dword [edi + 0x6c4]
movd xmm1, eax
movd xmm0, edx
cvtdq2ps xmm0, xmm0
cvtdq2ps xmm1, xmm1
mulss xmm1, xmm0
movd xmm0, ebx
cvtdq2ps xmm0, xmm0
divss xmm1, xmm0
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
addss xmm1, xmm0
cvttss2si eax, xmm1
cmp byte [edi + 0x8e0], 0
mov dword [edi + 0x634], eax
je 0x47aff2
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x1ac]
mov ecx, dword [edi + 0x44]
push 0
push 0
push 0
push str.movevaluechanged
push edi
call fcn.004342f0
mov ecx, edi
call fcn.00436bb0
lea eax, [ebp - 0x14]
mov ecx, edi
push eax
call fcn.0047b360
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 0x128]
call eax
test al, al
je 0x47b0b1
push dword [esi + 0x10]
lea eax, [ebp - 0x14]
push dword [esi + 0xc]
push eax
call dword [sym.imp.USER32.dll_PtInRect]
test eax, eax
je 0x47b0b1
or dword [edi + 0x6c8], 8
mov ecx, edi
call fcn.00436bb0
pop ebx
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ff9ee
mov esp, ebp
pop ebp
ret 4
cmp eax, 0x1a
jne 0x47b098
lea eax, [ebp - 0x14]
mov ecx, edi
push eax
call fcn.0047b360
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 0x128]
call eax
test al, al
je 0x47b098
push 0x7f89
push 0
call dword [sym.imp.USER32.dll_LoadCursorW]
push eax
call dword [sym.imp.USER32.dll_SetCursor]
pop ebx
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ff9ee
mov esp, ebp
pop ebp
ret 4
cmp dword [esi], 0xa
mov ecx, edi
jne 0x47b0d2
mov eax, dword [edi]
mov eax, dword [eax + 0x128]
call eax
test al, al
je 0x47b2dc
and dword [edi + 0x6c8], 0xfffffff7
mov ecx, edi
call fcn.00436bb0
pop ebx
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ff9ee
mov esp, ebp
pop ebp
ret 4
push esi
call fcn.00435f90
pop ebx
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ff9ee
mov esp, ebp
pop ebp
ret 4
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 0x128]
call eax
test al, al
je 0x47b2dc
or dword [edi + 0x6c8], 0x40
cmp byte [edi + 0x629], 0
je 0x47b237
cmp byte [edi + 0x8e1], 0
je 0x47b1cb
mov eax, dword [esi + 0xc]
mov dword [edi + 0x8e4], eax
mov eax, dword [esi + 0x10]
mov dword [edi + 0x8e8], eax
mov eax, dword [edi + 0x8e4]
sub eax, dword [edi + 0x1dc]
cmp eax, dword [edi + 0x9f8]
jl 0x47b180
cmp eax, dword [edi + 0xa00]
jg 0x47b180
mov ecx, dword [edi + 0x8e8]
sub ecx, dword [edi + 0x1e0]
cmp ecx, dword [edi + 0x9fc]
jl 0x47b180
cmp ecx, dword [edi + 0xa04]
jg 0x47b180
push 0x558b38
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov word [edi + 0x8ec], 1
jmp 0x47b1cb
cmp eax, dword [edi + 0xa08]
jl 0x47b1c2
cmp eax, dword [edi + 0xa10]
jg 0x47b1c2
mov eax, dword [edi + 0x8e8]
sub eax, dword [edi + 0x1e0]
cmp eax, dword [edi + 0xa0c]
jl 0x47b1c2
cmp eax, dword [edi + 0xa14]
jg 0x47b1c2
push 0x558b50
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov word [edi + 0x8ec], 0x100
jmp 0x47b1cb
mov word [edi + 0x8ec], 0
mov eax, dword [edi + 0x6c0]
mov ebx, dword [edi + 0x1e4]
mov ecx, ebx
mov esi, dword [esi + 0xc]
cdq
sub eax, edx
mov edx, eax
sar edx, 1
sub ecx, edx
cmp esi, ecx
jl 0x47b1f4
mov eax, dword [edi + 0x62c]
jmp 0x47b2ad
mov eax, dword [edi + 0x1dc]
add eax, edx
cmp esi, eax
jg 0x47b20b
mov eax, dword [edi + 0x630]
jmp 0x47b2ad
sub esi, dword [edi + 0x1dc]
mov eax, dword [edi + 0x62c]
sub esi, edx
mov ecx, dword [edi + 0x630]
sub eax, ecx
sub ebx, dword [edi + 0x1dc]
sub ebx, dword [edi + 0x6c0]
movd xmm1, esi
movd xmm0, eax
jmp 0x47b289
mov eax, dword [edi + 0x6c4]
mov ebx, dword [edi + 0x1e8]
mov esi, dword [esi + 0x10]
cdq
sub eax, edx
mov edx, ebx
sar eax, 1
sub edx, eax
cmp esi, edx
jl 0x47b25b
mov eax, dword [edi + 0x630]
jmp 0x47b2ad
add eax, dword [edi + 0x1e0]
cmp esi, eax
mov eax, dword [edi + 0x62c]
jle 0x47b2ad
mov ecx, dword [edi + 0x630]
sub edx, esi
sub ebx, dword [edi + 0x1e0]
sub eax, ecx
sub ebx, dword [edi + 0x6c4]
movd xmm0, edx
movd xmm1, eax
cvtdq2ps xmm0, xmm0
cvtdq2ps xmm1, xmm1
mulss xmm1, xmm0
movd xmm0, ebx
cvtdq2ps xmm0, xmm0
divss xmm1, xmm0
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
addss xmm1, xmm0
cvttss2si eax, xmm1
cmp dword [edi + 0x634], eax
je 0x47b2d2
cmp eax, dword [edi + 0x630]
jl 0x47b2d2
cmp eax, dword [edi + 0x62c]
jg 0x47b2d2
mov dword [edi + 0x634], eax
mov ecx, edi
call fcn.00436bb0
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x1ac]
mov ecx, dword [ebp - 4]
pop ebx
pop edi
xor ecx, ebp
pop esi
call fcn.004ff9ee
mov esp, ebp
pop ebp
ret 4