Function at 0x10037a80
Capabilities:
Get graphical window text

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100b7317
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x548
mov eax, dword [0x100d400c]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
cmp byte [0x100fdd18], 0
je 0x1003809d
push 0
call dword [sym.imp.USER32.dll_GetTopWindow]
mov esi, eax
mov dword [ebp - 0x528], esi
test esi, esi
je 0x1003809d
push esi
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x10038071
push esi
call dword [sym.imp.USER32.dll_GetWindowTextLengthW]
test eax, eax
je 0x10038071
lea eax, [ebp - 0x514]
mov dword [ebp - 0x514], 0
push eax
push esi
call dword [sym.imp.USER32.dll_GetWindowThreadProcessId]
push dword [ebp - 0x514]
push 0
push 0x400
call dword [sym.imp.KERNEL32.dll_OpenProcess]
mov edi, eax
lea eax, [ebp - 0x270]
push 0x12c
push eax
push 0
push edi
call dword [sym.imp.KERNEL32.dll_K32GetModuleFileNameExW]
xor eax, eax
mov dword [ebp - 0x510], 0
lea ecx, [ebp - 0x270]
mov dword [ebp - 0x500], 0
mov dword [ebp - 0x4fc], 7
lea edx, [ecx + 2]
mov word [ebp - 0x510], ax
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x10037b76
sub ecx, edx
lea eax, [ebp - 0x270]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0x510]
call fcn.1003aed0
mov dword [ebp - 4], 0
mov ecx, 0x13
cmp byte [0x100fdc90], 0
mov eax, 2
cmovne eax, ecx
mov dword [ebp - 0x524], eax
mov eax, dword [0x1010c444]
movss xmm0, dword [eax + 0x10]
cvtps2pd xmm0, xmm0
mulsd xmm0, qword [0x100c90d8]
subsd xmm0, qword [0x100c90f8]
movsd qword [ebp - 0x520], xmm0
fld qword [ebp - 0x520]
fld qword [0x100c9110]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIfmod
fstp qword [ebp - 0x520]
movsd xmm0, qword [ebp - 0x520]
andps xmm0, xmmword [0x100c93e0]
call sub.api_ms_win_crt_math_l1_1_0.dll___libm_sse2_sin
mulsd xmm0, qword [0x100c9158]
push edi
cvttsd2si eax, xmm0
mov ecx, eax
neg ecx
test eax, eax
cmovns ecx, eax
mov dword [ebp - 0x51c], ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push ecx
push str.Spotify.exe
lea ecx, [ebp - 0x510]
call fcn.1003a880
cmp eax, 0xffffffff
je 0x1003805f
push 0x12c
lea eax, [ebp - 0x4c8]
push eax
push esi
call dword [sym.imp.USER32.dll_GetWindowTextW]
test eax, eax
je 0x10038092
xor eax, eax
mov dword [ebp - 0x4f8], 0
lea ecx, [ebp - 0x4c8]
mov dword [ebp - 0x4e8], 0
mov dword [ebp - 0x4e4], 7
lea edx, [ecx + 2]
mov word [ebp - 0x4f8], ax
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x10037c90
sub ecx, edx
lea eax, [ebp - 0x4c8]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0x4f8]
call fcn.1003aed0
mov byte [ebp - 4], 1
lea edx, [ebp - 0x4f8]
cmp dword [ebp - 0x4e4], 8
lea edi, [ebp - 0x4f8]
mov eax, dword [ebp - 0x4e8]
lea ecx, [ebp - 0x4e0]
cmovae edx, dword [ebp - 0x4f8]
cmovae edi, dword [ebp - 0x4f8]
mov dword [ebp - 0x4e0], 0
mov dword [ebp - 0x4d0], 0
lea eax, [edx + eax*2]
mov dword [ebp - 0x4cc], 0xf
mov esi, eax
mov byte [ebp - 0x4e0], 0
sub eax, edi
sar eax, 1
push eax
call fcn.1003a9f0
lea eax, [ebp - 0x4e0]
mov dword [ebp - 0x518], eax
mov byte [ebp - 4], 2
cmp edi, esi
je 0x10037d46
nop dword [eax + eax]
movzx eax, byte [edi]
lea ecx, [ebp - 0x4e0]
push eax
call fcn.1002ba40
add edi, 2
cmp edi, esi
jne 0x10037d30
mov byte [ebp - 4], 3
lea eax, [ebp - 0x4e0]
mov ecx, dword [ebp - 0x4cc]
lea esi, [ebp - 0x4e0]
mov edi, dword [ebp - 0x4d0]
cmp ecx, 0x10
cmovae eax, dword [ebp - 0x4e0]
add edi, eax
cmp ecx, 0x10
cmovae esi, dword [ebp - 0x4e0]
cmp esi, edi
je 0x10037d9a
nop dword [eax]
movsx eax, byte [esi]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_tolower]
mov byte [esi], al
add esp, 4
inc esi
cmp esi, edi
jne 0x10037d80
mov ecx, dword [ebp - 0x4cc]
push dword [ebp - 0x4d0]
cmp ecx, 0x10
lea edx, [ebp - 0x4e0]
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
cmovae edx, dword [ebp - 0x4e0]
call fcn.10030930
add esp, 4
mov ecx, eax
push 0x1003ba00
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
mov esi, dword [ebp - 0x4cc]
lea eax, [ebp - 0x4e0]
mov edi, dword [ebp - 0x4e0]
cmp esi, 0x10
mov ecx, dword [ebp - 0x4d0]
cmovae eax, edi
add ecx, eax
cmp esi, 0x10
lea eax, [ebp - 0x4e0]
cmovae eax, edi
cmp eax, ecx
je 0x10037e19
nop dword [eax + eax]
cmp byte [eax], 0x26
jne 0x10037e08
mov byte [eax], 0x2d
inc eax
cmp eax, ecx
jne 0x10037e00
mov esi, dword [ebp - 0x4cc]
mov edi, dword [ebp - 0x4e0]
push dword [ebp - 0x4d0]
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
lea edx, [ebp - 0x4e0]
cmp esi, 0x10
cmovae edx, edi
call fcn.10030930
add esp, 4
mov ecx, eax
push 0x1003ba00
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
push ecx
push 0x100c40ac
lea ecx, [ebp - 0x4f8]
call fcn.1003a880
cmp eax, 0xffffffff
je 0x10037f2d
cmp dword [ebp - 0x4cc], 0x10
lea edx, [ebp - 0x4e0]
mov dword [ebp - 0x558], 0
cmovae edx, dword [ebp - 0x4e0]
mov ecx, edx
mov dword [ebp - 0x548], 0
mov dword [ebp - 0x544], 0xf
mov byte [ebp - 0x558], 0
lea esi, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10037ea0
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0x558]
call fcn.1002bb90
push 1
mov byte [ebp - 4], 4
lea eax, [ebp - 0x558]
mov ecx, dword [0x10115590]
push eax
add ecx, 0xfffffffc
push ecx
mov eax, esp
push dword [ebp - 0x524]
push ecx
mov ecx, 0x10110988
mov dword [eax], 0xe1e1e1e1
call fcn.100a00a0
mov byte [ebp - 4], 3
mov edx, dword [ebp - 0x544]
cmp edx, 0x10
jb 0x10037ff9
mov ecx, dword [ebp - 0x558]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10037f1e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1003808c
push edx
push ecx
call fcn.100b3d40
add esp, 8
jmp 0x10037ff9
push 0x10
mov dword [ebp - 0x540], 0
lea ecx, [ebp - 0x540]
push str.paused___stopped
mov dword [ebp - 0x530], 0
mov dword [ebp - 0x52c], 0xf
mov byte [ebp - 0x540], 0
call fcn.1002bb90
mov edx, dword [ebp - 0x51c]
lea eax, [ebp - 0x540]
mov byte [ebp - 4], 5
mov ecx, dword [0x10115590]
push 1
push eax
add ecx, 0xfffffffc
push ecx
mov eax, esp
push dword [ebp - 0x524]
push ecx
mov ecx, 0x10110988
mov word [eax], 0xe1e1
mov byte [eax + 2], 0xe1
mov byte [eax + 3], dl
call fcn.100a00a0
mov byte [ebp - 4], 3
mov edx, dword [ebp - 0x52c]
cmp edx, 0x10
jb 0x10037fde
mov ecx, dword [ebp - 0x540]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10037fd4
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1003808c
push edx
push ecx
call fcn.100b3d40
add esp, 8
mov dword [ebp - 0x530], 0
mov dword [ebp - 0x52c], 0xf
mov byte [ebp - 0x540], 0
mov byte [ebp - 4], 1
mov edx, dword [ebp - 0x4cc]
cmp edx, 0x10
jb 0x10038033
mov ecx, dword [ebp - 0x4e0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10038029
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1003808c
push edx
push ecx
call fcn.100b3d40
add esp, 8
lea ecx, [ebp - 0x4f8]
mov dword [ebp - 0x4d0], 0
mov dword [ebp - 0x4cc], 0xf
mov byte [ebp - 0x4e0], 0
call fcn.1003ae50
mov esi, dword [ebp - 0x528]
lea ecx, [ebp - 0x510]
mov dword [ebp - 4], 0xffffffff
call fcn.1003ae50
push 2
push esi
call dword [sym.imp.USER32.dll_GetWindow]
mov esi, eax
mov dword [ebp - 0x528], esi
test esi, esi
jne 0x10037ae6
jmp 0x1003809d
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
lea ecx, [ebp - 0x510]
call fcn.1003ae50
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.100b38c5
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret