Function at 0x1013e120
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
push ecx
cmp dword [ebp + 0xc], 0
push ebx
push esi
mov esi, dword [ebp + 0x1c]
push edi
jl 0x1013e3eb
cmp dword [esi + 0x2c], 1
jl 0x1013e3d1
cmp dword [esi + 0x12c], 1
jl 0x1013e3d1
cmp dword [esi + 0x1ac], 0
jne 0x1013e242
mov edi, dword [esi + 0x1bc]
test edi, edi
je 0x1013e1da
cmp byte [edi + 0x10], 0
jne 0x1013e1d0
cmp dword [edi + 4], edi
jne 0x1013e1d0
mov ebx, dword [edi + 8]
mov byte [edi + 0x10], 1
mov dword [edi + 4], 0
mov dword [edi + 8], 0
test ebx, ebx
je 0x1013e1a4
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 + 0x1bc], 0
push dword [esi + 0x1dc]
push dword [esi + 0x1d8]
push dword [esi + 0x1d4]
push dword [esi + 0x1d0]
push esi
call sym.ExuiKrnln_X32.dll_ControlAddRedrawRect
cmp dword [esi + 0x2c], 1
jl 0x1013e3eb
cmp dword [esi + 0xdc], 1
jl 0x1013e3eb
cmp dword [esi + 0xe4], 0
jle 0x1013e226
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
xor ebx, ebx
xor edx, edx
xor ecx, ecx
nop dword [eax + eax]
mov eax, dword [esi + 0x128]
mov edi, dword [eax + ecx*4]
cmp dword [edi + 0x28], 0xff
jne 0x1013e265
inc ebx
jmp 0x1013e28e
movsx eax, word [esi + 0x1ac]
add dword [edi + 0x28], eax
mov eax, dword [esi + 0x128]
mov eax, dword [eax + ecx*4]
cmp dword [eax + 0x28], 0xfe
jle 0x1013e289
mov dword [eax + 0x28], 0xff
inc ebx
mov edx, 1
inc ecx
cmp ecx, dword [esi + 0x12c]
jl 0x1013e250
test edx, edx
je 0x1013e2ed
push dword [esi + 0x1dc]
push dword [esi + 0x1d8]
push dword [esi + 0x1d4]
push dword [esi + 0x1d0]
push esi
call sym.ExuiKrnln_X32.dll_ControlAddRedrawRect
cmp dword [esi + 0x2c], 1
jl 0x1013e2ed
cmp dword [esi + 0xdc], 1
jl 0x1013e2ed
cmp dword [esi + 0xe4], 0
jle 0x1013e2d9
inc dword [esi + 0xe0]
jmp 0x1013e2ed
or dword [esi + 0xd0], 1
push 1
push 0x101916f4
call dword [sym.imp.KERNEL32.dll_InterlockedExchange]
mov edi, dword [esi + 0x1bc]
cmp ebx, dword [esi + 0x12c]
jge 0x1013e330
test edi, edi
jne 0x1013e3eb
movsx eax, word [esi + 0x1ae]
mov ecx, 0x21
push edi
push edi
test eax, eax
push esi
cmove eax, ecx
push fcn.1013e120
push eax
call sym.ExuiKrnln_X32.dll_CreateTimerEx
mov dword [esi + 0x1bc], eax
pop edi
pop esi
pop ebx
pop ecx
pop ebp
ret 0x18
test edi, edi
je 0x1013e3eb
cmp byte [edi + 0x10], 0
lea ebx, [esi + 0x1bc]
jne 0x1013e3c3
lea ebx, [esi + 0x1bc]
cmp dword [edi + 4], edi
jne 0x1013e3c3
mov ecx, dword [edi + 8]
lea ebx, [esi + 0x1bc]
mov byte [edi + 0x10], 1
mov dword [edi + 4], 0
mov dword [ebp + 0x1c], ecx
mov dword [edi + 8], 0
test ecx, ecx
je 0x1013e397
push 0xea60
push 0xea60
push ecx
push 0
call dword [sym.imp.KERNEL32.dll_ChangeTimerQueueTimer]
push 0
push dword [ebp + 0x1c]
push 0
call dword [sym.imp.KERNEL32.dll_DeleteTimerQueueTimer]
lea ebx, [esi + 0x1bc]
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 [ebx], 0
pop edi
pop esi
pop ebx
pop ecx
pop ebp
ret 0x18
mov eax, dword [esi + 0x1bc]
test eax, eax
je 0x1013e3eb
push eax
call sym.ExuiKrnln_X32.dll_DeleteTimerEx
mov dword [esi + 0x1bc], 0
pop edi
pop esi
pop ebx
pop ecx
pop ebp
ret 0x18