Function at 0x1012cd10
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push ecx
cmp dword [ebp + 0xc], 0
push ebx
push esi
mov esi, dword [ebp + 0x1c]
push edi
jl 0x1012d067
cmp dword [esi + 0x2c], 0xffffffff
jge 0x1012cd5c
mov eax, dword [esi + 0x210]
test eax, eax
je 0x1012cd47
push eax
call sym.ExuiKrnln_X32.dll_DeleteTimerEx
mov dword [esi + 0x210], 0
mov eax, dword [esi + 0x208]
mov dword [esi + 0x20c], eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x18
cmp byte [0x10178424], 0
jne 0x1012cf99
cmp byte [esi + 0x17c], 0
je 0x1012cf99
mov eax, dword [esi + 0x1b8]
test eax, eax
jne 0x1012cded
cmp dword [esi + 0x210], eax
je 0x1012cd8e
inc dword [esi + 0x20c]
mov eax, dword [esi + 0x20c]
cmp eax, dword [esi + 0x208]
jle 0x1012cda8
mov eax, dword [esi + 0x204]
mov dword [esi + 0x20c], eax
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0
push 0
push esi
call sym.ExuiKrnln_X32.dll_ControlAddRedrawRect
push esi
call sym.ExuiKrnln_X32.dll_ControlRedraw
cmp dword [esi + 0x210], 0
jne 0x1012d067
push 0
push 0
push esi
push fcn.1012cd10
push dword [esi + 0x1fc]
call sym.ExuiKrnln_X32.dll_CreateTimerEx
mov dword [esi + 0x210], eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x18
cmp eax, 1
jne 0x1012ceb3
mov edi, dword [esi + 0x210]
test edi, edi
je 0x1012ce06
inc dword [esi + 0x20c]
mov eax, dword [esi + 0x208]
cmp dword [esi + 0x20c], eax
jl 0x1012cda8
mov dword [esi + 0x20c], eax
test edi, edi
je 0x1012ce96
cmp byte [edi + 0x10], 0
jne 0x1012ce8c
cmp dword [edi + 4], edi
jne 0x1012ce8c
mov ebx, dword [edi + 8]
mov byte [edi + 0x10], 1
mov dword [edi + 4], 0
mov dword [edi + 8], 0
test ebx, ebx
je 0x1012ce60
push 0xea60
push 0xea60
push ebx
push 0
call dword [sym.imp.KERNEL32.dll_ChangeTimerQueueTimer]
push 0
push ebx
push 0
call dword [sym.imp.KERNEL32.dll_DeleteTimerQueueTimer]
push dword [edi + 0x20]
mov eax, dword [edi + 0x1c]
push 0
push 0
push 0
push 0xfffffffffffffffe
push edi
call eax
push 0
push 0
push edi
push 0x100f7b20
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [esi + 0x210], 0
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0
push 0
push esi
call sym.ExuiKrnln_X32.dll_ControlAddRedrawRect
push esi
call sym.ExuiKrnln_X32.dll_ControlRedraw
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x18
cmp eax, 2
jne 0x1012d067
cmp dword [esi + 0x210], 0
je 0x1012cedd
mov eax, dword [esi + 0x20c]
cmp dword [esi + 0x208], eax
jge 0x1012ced6
dec eax
jmp 0x1012ced7
inc eax
mov dword [esi + 0x20c], eax
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 eax, dword [esi + 0x20c]
mov edi, dword [esi + 0x210]
cmp eax, dword [esi + 0x208]
jne 0x1012cf92
test edi, edi
je 0x1012d067
cmp byte [edi + 0x10], 0
jne 0x1012cf7f
cmp dword [edi + 4], edi
jne 0x1012cf7f
mov ebx, dword [edi + 8]
mov byte [edi + 0x10], 1
mov dword [edi + 4], 0
mov dword [edi + 8], 0
test ebx, ebx
je 0x1012cf53
push 0xea60
push 0xea60
push ebx
push 0
call dword [sym.imp.KERNEL32.dll_ChangeTimerQueueTimer]
push 0
push ebx
push 0
call dword [sym.imp.KERNEL32.dll_DeleteTimerQueueTimer]
push dword [edi + 0x20]
mov eax, dword [edi + 0x1c]
push 0
push 0
push 0
push 0xfffffffffffffffe
push edi
call eax
push 0
push 0
push edi
push 0x100f7b20
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [esi + 0x210], 0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x18
test edi, edi
jmp 0x1012cdc3
mov edi, dword [esi + 0x210]
test edi, edi
je 0x1012d01b
cmp byte [edi + 0x10], 0
jne 0x1012d011
cmp dword [edi + 4], edi
jne 0x1012d011
mov ebx, dword [edi + 8]
mov byte [edi + 0x10], 1
mov dword [edi + 4], 0
mov dword [edi + 8], 0
test ebx, ebx
je 0x1012cfe5
push 0xea60
push 0xea60
push ebx
push 0
call dword [sym.imp.KERNEL32.dll_ChangeTimerQueueTimer]
push 0
push ebx
push 0
call dword [sym.imp.KERNEL32.dll_DeleteTimerQueueTimer]
push dword [edi + 0x20]
mov eax, dword [edi + 0x1c]
push 0
push 0
push 0
push 0xfffffffffffffffe
push edi
call eax
push 0
push 0
push edi
push 0x100f7b20
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [esi + 0x210], 0
mov eax, dword [esi + 0x208]
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0
push 0
push esi
mov dword [esi + 0x20c], eax
call sym.ExuiKrnln_X32.dll_ControlAddRedrawRect
cmp dword [esi + 0x2c], 1
jl 0x1012d067
cmp dword [esi + 0xe4], 0
jle 0x1012d053
inc dword [esi + 0xe0]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x18
or dword [esi + 0xd0], 1
push 1
push 0x10178464
call dword [sym.imp.KERNEL32.dll_InterlockedExchange]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x18