Function at 0x490e80
Capabilities:
Terminate thread

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x61d950
mov eax, dword fs:[0]
push eax
sub esp, 0x3c
mov eax, dword [0x6ec7c0]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
push str.CItemListCtrl::CItemListCtrl
lea ecx, [ebp - 0x48]
mov dword [esi], vtable.CItemListCtrl.0
mov dword [esi + 0x80], vtable.CItemListCtrl.1.0
mov dword [esi + method.CItemListCtrl.2.virtual_0], vtable.CItemListCtrl.2.0
mov dword [esi + method.CItemListCtrl.3.virtual_0], vtable.CItemListCtrl.3.0
call fcn.00562ae0
cmp dword [esi + 0x1e0], 0
mov ebx, dword [sym.imp.KERNEL32.dll_CloseHandle]
je 0x490f2e
push dword [esi + 0x1f0]
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
push 0x3e8
push dword [esi + 0x1e0]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
je 0x490f1c
push 0
push dword [esi + 0x1e0]
call dword [sym.imp.KERNEL32.dll_TerminateThread]
push dword [esi + 0x1e0]
call ebx
mov dword [esi + 0x1e0], 0
mov eax, dword [esi + 0x1f0]
test eax, eax
je 0x490f45
push eax
call ebx
mov dword [esi + 0x1f0], 0
mov eax, dword [esi + 0x1e8]
test eax, eax
je 0x490f5c
push eax
call ebx
mov dword [esi + 0x1e8], 0
mov eax, dword [esi + 0x1e4]
test eax, eax
je 0x490f81
push 0
push eax
call dword [sym.imp.KERNEL32.dll_TerminateThread]
push dword [esi + 0x1e4]
call ebx
mov dword [esi + 0x1e4], 0
mov eax, dword [esi + 0x1ec]
test eax, eax
je 0x490f98
push eax
call ebx
mov dword [esi + 0x1ec], 0
lea ecx, [esi + 0x22c]
call fcn.006038bf
mov eax, dword [esi + 0x228]
test eax, eax
je 0x490fc6
push eax
call fcn.006038b3
test eax, eax
je 0x490fba
mov eax, dword [eax + 4]
push eax
push dword [esi + 0x238]
call fcn.00603bdd
lea ecx, [esi + 0x234]
call fcn.00603bd1
mov ecx, dword [esi + 0x168]
test ecx, ecx
je 0x490fe2
mov eax, dword [ecx]
push 1
call dword [eax + 4]
lea ecx, [ebp - 0x48]
call fcn.005630c0
lea ecx, [esi + 0x2d8]
call fcn.00491120
mov edi, dword [esi + 0x2d4]
test edi, edi
je 0x491020
or ebx, 0xffffffff
mov eax, ebx
lock xadd dword [edi + 4], eax
jne 0x491020
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
lock xadd dword [edi + 8], ebx
dec ebx
jne 0x491020
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
lea ecx, [esi + 0x2c8]
mov dword [ecx], vtable.CBitmap.0
call fcn.00415590
lea ecx, [esi + 0x248]
call fcn.00603c79
lea ecx, [esi + 0x234]
call fcn.00603bd7
lea ecx, [esi + 0x22c]
mov dword [ecx], vtable.CPen.0
call fcn.00415590
lea ecx, [esi + 0x220]
call fcn.00603bef
lea ecx, [esi + 0x218]
mov dword [ecx], vtable.CBitmap.0
call fcn.00415590
mov edi, dword [0x63d068]
lea ecx, [esi + 0x1c4]
call edi
lea ecx, [esi + 0x1a8]
call edi
lea ecx, [esi + 0x18c]
call edi
lea ecx, [esi + 0x170]
call edi
mov eax, dword [esi + 0x15c]
lea edi, [esi + 0x15c]
mov ecx, edi
push dword [eax + 4]
push edi
call fcn.00490580
push 0x1c
push dword [edi]
call fcn.00604b8c
mov ecx, dword [esi + 0x154]
add esp, 8
mov eax, dword [ecx + 4]
mov dword [eax], 0
mov eax, dword [ecx]
test eax, eax
je 0x4910e5
mov edi, dword [eax]
push 0xc
push eax
call fcn.00604b8c
add esp, 8
mov eax, edi
test edi, edi
jne 0x4910d2
push 0xc
push dword [esi + 0x154]
call fcn.00604b8c
add esp, 8
mov ecx, esi
call fcn.004fb1e0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00604ed9
mov esp, ebp
pop ebp
ret