Function at 0x1002bc60
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov eax, dword [esp + 8]
test eax, eax
jne 0x1002bf0b
mov eax, dword [esp + 0xc]
cmp eax, 0x20
ja case.default.0x1002bc79
jmp dword [eax*4 + 0x1002c10c]
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 4]
push dword [eax + 4]
call sym.Qt5Multimedia.dll_public:_void___thiscall_QMediaPlayer::mediaChanged_class_QMediaContent_const__
ret
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 4]
push dword [eax + 4]
call sym.Qt5Multimedia.dll_public:_void___thiscall_QMediaPlayer::currentMediaChanged_class_QMediaContent_const__
ret
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 4]
mov eax, dword [eax + 4]
push dword [eax]
call sym.Qt5Multimedia.dll_public:_void___thiscall_QMediaPlayer::stateChanged_enum_QMediaPlayer::State_
ret
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 4]
mov eax, dword [eax + 4]
push dword [eax]
call sym.Qt5Multimedia.dll_public:_void___thiscall_QMediaPlayer::mediaStatusChanged_enum_QMediaPlayer::MediaStatus_
ret
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 4]
mov eax, dword [eax + 4]
push dword [eax + 4]
push dword [eax]
call sym.Qt5Multimedia.dll_public:_void___thiscall_QMediaPlayer::durationChanged_long_long___int64__
ret
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 4]
mov eax, dword [eax + 4]
push dword [eax + 4]
push dword [eax]
call sym.Qt5Multimedia.dll_public:_void___thiscall_QMediaPlayer::positionChanged_long_long___int64__
ret
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 4]
mov eax, dword [eax + 4]
push dword [eax]
call sym.Qt5Multimedia.dll_public:_void___thiscall_QMediaPlayer::volumeChanged_int_
ret
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 4]
mov eax, dword [eax + 4]
movzx eax, byte [eax]
push eax
call sym.Qt5Multimedia.dll_public:_void___thiscall_QMediaPlayer::mutedChanged_bool_
ret
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 4]
mov eax, dword [eax + 4]
movzx eax, byte [eax]
push eax
call sym.Qt5Multimedia.dll_public:_void___thiscall_QMediaPlayer::audioAvailableChanged_bool_
ret
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 4]
mov eax, dword [eax + 4]
movzx eax, byte [eax]
push eax
call sym.Qt5Multimedia.dll_public:_void___thiscall_QMediaPlayer::videoAvailableChanged_bool_
ret
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 4]
mov eax, dword [eax + 4]
push dword [eax]
call sym.Qt5Multimedia.dll_public:_void___thiscall_QMediaPlayer::bufferStatusChanged_int_
ret
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 4]
mov eax, dword [eax + 4]
movzx eax, byte [eax]
push eax
call sym.Qt5Multimedia.dll_public:_void___thiscall_QMediaPlayer::seekableChanged_bool_
ret
mov eax, dword [esp + 0x10]
sub esp, 8
mov ecx, dword [esp + 0xc]
mov eax, dword [eax + 4]
movsd xmm0, qword [eax]
movsd qword [esp], xmm0
call sym.Qt5Multimedia.dll_public:_void___thiscall_QMediaPlayer::playbackRateChanged_double_
ret
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 4]
mov eax, dword [eax + 4]
push dword [eax]
call sym.Qt5Multimedia.dll_public:_void___thiscall_QMediaPlayer::error_enum_QMediaPlayer::Error_
ret
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 4]
push dword [eax + 4]
call sym.Qt5Multimedia.dll_public:_void___thiscall_QMediaPlayer::networkConfigurationChanged_class_QNetworkConfiguration_const__
ret
mov ecx, dword [esp + 4]
jmp sym.Qt5Multimedia.dll_public:_void___thiscall_QMediaPlayer::play_void_
mov eax, dword [esp + 4]
mov eax, dword [eax + 8]
mov ecx, dword [eax + 0x20]
test ecx, ecx
je case.default.0x1002bc79
mov eax, dword [ecx]
jmp dword [eax + 0x7c]
mov ecx, dword [esp + 4]
jmp sym.Qt5Multimedia.dll_public:_void___thiscall_QMediaPlayer::stop_void_
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 4]
mov eax, dword [eax + 4]
push dword [eax + 4]
push dword [eax]
call sym.Qt5Multimedia.dll_public:_void___thiscall_QMediaPlayer::setPosition_long_long___int64__
ret
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 4]
mov eax, dword [eax + 4]
push dword [eax]
call sym.Qt5Multimedia.dll_public:_void___thiscall_QMediaPlayer::setVolume_int_
ret
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 4]
mov eax, dword [eax + 4]
movzx eax, byte [eax]
push eax
call sym.Qt5Multimedia.dll_public:_void___thiscall_QMediaPlayer::setMuted_bool_
ret
mov eax, dword [esp + 0x10]
sub esp, 8
mov ecx, dword [esp + 0xc]
mov eax, dword [eax + 4]
movsd xmm0, qword [eax]
movsd qword [esp], xmm0
call sym.Qt5Multimedia.dll_public:_void___thiscall_QMediaPlayer::setPlaybackRate_double_
ret
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 8]
push dword [eax]
push dword [ecx + 4]
mov ecx, dword [esp + 0xc]
call sym.Qt5Multimedia.dll_public:_void___thiscall_QMediaPlayer::setMedia_class_QMediaContent_const___class_QIODevice__
ret
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 4]
push 0
push dword [eax + 4]
call sym.Qt5Multimedia.dll_public:_void___thiscall_QMediaPlayer::setMedia_class_QMediaContent_const___class_QIODevice__
ret
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 4]
mov eax, dword [eax + 4]
push dword [eax]
call sym.Qt5Multimedia.dll_public:_void___thiscall_QMediaPlayer::setPlaylist_class_QMediaPlaylist__
ret
mov eax, dword [esp + 4]
mov eax, dword [eax + 8]
mov ecx, dword [eax + 0x3c]
test ecx, ecx
je case.default.0x1002bc79
mov eax, dword [esp + 0x10]
mov edx, dword [ecx]
push dword [eax + 4]
call dword [edx + 0x2c]
ret
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 4]
mov eax, dword [eax + 4]
mov ecx, dword [ecx + 8]
push dword [eax]
call fcn.1002cea0
ret
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 4]
mov eax, dword [eax + 4]
mov ecx, dword [ecx + 8]
push dword [eax]
call fcn.1002cdd0
ret
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 4]
push dword [eax + 8]
mov eax, dword [eax + 4]
mov ecx, dword [ecx + 8]
push dword [eax]
call fcn.1002cbb0
ret
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 4]
push dword [eax + 4]
mov ecx, dword [ecx + 8]
call fcn.1002cf80
ret
mov ecx, dword [esp + 4]
mov ecx, dword [ecx + 8]
jmp 0x1002ce60
mov ecx, dword [esp + 4]
mov ecx, dword [ecx + 8]
jmp fcn.1002cc90
mov ecx, dword [esp + 4]
mov ecx, dword [ecx + 8]
jmp 0x1002cc30
cmp eax, 0xc
jne 0x1002bff6
mov eax, dword [esp + 0xc]
push esi
cmp eax, 0x1d
ja case.0x1002bf29.4
movzx eax, byte [eax + 0x1002c1b0]
jmp dword [eax*4 + 0x1002c190]
mov esi, dword [esp + 0x14]
mov eax, dword [esi + 4]
cmp dword [eax], 0
je 0x1002bfdd
mov eax, dword [esi]
pop esi
mov dword [eax], 0xffffffff
ret
mov esi, dword [esp + 0x14]
mov eax, dword [esi + 4]
cmp dword [eax], 0
jne 0x1002bf40
call fcn.1002c300
mov ecx, dword [esi]
pop esi
mov dword [ecx], eax
ret
mov esi, dword [esp + 0x14]
mov eax, dword [esi + 4]
cmp dword [eax], 0
jne 0x1002bf40
call fcn.10024fe0
mov ecx, dword [esi]
pop esi
mov dword [ecx], eax
ret
mov esi, dword [esp + 0x14]
mov eax, dword [esi + 4]
mov eax, dword [eax]
sub eax, 0
je 0x1002bfdd
dec eax
jne 0x1002bf40
call fcn.1002e240
mov ecx, dword [esi]
pop esi
mov dword [ecx], eax
ret
mov esi, dword [esp + 0x14]
mov eax, dword [esi + 4]
cmp dword [eax], 0
jne 0x1002bf40
call fcn.1002e0d0
mov ecx, dword [esi]
pop esi
mov dword [ecx], eax
ret
mov esi, dword [esp + 0x14]
mov eax, dword [esi + 4]
cmp dword [eax], 0
jne 0x1002bf40
call fcn.10025470
mov ecx, dword [esi]
pop esi
mov dword [ecx], eax
ret
mov esi, dword [esp + 0x14]
mov eax, dword [esi + 4]
cmp dword [eax], 0
jne 0x1002bf40
call fcn.100253d0
mov ecx, dword [esi]
pop esi
mov dword [ecx], eax
ret
call fcn.100258e0
mov ecx, dword [esi]
pop esi
mov dword [ecx], eax
ret
mov eax, dword [esp + 0x14]
pop esi
mov eax, dword [eax]
mov dword [eax], 0xffffffff
ret
cmp eax, 0xa
jne 0x1002c0df
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
cmp dword [eax], sym.Qt5Multimedia.dll_public:_void___thiscall_QMediaPlayer::mediaChanged_class_QMediaContent_const__
jne 0x1002c016
mov dword [ecx], 0
cmp dword [eax], sym.Qt5Multimedia.dll_public:_void___thiscall_QMediaPlayer::currentMediaChanged_class_QMediaContent_const__
jne 0x1002c024
mov dword [ecx], 1
cmp dword [eax], sym.Qt5Multimedia.dll_public:_void___thiscall_QMediaPlayer::stateChanged_enum_QMediaPlayer::State_
jne 0x1002c032
mov dword [ecx], 2
cmp dword [eax], sym.Qt5Multimedia.dll_public:_void___thiscall_QMediaPlayer::mediaStatusChanged_enum_QMediaPlayer::MediaStatus_
jne 0x1002c040
mov dword [ecx], 3
cmp dword [eax], sym.Qt5Multimedia.dll_public:_void___thiscall_QMediaPlayer::durationChanged_long_long___int64__
jne 0x1002c04e
mov dword [ecx], 4
cmp dword [eax], sym.Qt5Multimedia.dll_public:_void___thiscall_QMediaPlayer::positionChanged_long_long___int64__
jne 0x1002c05c
mov dword [ecx], 5
cmp dword [eax], sym.Qt5Multimedia.dll_public:_void___thiscall_QMediaPlayer::volumeChanged_int_
jne 0x1002c06a
mov dword [ecx], 6
cmp dword [eax], sym.Qt5Multimedia.dll_public:_void___thiscall_QMediaPlayer::mutedChanged_bool_
jne 0x1002c078
mov dword [ecx], 7
cmp dword [eax], sym.Qt5Multimedia.dll_public:_void___thiscall_QMediaPlayer::audioAvailableChanged_bool_
jne 0x1002c086
mov dword [ecx], 8
cmp dword [eax], sym.Qt5Multimedia.dll_public:_void___thiscall_QMediaPlayer::videoAvailableChanged_bool_
jne 0x1002c094
mov dword [ecx], 9
cmp dword [eax], sym.Qt5Multimedia.dll_public:_void___thiscall_QMediaPlayer::bufferStatusChanged_int_
jne 0x1002c0a2
mov dword [ecx], 0xa
cmp dword [eax], sym.Qt5Multimedia.dll_public:_void___thiscall_QMediaPlayer::seekableChanged_bool_
jne 0x1002c0b0
mov dword [ecx], 0xb
cmp dword [eax], sym.Qt5Multimedia.dll_public:_void___thiscall_QMediaPlayer::playbackRateChanged_double_
jne 0x1002c0be
mov dword [ecx], 0xc
cmp dword [eax], sym.Qt5Multimedia.dll_public:_void___thiscall_QMediaPlayer::error_enum_QMediaPlayer::Error_
jne 0x1002c0cc
mov dword [ecx], 0xd
cmp dword [eax], sym.Qt5Multimedia.dll_public:_void___thiscall_QMediaPlayer::networkConfigurationChanged_class_QNetworkConfiguration_const__
jne case.default.0x1002bc79
mov dword [ecx], 0xe
ret
cmp eax, 0xb
jne case.default.0x1002bc79
cmp dword [esp + 0xc], 1
ja 0x1002c0fd
call fcn.100258e0
mov ecx, dword [esp + 0x10]
mov ecx, dword [ecx]
mov dword [ecx], eax
ret
mov eax, dword [esp + 0x10]
mov eax, dword [eax]
mov dword [eax], 0xffffffff
ret
push ecx
push esi
push edi
mov edi, ecx
lea ecx, [esp + 8]
call sym.Qt5Multimedia.dll_public:_void___thiscall_QAudioBuffer::constructor_void_
push eax
lea ecx, [edi + 0x70]
call sym.Qt5Multimedia.dll_public:_class_QMediaContent____thiscall_QMediaContent::operator_class_QMediaContent_const__
lea ecx, [esp + 8]
call sym.Qt5Multimedia.dll_public:_void___thiscall_QMediaContent::destructor_void_
mov esi, dword [edi + 0x20]
test esi, esi
je 0x1002cc85
mov ecx, dword [edi + 0x38]
test ecx, ecx
je 0x1002cc68
pop edi
pop esi
add esp, 4
jmp sym.Qt5Multimedia.dll_public:_void___thiscall_QMediaPlaylist::next_void_
mov esi, dword [esi]
lea ecx, [esp + 8]
push 0
call sym.Qt5Multimedia.dll_public:_void___thiscall_QAudioBuffer::constructor_void_
mov ecx, dword [edi + 0x20]
push eax
call dword [esi + 0x74]
lea ecx, [esp + 8]
call sym.Qt5Multimedia.dll_public:_void___thiscall_QMediaContent::destructor_void_
pop edi
pop esi
pop ecx
ret
push ecx
push esi
push edi
mov edi, ecx
mov esi, dword [edi + 0x20]
mov dword [edi + 0x38], 0
test esi, esi
je 0x1002ce90
mov esi, dword [esi]
lea ecx, [esp + 8]
push 0
call sym.Qt5Multimedia.dll_public:_void___thiscall_QAudioBuffer::constructor_void_
mov ecx, dword [edi + 0x20]
push eax
call dword [esi + 0x74]
lea ecx, [esp + 8]
call sym.Qt5Multimedia.dll_public:_void___thiscall_QMediaContent::destructor_void_
pop edi
pop esi
pop ecx
ret