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

Disassembly:
sub esp, 0x9c
push ebx
push ebp
mov ebp, dword [0x652b207c]
lea eax, [esp + 0x29]
push esi
push edi
mov edi, dword [esp + 0xb0]
mov esi, ecx
push eax
mov ecx, edi
mov dword [esp + 0x30], esi
call ebp
mov cl, byte [esp + 0x31]
cmp cl, 0xfa
je 0x650e751b
cmp cl, 0xfc
jne 0x650e7ea4
cmp cl, 0xfa
mov ebx, dword [0x652b2148]
sete al
mov byte [esi + 0x28], al
mov dword [esp + 0x40], 0xffffffff
jne 0x650e753a
lea eax, [esp + 0x40]
mov ecx, edi
push eax
call ebx
lea eax, [esp + 0x32]
mov ecx, edi
push eax
call ebp
movzx eax, byte [esp + 0x32]
mov ecx, edi
mov dword [esi + 0xc], eax
lea eax, [esp + 0x48]
push eax
call ebx
cmp dword [esp + 0x48], 0
mov dword [esp + 0x44], 0
jle 0x650e7e5b
lea eax, [esp + 0x33]
mov ecx, edi
push eax
call ebp
mov al, byte [esp + 0x33]
cmp al, 0xfb
jne 0x650e7c22
lea ecx, [esp + 0x38]
call dword [0x652b2418]
lea eax, [esp + 0x38]
push eax
push edi
call dword [0x652b1ae0]
add esp, 8
lea ecx, [esp + 0x13]
push ecx
mov ecx, eax
call ebp
mov eax, dword [esp + 0x38]
cmp dword [eax + 4], 0
jne 0x650e75db
lea eax, [esp + 0x3c]
mov ecx, edi
push eax
call ebx
lea ecx, [esp + 0x3c]
push ecx
mov ecx, eax
call ebx
lea ecx, [esp + 0x3c]
push ecx
mov ecx, eax
call ebx
lea ecx, [esp + 0x3c]
push ecx
mov ecx, eax
call ebx
lea ecx, [esp + 0x38]
call dword [0x652b2410]
jmp 0x650e7e42
mov edi, dword [esp + 0xb4]
xor ebp, ebp
xor esi, esi
mov eax, dword [edi]
mov ecx, dword [eax + 0xc]
sub ecx, dword [eax + 8]
test ecx, ecx
jle 0x650e76da
mov ecx, dword [edi]
lea edx, [esp + 0x38]
push edx
lea edx, [esp + 0x50]
push edx
mov eax, dword [ecx + 8]
add eax, esi
mov ecx, dword [ecx + eax*4 + 0x10]
call dword [0x652b2160]
push eax
call dword [0x652b23ec]
add esp, 8
lea ecx, [esp + 0x4c]
mov bl, al
call dword [0x652b2410]
mov ecx, dword [edi]
test bl, bl
jne 0x650e763d
mov eax, dword [ecx + 0xc]
inc esi
sub eax, dword [ecx + 8]
cmp esi, eax
jl 0x650e75f6
jmp 0x650e76d4
mov eax, dword [ecx]
cmp eax, 1
je 0x650e76c0
test eax, eax
je 0x650e76c0
mov ecx, dword [edi]
mov eax, dword [ecx + 8]
push dword [ecx + 4]
add eax, 4
lea ebx, [ecx + eax*4]
mov ecx, edi
call dword [0x652b23d4]
mov edx, dword [esp + 0xb4]
mov edi, eax
mov edx, dword [edx]
mov ecx, dword [edx + 0xc]
add ecx, 4
lea eax, [edx + ecx*4]
mov ecx, dword [edx + 8]
add ecx, 4
lea ecx, [edx + ecx*4]
cmp ebx, ecx
je 0x650e7696
sub eax, ecx
sar eax, 2
test eax, eax
jle 0x650e7696
shl eax, 2
push eax
push ebx
push ecx
call fcn.652afd9b
add esp, 0xc
mov eax, dword [edi]
test eax, eax
je 0x650e76af
cmp eax, 0xffffffff
je 0x650e76b9
or eax, 0xffffffff
lock xadd dword [edi], eax
setne al
test al, al
jne 0x650e76b9
push edi
call dword [0x652b23cc]
add esp, 4
mov edi, dword [esp + 0xb4]
mov ecx, dword [edi]
push esi
mov eax, dword [ecx + 8]
add eax, esi
mov ebp, dword [ecx + eax*4 + 0x10]
mov ecx, edi
call dword [0x652b224c]
mov ebx, dword [0x652b2148]
test ebp, ebp
jne 0x650e7848
push 0x18
call fcn.652ae448
add esp, 4
mov esi, eax
mov ecx, esi
call dword [0x652b2418]
mov word [esi + 4], bp
lea eax, [esp + 0x38]
mov dword [esi + 8], ebp
mov ecx, esi
mov dword [esi + 0xc], ebp
mov dword [esi + 0x10], 0xffffffff
mov dword [esi + 0x14], 0xffffffff
push eax
mov dword [esp + 0x18], ebp
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x20], esi
mov dword [esp + 0x24], ebp
mov dword [esp + 0x28], 0xffffffff
mov dword [esp + 0x2c], ebp
call dword [0x652b240c]
mov cl, byte [esp + 0x13]
shr cl, 1
and cl, 1
mov byte [esi + 5], cl
mov al, byte [esp + 0x13]
not al
and al, 1
test cl, cl
mov ecx, dword [esp + 0xb0]
mov byte [esi + 4], al
je 0x650e77b5
lea eax, [esp + 0x50]
push eax
call ebx
lea ecx, [esp + 0x54]
push ecx
mov ecx, eax
call ebx
lea ecx, [esp + 0x58]
push ecx
mov ecx, eax
call ebx
lea ecx, [esp + 0x5c]
push ecx
mov ecx, eax
call ebx
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x50]
dec eax
mov edx, dword [esp + 0x54]
add eax, ecx
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x5c]
dec eax
mov dword [esp + 0x7c], ecx
add eax, edx
mov dword [esp + 0x80], edx
mov dword [esp + 0x88], eax
movups xmm0, xmmword [esp + 0x7c]
movups xmmword [esi + 8], xmm0
jmp 0x650e77d7
lea eax, [esp + 0x20]
push eax
call ebx
lea ecx, [esp + 0x24]
push ecx
mov ecx, eax
call ebx
lea ecx, [esp + 0x60]
push ecx
mov ecx, eax
call ebx
lea ecx, [esp + 0x60]
push ecx
mov ecx, eax
call ebx
cmp dword [esp + 0x24], 0xffffffff
je 0x650e77e3
or dword [esp + 0x28], 2
cmp byte [esp + 0xb8], 0
jne 0x650e782f
mov ecx, dword [esp + 0x2c]
add ecx, 0x24
mov eax, dword [ecx]
mov eax, dword [eax]
cmp eax, 1
je 0x650e780f
test eax, eax
je 0x650e780f
push 1
push 0x7fffffff
call fcn.650e1af0
jmp 0x650e7815
call dword [0x652b23c4]
push 0x18
mov esi, eax
call fcn.652ae448
add esp, 4
lea ecx, [esp + 0x14]
push ecx
mov ecx, eax
call fcn.650e0be0
mov dword [esi], eax
mov esi, dword [esp + 0x18]
test esi, esi
je 0x650e7bf1
lea ecx, [esi + 0x24]
call fcn.650e0cd0
jmp 0x650e7bba
push 0xc
call fcn.652ae448
add esp, 4
mov ecx, eax
push ebp
call fcn.650dcd70
test byte [esp + 0x13], 2
movaps xmm0, xmmword [0x652d13d0]
mov dword [esp + 0x14], eax
movups xmmword [esp + 0x18], xmm0
mov dword [esp + 0x28], 0
je 0x650e7a0f
cmp byte [esp + 0xb8], 0
jne 0x650e7897
mov ecx, ebp
call sym.Qt5Widgets.dll_public:_void___thiscall_QWidget::hide_void_
push 1
mov ecx, ebp
call sym.Qt5Widgets.dll_public:_void___thiscall_QDockWidget::setFloating_bool_
mov ecx, dword [esp + 0xb0]
lea eax, [esp + 0x64]
push eax
call ebx
lea ecx, [esp + 0x68]
push ecx
mov ecx, eax
call ebx
lea ecx, [esp + 0x6c]
push ecx
mov ecx, eax
call ebx
lea ecx, [esp + 0x70]
push ecx
mov ecx, eax
call ebx
cmp byte [esp + 0xb8], 0
jne 0x650e7b7e
mov ecx, dword [esp + 0x64]
mov eax, dword [esp + 0x6c]
mov edx, dword [esp + 0x68]
mov dword [esp + 0x8c], ecx
dec ecx
add eax, ecx
mov dword [esp + 0x90], edx
mov dword [esp + 0x94], eax
dec edx
mov eax, dword [esp + 0x70]
add eax, edx
push ebp
mov dword [esp + 0x9c], eax
sub esp, 0x10
movups xmm0, xmmword [esp + 0xa0]
mov eax, esp
movups xmmword [eax], xmm0
lea eax, [esp + 0xb0]
push eax
call fcn.650e17e0
add esp, 0x18
mov ecx, ebp
push eax
call sym.Qt5Widgets.dll_public:_void___thiscall_QWidget::setGeometry_class_QRect_const__
mov eax, dword [ebp]
mov ecx, ebp
mov edx, dword [eax + 0x2c]
mov al, byte [esp + 0x13]
and al, 1
movzx eax, al
push eax
call edx
mov ecx, dword [esp + 0x2c]
add ecx, 0x24
mov eax, dword [ecx]
mov eax, dword [eax]
cmp eax, 1
je 0x650e7a04
test eax, eax
je 0x650e7a04
push 1
push 0x7fffffff
call fcn.650e1af0
push 0x18
mov ebp, eax
call fcn.652ae448
mov ecx, dword [esp + 0x18]
mov ebx, eax
add esp, 4
mov dword [ebx], ecx
mov dword [ebx + 4], 0
mov dword [ebx + 8], 0
mov ecx, dword [esp + 0x20]
mov dword [ebx + 0xc], ecx
mov ecx, dword [esp + 0x24]
mov dword [ebx + 0x10], ecx
mov eax, dword [esp + 0x28]
mov dword [ebx + 0x14], eax
cmp dword [esp + 0x18], 0
je 0x650e79c3
push 0x34
call fcn.652ae448
add esp, 4
mov ecx, eax
push dword [esp + 0x18]
call fcn.650e0aa0
mov dword [ebx + 4], eax
mov dword [ebp], ebx
jmp 0x650e7b8c
cmp dword [esp + 0x1c], 0
je 0x650e79fc
push 0x18
call fcn.652ae448
mov esi, dword [esp + 0x20]
add esp, 4
mov edi, eax
mov ecx, edi
push esi
call dword [0x652b2414]
movzx ecx, byte [esi + 4]
mov byte [edi + 4], cl
movzx ecx, byte [esi + 5]
mov byte [edi + 5], cl
movups xmm0, xmmword [esi + 8]
movups xmmword [edi + 8], xmm0
mov dword [ebx + 8], edi
mov dword [ebp], ebx
jmp 0x650e7b8c
call dword [0x652b23c4]
jmp 0x650e7965
mov ecx, dword [esp + 0xb0]
lea eax, [esp + 0x20]
push eax
call ebx
lea ecx, [esp + 0x24]
push ecx
mov ecx, eax
call ebx
lea ecx, [esp + 0x74]
push ecx
mov ecx, eax
call ebx
lea ecx, [esp + 0x74]
push ecx
mov ecx, eax
call ebx
cmp byte [esp + 0xb8], 0
jne 0x650e7b7e
mov esi, dword [esp + 0x2c]
mov eax, dword [esi + 0x24]
lea ecx, [esi + 0x24]
mov eax, dword [eax]
cmp eax, 1
je 0x650e7a69
test eax, eax
je 0x650e7a69
push 1
push 0x7fffffff
call fcn.650e1af0
jmp 0x650e7a6f
call dword [0x652b23c4]
push 0x18
mov dword [esp + 0x38], eax
call fcn.652ae448
mov ecx, dword [esp + 0x18]
mov ebx, eax
add esp, 4
mov dword [ebx], ecx
mov dword [ebx + 4], 0
mov dword [ebx + 8], 0
mov ecx, dword [esp + 0x20]
mov dword [ebx + 0xc], ecx
mov ecx, dword [esp + 0x24]
mov dword [ebx + 0x10], ecx
mov eax, dword [esp + 0x28]
mov dword [ebx + 0x14], eax
cmp dword [esp + 0x18], 0
je 0x650e7ac9
push 0x34
call fcn.652ae448
add esp, 4
mov ecx, eax
push dword [esp + 0x18]
call fcn.650e0aa0
mov dword [ebx + 4], eax
jmp 0x650e7b06
cmp dword [esp + 0x1c], 0
je 0x650e7b06
push 0x18
call fcn.652ae448
mov esi, dword [esp + 0x20]
add esp, 4
mov edi, eax
mov ecx, edi
push esi
call dword [0x652b2414]
movzx ecx, byte [esi + 4]
mov byte [edi + 4], cl
movzx ecx, byte [esi + 5]
mov byte [edi + 5], cl
movups xmm0, xmmword [esi + 8]
mov esi, dword [esp + 0x2c]
movups xmmword [edi + 8], xmm0
mov dword [ebx + 8], edi
mov eax, dword [esp + 0x34]
mov ecx, ebp
push 0
mov dword [eax], ebx
call sym.Qt5Widgets.dll_public:_void___thiscall_QDockWidget::setFloating_bool_
mov al, byte [esp + 0x13]
mov ecx, ebp
mov edx, dword [ebp]
and al, 1
movzx eax, al
push eax
call dword [edx + 0x2c]
mov eax, dword [esi + 8]
cmp eax, 3
ja case.default.0x650e7b2f
jmp dword [eax*4 + 0x650e7ee0]
mov eax, 1
mov ecx, ebp
push eax
call sym.Qt5Widgets.dll_public:_void___thiscall_QDockWidget::dockLocationChanged_enum_Qt::DockWidgetArea_
jmp 0x650e7b8c
mov eax, 2
mov ecx, ebp
push eax
call sym.Qt5Widgets.dll_public:_void___thiscall_QDockWidget::dockLocationChanged_enum_Qt::DockWidgetArea_
jmp 0x650e7b8c
mov eax, 4
mov ecx, ebp
push eax
call sym.Qt5Widgets.dll_public:_void___thiscall_QDockWidget::dockLocationChanged_enum_Qt::DockWidgetArea_
jmp 0x650e7b8c
mov eax, 8
mov ecx, ebp
push eax
call sym.Qt5Widgets.dll_public:_void___thiscall_QDockWidget::dockLocationChanged_enum_Qt::DockWidgetArea_
jmp 0x650e7b8c
xor eax, eax
mov ecx, ebp
push eax
call sym.Qt5Widgets.dll_public:_void___thiscall_QDockWidget::dockLocationChanged_enum_Qt::DockWidgetArea_
jmp 0x650e7b8c
mov ecx, dword [esp + 0x14]
test ecx, ecx
je 0x650e7b8c
mov eax, dword [ecx]
push 1
call dword [eax]
mov esi, dword [esp + 0x18]
test esi, esi
je 0x650e7bf1
mov edx, dword [esi + 0x24]
lea ecx, [esi + 0x24]
mov eax, dword [edx]
test eax, eax
je 0x650e7bb3
cmp eax, 0xffffffff
je 0x650e7bba
or eax, 0xffffffff
lock xadd dword [edx], eax
setne al
test al, al
jne 0x650e7bba
push dword [ecx]
call fcn.650e1930
mov ecx, dword [esi + 4]
mov eax, dword [ecx]
test eax, eax
je 0x650e7bd6
cmp eax, 0xffffffff
je 0x650e7be6
or eax, 0xffffffff
lock xadd dword [ecx], eax
setne al
test al, al
jne 0x650e7be6
push 4
push 4
push dword [esi + 4]
call dword [0x652b2428]
add esp, 0xc
push 0x34
push esi
call fcn.652ae47d
add esp, 8
mov esi, dword [esp + 0x1c]
test esi, esi
je 0x650e7c0c
mov ecx, esi
call dword [0x652b2410]
push 0x18
push esi
call fcn.652ae47d
add esp, 8
lea ecx, [esp + 0x38]
call dword [0x652b2410]
mov edi, dword [esp + 0xb0]
jmp 0x650e7e38
cmp al, 0xfc
jne 0x650e7ea4
push 0x34
call fcn.652ae448
mov edx, dword [esp + 0x30]
add esp, 4
mov ebx, dword [esi + 0x20]
mov ebp, dword [esi + 0x30]
mov edi, dword [esi + 0xc]
mov esi, dword [esi + 8]
mov ecx, dword [edx]
mov dword [esp + 0x34], eax
mov dword [eax], ecx
call dword [0x652b2424]
mov ecx, dword [esp + 0x34]
mov dword [ecx + 4], eax
mov dword [ecx + 8], esi
mov esi, dword [0x652b2148]
mov dword [ecx + 0xc], edi
mov edi, dword [esp + 0xb0]
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
mov dword [ecx + 0x18], 0xffffffff
mov dword [ecx + 0x1c], 0xffffffff
mov dword [ecx + 0x20], ebx
mov eax, dword [0x652b22d4]
mov dword [ecx + 0x24], eax
lea eax, [esp + 0x20]
mov byte [ecx + 0x28], 0
mov dword [ecx + 0x2c], 0
mov dword [ecx + 0x30], ebp
mov dword [esp + 0x18], ecx
mov ecx, edi
push eax
mov dword [esp + 0x18], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x24], 0
mov dword [esp + 0x28], 0xffffffff
mov dword [esp + 0x2c], 0
call esi
lea ecx, [esp + 0x24]
push ecx
mov ecx, eax
call esi
lea ecx, [esp + 0x78]
push ecx
mov ecx, eax
call esi
lea ecx, [esp + 0x78]
push ecx
mov ecx, eax
call esi
mov ebx, dword [esp + 0xb8]
test bl, bl
jne 0x650e7e16
mov ebp, dword [esp + 0x2c]
add ebp, 0x24
mov eax, dword [ebp]
mov eax, dword [eax]
cmp eax, 1
je 0x650e7de1
test eax, eax
je 0x650e7de1
push 1
push 0x7fffffff
mov ecx, ebp
call fcn.650e1af0
push 0x18
mov dword [esp + 0x38], eax
call fcn.652ae448
mov ecx, dword [esp + 0x18]
mov ebx, eax
add esp, 4
mov dword [ebx], ecx
mov dword [ebx + 4], 0
mov dword [ebx + 8], 0
mov ecx, dword [esp + 0x20]
mov dword [ebx + 0xc], ecx
mov ecx, dword [esp + 0x24]
mov dword [ebx + 0x10], ecx
mov eax, dword [esp + 0x28]
mov dword [ebx + 0x14], eax
cmp dword [esp + 0x18], 0
je 0x650e7d92
push 0x34
call fcn.652ae448
add esp, 4
mov ecx, eax
push dword [esp + 0x18]
call fcn.650e0aa0
mov dword [ebx + 4], eax
mov eax, dword [esp + 0x34]
mov dword [eax], ebx
mov ebx, dword [esp + 0xb8]
jmp 0x650e7e03
cmp dword [esp + 0x1c], 0
je 0x650e7dd2
push 0x18
call fcn.652ae448
mov esi, dword [esp + 0x20]
add esp, 4
mov edi, eax
mov ecx, edi
push esi
call dword [0x652b2414]
movzx ecx, byte [esi + 4]
mov byte [edi + 4], cl
movzx ecx, byte [esi + 5]
mov byte [edi + 5], cl
movups xmm0, xmmword [esi + 8]
movups xmmword [edi + 8], xmm0
mov dword [ebx + 8], edi
mov edi, dword [esp + 0xb0]
mov eax, dword [esp + 0x34]
mov dword [eax], ebx
mov ebx, dword [esp + 0xb8]
jmp 0x650e7e03
mov ecx, ebp
call dword [0x652b23c4]
push 0x18
mov esi, eax
call fcn.652ae448
add esp, 4
lea ecx, [esp + 0x14]
push ecx
mov ecx, eax
call fcn.650e0be0
mov dword [esi], eax
mov ecx, ebp
call fcn.650e1a80
mov ecx, dword [ebp]
mov eax, dword [ecx + 0xc]
mov ecx, dword [ecx + eax*4 + 0xc]
jmp 0x650e7e1a
lea ecx, [esp + 0x14]
mov ecx, dword [ecx + 4]
push ebx
push dword [esp + 0xb8]
push edi
call fcn.650e74e0
lea ecx, [esp + 0x14]
test al, al
je 0x650e7e9f
call fcn.650e0d50
mov ebp, dword [0x652b207c]
mov esi, dword [esp + 0x2c]
mov eax, dword [esp + 0x44]
mov ebx, dword [0x652b2148]
inc eax
mov dword [esp + 0x44], eax
cmp eax, dword [esp + 0x48]
jl 0x650e7567
cmp byte [esp + 0xb8], 0
jne 0x650e7ece
cmp byte [esi + 0x28], 0
je 0x650e7ec0
mov edx, dword [esp + 0x40]
test edx, edx
js 0x650e7ec0
mov eax, dword [esi + 0x24]
mov ecx, dword [eax + 0xc]
sub ecx, dword [eax + 8]
cmp edx, ecx
jge 0x650e7ec0
mov ecx, esi
call fcn.650eaf50
mov ecx, dword [esi + 0x24]
mov eax, dword [ecx + 8]
add eax, dword [esp + 0x40]
mov eax, dword [ecx + eax*4 + 0x10]
mov ecx, dword [eax]
test ecx, ecx
jne 0x650e7eb3
xor eax, eax
jmp 0x650e7eb8
call fcn.650e0d50
xor al, al
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x9c
ret 0xc
mov eax, dword [ecx]
call dword [eax + 0x30]
push eax
mov ecx, esi
call fcn.650e9550
mov eax, dword [esi]
cmp dword [eax], 1
jne 0x650e7ece
mov ecx, esi
call fcn.650ead30
pop edi
pop esi
pop ebp
mov al, 1
pop ebx
add esp, 0x9c
ret 0xc