Function at 0x1007d8b0
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 0x1007db87
je 0x1007da89
add edx, 0xfffffb2c
cmp edx, 3
ja case.default.0x1007db92
jmp dword [edx*4 + 0x1007dbc8]
push 0x28
call fcn.1013eed7
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.1013eed7
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.0x1007db92
mov ebx, dword [ebp + 0x1c]
mov eax, dword [edi + ebx*4]
test eax, eax
je case.default.0x1007db92
cmp dword [eax + 0xc], 1
jbe 0x1007d989
mov esi, dword [ebp + 8]
add esi, 0x11c
push esi
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
cmp dword [esi], 0
jne 0x1007d989
mov esi, dword [ebp + 8]
mov eax, dword [esi + 0x118]
test eax, eax
je 0x1007d989
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.1013ef07
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.0x1007db92
mov eax, dword [ebp + 0x1c]
cmp dword [edi + eax*4], 0
je case.default.0x1007db92
mov ebx, dword [ebp + 8]
cmp dword [ebx + 0x11c], 0
jne 0x1007da68
mov esi, dword [ebx + 0x118]
test esi, esi
je 0x1007da68
cmp byte [esi + 0x10], 0
jne 0x1007da5e
cmp dword [esi + 4], esi
jne 0x1007da5e
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 0x1007da2f
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 0x101075e0
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.1013ef07
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.0x1007db92
mov ebx, dword [edi + 4]
test ebx, ebx
je case.default.0x1007db92
cmp dword [ebx + 0xc], 0
je case.default.0x1007db92
cmp dword [ebx + 0x10], 0
je case.default.0x1007db92
mov esi, dword [edi + 0xc]
cmp esi, 1
jbe 0x1007db0d
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 0x1007dae1
cdq
idiv ecx
mov eax, edx
test eax, eax
je 0x1007db00
mov edx, dword [edi + 0x14]
xor ecx, ecx
nop word [eax + eax]
sub eax, dword [edx]
js 0x1007dafe
inc ecx
add edx, 4
cmp ecx, esi
jb 0x1007daf0
jmp 0x1007db00
mov eax, ecx
cmp eax, esi
mov ecx, ebx
sbb edx, edx
and edx, eax
call fcn.1009fff0
cmp dword [0x1018a6e8], 0
mov ebx, dword [ebp + 0x3c]
jne 0x1007db24
push 2
push dword [ebx + 0x24]
call dword [0x1018badc]
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 [0x1018a6e8], 0
jne case.default.0x1007db92
push 3
push dword [ebx + 0x24]
call dword [0x1018badc]
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.0x1007db92
jmp dword [eax*4 + 0x1007dbd8]
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