Function at 0x10031356
Capabilities:
Check for time delay via queryperformancecounter

Disassembly:
push 0xbc
mov eax, 0x101dc81b
call fcn.1005d984
mov ebx, ecx
push dword [ebx + 4]
lea ecx, [ebx + 0x2ec]
call fcn.100755d9
push 0x24
call fcn.1005d5a3
pop ecx
mov dword [ebp - 0xb0], eax
xor esi, esi
mov dword [ebp - 4], esi
test eax, eax
je 0x10031395
mov ecx, eax
call fcn.1004dc1b
jmp 0x10031397
mov eax, esi
or dword [ebp - 4], 0xffffffff
push 0x24
mov dword [ebx + 0x354], eax
call fcn.1005d5a3
pop ecx
mov dword [ebp - 0xb0], eax
mov dword [ebp - 4], 1
test eax, eax
je 0x100313c3
mov ecx, eax
call fcn.1004dc1b
jmp 0x100313c5
mov eax, esi
or dword [ebp - 4], 0xffffffff
push 0xc
mov dword [ebx + 0x358], eax
call fcn.1005d5a3
pop ecx
test eax, eax
je 0x100313e5
mov dword [eax], esi
mov dword [eax + 4], esi
mov dword [eax + 8], esi
jmp 0x100313e7
mov eax, esi
push 0xc
mov dword [ebx + 0x35c], eax
call fcn.1005d5a3
pop ecx
test eax, eax
je 0x10031403
mov dword [eax], esi
mov dword [eax + 4], esi
mov dword [eax + 8], esi
jmp 0x10031405
mov eax, esi
mov ecx, dword [ebx + 0x354]
mov dword [ebx + 0x364], eax
call fcn.1004dd03
mov ecx, dword [ebx + 0x358]
call fcn.1004dd03
mov esi, dword [sym.imp.DuiLib32.dll_public:_class_DuiLib::CControlUI____thiscall_DuiLib::CPaintManagerUI::FindControl_wchar_t_const__const]
lea edi, [ebx + 0x2c]
push str.CharDrawTabs
mov ecx, edi
call esi
push str.CharacterDrawVal
mov ecx, edi
mov dword [ebx + 0x324], eax
call esi
push str.drawfirstbtn
mov ecx, edi
mov dword [ebx + 0x328], eax
call esi
push str.drawsecondbtn
mov ecx, edi
mov dword [ebx + 0x348], eax
call esi
push str.ClearAll
mov ecx, edi
mov dword [ebx + 0x34c], eax
call esi
push str.ShortCutTips
mov ecx, edi
mov dword [ebx + 0x350], eax
call esi
push str.SearchShortCutTips
mov ecx, edi
mov dword [ebx + 0x368], eax
call esi
push str.LatelyShortCutTips
mov ecx, edi
mov dword [ebx + 0x36c], eax
call esi
push str.search_bottom
mov ecx, edi
mov dword [ebx + 0x370], eax
call esi
push str.lately_bottom
mov ecx, edi
mov dword [ebx + 0x32c], eax
call esi
push str.char_bottom
mov ecx, edi
mov dword [ebx + 0x334], eax
call esi
push str.no_result
mov ecx, edi
mov dword [ebx + 0x330], eax
call esi
push str.no_result_hor
mov ecx, edi
mov dword [ebx + 0x344], eax
call esi
push str.symbol_hor
mov ecx, edi
mov dword [ebx + 0x338], eax
call esi
push str.search_result
mov ecx, edi
mov dword [ebx + 0x33c], eax
call esi
mov ecx, dword [ebx + 0x324]
xor edi, edi
push edi
mov dword [ebx + 0x340], eax
call dword [sym.imp.DuiLib32.dll_public:_bool___thiscall_DuiLib::CTabLayoutUI::SelectItem_int_]
mov ecx, dword [ebx + 0x34c]
push 1
mov eax, dword [ecx]
call dword [eax + 0x144]
mov ecx, dword [ebx + 0x350]
push edi
mov eax, dword [ecx]
call dword [eax + 0xd8]
mov ecx, ebx
call fcn.100316b8
mov ecx, ebx
call fcn.10031c1b
lea eax, [ebp - 0xb8]
push eax
call dword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
mov esi, dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
lea eax, [ebp - 0xc8]
push eax
call esi
mov ecx, ebx
call fcn.10033f8e
lea eax, [ebp - 0xc0]
push eax
call esi
xor eax, eax
mov dword [ebp - 0x14], 7
mov esi, 0x101eaf58
mov dword [ebp - 0x18], edi
push esi
mov word [ebp - 0x28], ax
call fcn.1008133f
pop ecx
push eax
push esi
lea ecx, [ebp - 0x28]
call fcn.10002750
mov ecx, dword [ebx + 0x328]
add ecx, 0x4b8
mov dword [ebp - 4], 2
push edi
mov eax, dword [ecx]
call dword [eax]
push 1
lea ecx, [eax + 0x4b8]
mov eax, dword [ecx]
call dword [eax]
push edi
lea ecx, [eax + 0x4b8]
mov eax, dword [ecx]
call dword [eax]
lea ecx, [ebp - 0xac]
push ecx
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x28]
mov ecx, eax
mov byte [ebp - 4], 3
call dword [sym.imp.DuiLib32.dll_public:_wchar_t_const____thiscall_DuiLib::CDuiString::operator_wchar_t_const__void_const]
mov esi, eax
cmp word [esi], di
jne 0x100315ed
mov eax, edi
jmp 0x100315f4
push esi
call fcn.1008133f
pop ecx
push eax
push esi
lea ecx, [ebp - 0x28]
call fcn.10004340
lea ecx, [ebp - 0xac]
mov byte [ebp - 4], 2
call dword [sym.imp.DuiLib32.dll_public:_void___thiscall_DuiLib::CDuiString::destructor_void_]
mov esi, 0x101eaf6c
push esi
call fcn.1008133f
pop ecx
push eax
push esi
lea ecx, [ebp - 0x28]
call fcn.10004340
lea ecx, [ebx + 0x374]
lea eax, [ebp - 0x28]
cmp ecx, eax
je 0x1003163a
push 0xffffffffffffffff
push edi
push eax
call fcn.10002960
mov ecx, dword [ebx + 0x368]
lea edx, [ebp - 0x28]
cmp dword [ebp - 0x14], 8
cmovae edx, dword [ebp - 0x28]
mov eax, dword [ecx]
push edx
call dword [eax + 0x2c]
mov ecx, dword [ebx + 0x368]
push 1
mov eax, dword [ecx]
call dword [eax + 0xd8]
mov ecx, dword [ebx + 0x350]
push edi
mov eax, dword [ecx]
call dword [eax + 0xd8]
push edi
push 1
lea ecx, [ebp - 0x28]
call fcn.10002690
call fcn.1005d93f
ret