Function at 0x10080790
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
push ecx
mov edx, dword [ebp + 0xc]
push ebx
push esi
push edi
cmp edx, 0x4dc
jg 0x10080a67
je 0x10080969
add edx, 0xfffffb2c
cmp edx, 3
ja case.default.0x10080a72
jmp dword [edx*4 + 0x10080aa8]
push 0x28
call fcn.10143d7d
mov edx, dword [ebp + 0x20]
xorps xmm0, xmm0
mov ecx, dword [ebp + 0x1c]
add esp, 4
movups xmmword [eax], xmm0
movups xmmword [eax + 0x10], xmm0
movq qword [eax + 0x20], xmm0
mov dword [edx + ecx*4], eax
pop edi
pop esi
pop ebx
pop ecx
pop ebp
ret 0x38
push 0x24
call fcn.10143d7d
mov edx, dword [ebp + 0x24]
xorps xmm0, xmm0
mov ecx, dword [ebp + 0x1c]
add esp, 4
movups xmmword [eax], xmm0
movups xmmword [eax + 0x10], xmm0
mov dword [eax + 0x20], 0
mov dword [edx + ecx*4], eax
pop edi
pop esi
pop ebx
pop ecx
pop ebp
ret 0x38
mov edi, dword [ebp + 0x24]
test edi, edi
je case.default.0x10080a72
mov ebx, dword [ebp + 0x1c]
mov eax, dword [edi + ebx*4]
test eax, eax
je case.default.0x10080a72
cmp dword [eax + 0xc], 1
jbe 0x10080869
mov esi, dword [ebp + 8]
add esi, 0x11c
push esi
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
cmp dword [esi], 0
jne 0x10080869
mov esi, dword [ebp + 8]
mov eax, dword [esi + 0x118]
test eax, eax
je 0x10080869
push eax
call sym.ExuiKrnln_X32.dll_DeleteTimerEx
mov dword [esi + 0x118], 0
mov eax, dword [edi + ebx*4]
push dword [eax + 4]
call sym.ExuiKrnln_X32.dll_DestroyImageEx
push 0x24
push dword [edi + ebx*4]
call fcn.10143dad
add esp, 8
mov dword [edi + ebx*4], 0
xor eax, eax
pop edi
pop esi
pop ebx
pop ecx
pop ebp
ret 0x38
mov edi, dword [ebp + 0x20]
test edi, edi
je case.default.0x10080a72
mov eax, dword [ebp + 0x1c]
cmp dword [edi + eax*4], 0
je case.default.0x10080a72
mov ebx, dword [ebp + 8]
cmp dword [ebx + 0x11c], 0
jne 0x10080948
mov esi, dword [ebx + 0x118]
test esi, esi
je 0x10080948
cmp byte [esi + 0x10], 0
jne 0x1008093e
cmp dword [esi + 4], esi
jne 0x1008093e
mov eax, dword [esi + 8]
mov byte [esi + 0x10], 1
mov dword [esi + 4], 0
mov dword [ebp + 8], eax
mov dword [esi + 8], 0
test eax, eax
je 0x1008090f
push 0xea60
push 0xea60
push eax
push 0
call dword [sym.imp.KERNEL32.dll_ChangeTimerQueueTimer]
push 0
push dword [ebp + 8]
push 0
call dword [sym.imp.KERNEL32.dll_DeleteTimerQueueTimer]
push dword [esi + 0x20]
mov eax, dword [esi + 0x1c]
push 0
push 0
push 0
push 0xfffffffffffffffe
push esi
call eax
push 0
push 0
push esi
push 0x10109f80
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp + 0x1c]
mov dword [ebx + 0x118], 0
push 0x28
push dword [edi + eax*4]
call fcn.10143dad
mov eax, dword [ebp + 0x1c]
add esp, 8
mov dword [edi + eax*4], 0
xor eax, eax
pop edi
pop esi
pop ebx
pop ecx
pop ebp
ret 0x38
mov edi, dword [ebp + 0x24]
mov eax, dword [ebp + 0x1c]
mov edi, dword [edi + eax*4]
test edi, edi
je case.default.0x10080a72
mov ebx, dword [edi + 4]
test ebx, ebx
je case.default.0x10080a72
cmp dword [ebx + 0xc], 0
je case.default.0x10080a72
cmp dword [ebx + 0x10], 0
je case.default.0x10080a72
mov esi, dword [edi + 0xc]
cmp esi, 1
jbe 0x100809ed
mov eax, dword [ebp + 8]
mov ecx, dword [edi + 0x18]
mov eax, dword [eax + 0x118]
mov eax, dword [eax + 0x18]
lea eax, [eax + eax*4]
add eax, eax
sub eax, dword [edi + 0x1c]
cmp eax, ecx
jle 0x100809c1
cdq
idiv ecx
mov eax, edx
test eax, eax
je 0x100809e0
mov edx, dword [edi + 0x14]
xor ecx, ecx
nop word [eax + eax]
sub eax, dword [edx]
js 0x100809de
inc ecx
add edx, 4
cmp ecx, esi
jb 0x100809d0
jmp 0x100809e0
mov eax, ecx
cmp eax, esi
mov ecx, ebx
sbb edx, edx
and edx, eax
call fcn.100a2f90
cmp dword [0x1019182c], 0
mov ebx, dword [ebp + 0x3c]
jne 0x10080a04
push 2
push dword [ebx + 0x24]
call dword [0x10192b90]
mov eax, dword [ebp + 0x24]
mov edx, dword [ebp + 0x1c]
push ecx
mov ecx, dword [ebp + 0x38]
mov edx, dword [eax + edx*4]
mov eax, dword [ebp + 8]
movss xmm0, dword [eax + 0x120]
cvttss2si eax, dword [ecx + 0xc]
movss dword [esp], xmm0
push 0xff
push dword [edx + 0x20]
push eax
cvttss2si eax, dword [ecx + 8]
push eax
cvttss2si eax, dword [ecx + 4]
push eax
cvttss2si eax, dword [ecx]
push eax
push dword [edx + 4]
push ebx
call sym.ExuiKrnln_X32.dll_DrawImageRectAlign_CanvasEx
cmp dword [0x1019182c], 0
jne case.default.0x10080a72
push 3
push dword [ebx + 0x24]
call dword [0x10192b90]
xor eax, eax
pop edi
pop esi
pop ebx
pop ecx
pop ebp
ret 0x38
lea eax, [edx - 0x10000]
cmp eax, 9
ja case.default.0x10080a72
jmp dword [eax*4 + 0x10080ab8]
mov ecx, dword [ebp + 0x1c]
mov eax, dword [ebp + 0x20]
push 0
push 0
push 0
mov eax, dword [eax + ecx*4]
push ecx
push dword [ebp + 0x18]
push dword [ebp + 0x14]
mov eax, dword [eax + 4]
push dword [ebp + 0x10]
push edx
push dword [ebp + 8]
call eax
pop edi
pop esi
xor eax, eax
pop ebx
pop ecx
pop ebp
ret 0x38