Function at 0x51aa10
Capabilities:
Terminate thread

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x60aa93
mov eax, dword fs:[0]
push eax
sub esp, 8
push ebx
push esi
push edi
mov eax, dword [0x6b000c]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [ebp - 0x10], esi
mov dword [esi], vtable.CRegDlg.4.0
mov dword [esi + 0x10], vtable.CRegDlg.3.0
mov dword [esi + 0x24], vtable.CRegDlg.0
mov dword [esi + 0x28], vtable.CRegDlg.1.0
mov dword [esi + 0x2c], vtable.CRegDlg.2.0
mov dword [esi + 0x30], vtable.CRegDlg.5.0
mov dword [ebp - 4], 0xb
mov edi, dword [esi + 0x928]
mov ebx, dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test edi, edi
je 0x51aa95
push 0x5dc
push edi
call ebx
push 0
push edi
call dword [sym.imp.KERNEL32.dll_TerminateThread]
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov edi, dword [esi + 0x94c]
test edi, edi
je 0x51aab7
push 0x5dc
push edi
call ebx
push 0
push edi
call dword [sym.imp.KERNEL32.dll_TerminateThread]
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov edi, dword [esi + 0x950]
test edi, edi
je 0x51aad9
push 0x5dc
push edi
call ebx
push 0
push edi
call dword [sym.imp.KERNEL32.dll_TerminateThread]
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov edi, dword [esi + 0x944]
test edi, edi
je 0x51ab03
mov ecx, edi
call dword [sym.imp.ycomuiu.dll_public:_void___thiscall_DuiLib::CMenuWnd::destructor_void_]
push 0x904
push edi
call fcn.005603ff
add esp, 8
mov dword [esi + 0x944], 0
mov byte [ebp - 4], 0xa
lea ecx, [esi + 0x938]
call fcn.004c9940
mov byte [ebp - 4], 9
lea ecx, [esi + 0x92c]
call fcn.004c9940
mov byte [ebp - 4], 8
lea eax, [esi + 0x920]
mov dword [ebp - 0x14], eax
mov byte [ebp - 4], 8
or edi, 0xffffffff
mov edx, dword [eax]
mov eax, edi
sub edx, 0x10
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x51ab4e
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 7
lea eax, [esi + 0x91c]
mov dword [ebp - 0x14], eax
mov byte [ebp - 4], 7
mov edx, dword [eax]
mov eax, edi
sub edx, 0x10
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x51ab78
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 6
lea eax, [esi + 0x918]
mov dword [ebp - 0x14], eax
mov byte [ebp - 4], 6
mov edx, dword [eax]
mov eax, edi
sub edx, 0x10
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x51aba2
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 5
lea eax, [esi + 0x914]
mov dword [ebp - 0x14], eax
mov byte [ebp - 4], 5
mov edx, dword [eax]
mov eax, edi
sub edx, 0x10
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x51abcc
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 4
lea eax, [esi + 0x910]
mov dword [ebp - 0x14], eax
mov byte [ebp - 4], 4
mov edx, dword [eax]
mov eax, edi
sub edx, 0x10
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x51abf6
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 3
lea eax, [esi + 0x90c]
mov dword [ebp - 0x14], eax
mov byte [ebp - 4], 3
mov edx, dword [eax]
mov eax, edi
sub edx, 0x10
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x51ac20
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 2
lea eax, [esi + 0x908]
mov dword [ebp - 0x14], eax
mov byte [ebp - 4], 2
mov edx, dword [eax]
mov eax, edi
sub edx, 0x10
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x51ac4a
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 1
lea eax, [esi + 0x904]
mov dword [ebp - 0x14], eax
mov byte [ebp - 4], 1
mov edx, dword [eax]
mov eax, edi
sub edx, 0x10
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x51ac74
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0
lea eax, [esi + 0x900]
mov dword [ebp - 0x14], eax
mov byte [ebp - 4], 0
mov edx, dword [eax]
sub edx, 0x10
lock xadd dword [edx + 0xc], edi
dec edi
test edi, edi
jg 0x51ac9c
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [ebp - 4], 0xffffffff
mov dword [esi], vtable.MyBaseWindow.5.0
mov dword [esi + 0x10], vtable.MyBaseWindow.2.0
mov dword [esi + 0x24], vtable.MyBaseWindow.1.0
mov dword [esi + 0x28], vtable.MyBaseWindow.4.0
mov dword [esi + 0x2c], vtable.MyBaseWindow.0
mov dword [esi + 0x30], vtable.MyBaseWindow.3.0
mov dword [ebp - 4], 0xffffffff
mov ecx, esi
call dword [sym.imp.ycomuiu.dll_public_virtual:_void___thiscall_DuiLib::WindowImplBase::destructor_void_]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret