Function at 0x10042540
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
push ecx
cmp dword [ebp + 0xc], 0
push ebx
push esi
push edi
jl 0x1004278e
mov esi, dword [ebp + 0x1c]
cmp dword [esi + 0x2c], 0xffffffff
jne 0x10042580
mov eax, dword [esi + 0x1b4]
test eax, eax
je 0x1004278e
push eax
call sym.ExuiKrnln_X32.dll_DeleteTimerEx
mov dword [esi + 0x1b4], 0
pop edi
pop esi
pop ebx
pop ecx
pop ebp
ret 0x18
mov eax, dword [esi + 0x1a4]
movzx ecx, ax
test eax, eax
jne 0x1004266b
mov edi, dword [esi + 0x1b4]
test edi, edi
je 0x10042609
cmp byte [edi + 0x10], al
jne 0x100425ff
cmp dword [edi + 4], edi
jne 0x100425ff
mov ebx, dword [edi + 8]
mov byte [edi + 0x10], 1
mov dword [edi + 4], eax
mov dword [edi + 8], eax
test ebx, ebx
je 0x100425d3
push 0xea60
push 0xea60
push ebx
push eax
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 0x10109f80
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [esi + 0x1b4], 0
mov dword [esi + 0x1b0], 0xff
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0
push 0
push esi
call sym.ExuiKrnln_X32.dll_ControlAddRedrawRect
cmp dword [esi + 0x2c], 1
jl 0x1004278e
cmp dword [esi + 0xdc], 1
jl 0x1004278e
cmp dword [esi + 0xe4], 0
jle 0x1004264f
inc dword [esi + 0xe0]
pop edi
pop esi
pop ebx
pop ecx
pop ebp
ret 0x18
or dword [esi + 0xd0], 1
push 1
push 0x101916f4
call dword [sym.imp.KERNEL32.dll_InterlockedExchange]
pop edi
pop esi
pop ebx
pop ecx
pop ebp
ret 0x18
mov eax, dword [esi + 0x1b0]
movsx ecx, cx
add eax, ecx
mov dword [esi + 0x1b0], eax
cmp eax, 0xfe
jle 0x1004271c
mov edi, dword [esi + 0x1b4]
mov dword [esi + 0x1b0], 0xff
test edi, edi
je 0x10042613
cmp byte [edi + 0x10], 0
jne 0x1004270d
cmp dword [edi + 4], edi
jne 0x1004270d
mov ebx, dword [edi + 8]
mov byte [edi + 0x10], 1
mov dword [edi + 4], 0
mov dword [edi + 8], 0
test ebx, ebx
je 0x100426e1
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 0x10109f80
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [esi + 0x1b4], 0
jmp 0x10042613
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0
push 0
push esi
call sym.ExuiKrnln_X32.dll_ControlAddRedrawRect
cmp dword [esi + 0x2c], 1
jl 0x1004275e
cmp dword [esi + 0xdc], 1
jl 0x1004275e
cmp dword [esi + 0xe4], 0
jle 0x1004274a
inc dword [esi + 0xe0]
jmp 0x1004275e
or dword [esi + 0xd0], 1
push 1
push 0x101916f4
call dword [sym.imp.KERNEL32.dll_InterlockedExchange]
cmp dword [esi + 0x1b4], 0
jne 0x1004278e
movsx eax, word [esi + 0x1a6]
mov ecx, 0x21
push 0
push 0
test eax, eax
push esi
cmove eax, ecx
push fcn.10042540
push eax
call sym.ExuiKrnln_X32.dll_CreateTimerEx
mov dword [esi + 0x1b4], eax
pop edi
pop esi
pop ebx
pop ecx
pop ebp
ret 0x18