Function at 0x100cbac0
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push ecx
cmp dword [ebp + 0xc], 0
push ebx
push esi
push edi
jl 0x100cbcf3
cmp byte [0x10177410], 0
mov esi, dword [ebp + 0x1c]
jne 0x100cbc83
mov ecx, dword [esi + 0x184]
test ecx, ecx
je 0x100cbc83
cmp byte [esi + 0x178], 0
je 0x100cbc83
mov edi, dword [esi + 0x17c]
cmp edi, 2
jl 0x100cbc83
mov edx, dword [esi + 0x180]
inc edx
mov dword [esi + 0x180], edx
cmp edx, edi
jl 0x100cbb2b
mov dword [esi + 0x180], 0
xor edx, edx
cmp byte [esi + 0xd4], 0
je 0x100cbb39
call fcn.100961e0
cmp dword [esi + 0x17c], 0
je 0x100cbc1b
mov ebx, dword [esi + 0x1b0]
test ebx, ebx
je 0x100cbc1b
mov eax, dword [esi + 0x180]
mov edi, dword [esi + 0x190]
mov ebx, dword [ebx + eax*4]
test edi, edi
jne 0x100cbb82
push edi
push edi
push edi
push esi
push fcn.100cbac0
push ebx
push ebx
call sym.ExuiKrnln_X32.dll_CreateTimerEx
mov dword [esi + 0x190], eax
jmp 0x100cbc1b
cmp byte [edi + 0xc], 0
jne 0x100cbc1b
cmp dword [edi + 0x24], 0
mov ecx, dword [sym.imp.KERNEL32.dll_ChangeTimerQueueTimer]
jle 0x100cbbbe
mov eax, dword [edi + 4]
test eax, eax
je 0x100cbbbe
mov dword [edi + 0x24], ebx
mov dword [edi + 0x20], ebx
test ebx, ebx
js 0x100cbc4a
push ebx
push ebx
push eax
push 0
call ecx
test eax, eax
jne 0x100cbc1b
mov ecx, dword [sym.imp.KERNEL32.dll_ChangeTimerQueueTimer]
mov edx, dword [edi + 4]
lea eax, [edi + 4]
mov dword [edi + 0x24], ebx
mov dword [edi + 0x20], ebx
test edx, edx
je 0x100cbc03
push 0x3a98
push 0x3a98
push edx
push 0
call ecx
push 0
push 0
push dword [edi + 4]
push 0x10102b60
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea eax, [edi + 4]
mov dword [eax], 0
test ebx, ebx
js 0x100cbc1b
push dword [edi + 0x28]
push ebx
push ebx
push edi
push 0x10102b80
push 0
push eax
call dword [sym.imp.KERNEL32.dll_CreateTimerQueueTimer]
cmp byte [esi + 0xd4], 0
je 0x100cbcf3
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0
push 0
push esi
call sym.ExuiKrnln_X32.dll_ControlAddRedrawRect
push esi
call sym.ExuiKrnln_X32.dll_ControlRedraw
call sym.ExuiKrnln_X32.dll_ControlUpdateCache
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x18
push 0x3a98
push 0x3a98
push eax
push 0
call dword [sym.imp.KERNEL32.dll_ChangeTimerQueueTimer]
push 0
push 0
push dword [edi + 4]
push 0x10102b60
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [edi + 4], 0
jmp 0x100cbc1b
cmp byte [esi + 0xd4], 0
je 0x100cbca0
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0
push 0
push esi
call sym.ExuiKrnln_X32.dll_ControlAddRedrawRect
push esi
call sym.ExuiKrnln_X32.dll_ControlRedraw
mov edi, dword [esi + 0x190]
test edi, edi
je 0x100cbcf3
cmp byte [edi + 0xc], 0
jne 0x100cbce9
mov eax, dword [edi + 4]
mov byte [edi + 0xc], 1
test eax, eax
je 0x100cbce9
push 0x3a98
push 0x3a98
push eax
push 0
call dword [sym.imp.KERNEL32.dll_ChangeTimerQueueTimer]
push 0
push 0
push edi
push 0x10102b10
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [esi + 0x190], 0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x18