Function at 0x100244f0
Capabilities:
Check for time delay via gettickcount

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100b76e8
mov eax, dword fs:[0]
push eax
sub esp, 0x40
mov eax, dword [0x100d9f50]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
mov esi, ecx
xor ecx, ecx
mov dword [ebp - 0x34], eax
cmp dword [esi + 0x71c], ecx
je 0x10024540
mov ecx, dword [eax + 8]
mov edi, dword [eax + 4]
mov ebx, dword [eax]
push ecx
call fcn.10026f50
jmp 0x1002488d
mov edx, dword [eax + 4]
push edx
mov edx, dword [eax]
push esi
lea ebx, [ebp - 0x3c]
lea edi, [ebp - 0x38]
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x3c], ecx
call fcn.10022160
mov eax, dword [esi + 0x7b4]
mov edi, dword [ebp - 0x38]
mov ebx, dword [sym.imp.KERNEL32.dll_Sleep]
push 0x3c
mov byte [edi + eax], 0x80
call ebx
mov ecx, dword [esi + 0x7b4]
push 0x1e
mov byte [edi + ecx], 0
call ebx
mov edx, dword [esi + 0x7b4]
push 0x1e
mov byte [edi + edx], 0x80
call ebx
xor ebx, ebx
push 0xffffffffffffffff
lea eax, [esi + 0x2c0]
push ebx
push eax
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x18], 0xf
mov dword [ebp - 0x1c], ebx
mov byte [ebp - 0x2c], bl
call fcn.10004d50
mov dword [ebp - 4], ebx
mov edi, dword [sym.imp.KERNEL32.dll_GetTickCount]
call edi
mov dword [ebp - 0x48], eax
call edi
mov dword [ebp - 0x40], eax
call edi
mov dword [ebp - 0x44], eax
cmp dword [esi + 0x58c], ebx
je 0x1002486f
call edi
sub eax, dword [ebp - 0x48]
cmp eax, dword [ebp + 0xc]
ja 0x10024762
mov ecx, dword [ebp - 0x34]
mov ebx, dword [ecx + 4]
mov ecx, dword [ecx]
mov eax, dword [esi + 0x2ac]
sub eax, ecx
cdq
mov ecx, eax
mov eax, dword [esi + 0x2b0]
xor ecx, edx
sub eax, ebx
sub ecx, edx
cdq
xor eax, edx
sub eax, edx
cmp ecx, eax
jle 0x10024608
mov eax, ecx
mov ecx, esi
cmp eax, dword [ebp + 0x10]
jl 0x10024871
mov eax, dword [esi]
mov edx, dword [eax + 0xa0]
call edx
mov eax, dword [esi]
mov edx, dword [eax + 0xd0]
mov ecx, esi
call edx
test eax, eax
jne 0x1002486f
mov edi, dword [esi + 0x2d0]
lea eax, [esi + 0x2c0]
mov edx, 0x10
cmp dword [eax + 0x14], edx
jb 0x10024649
mov eax, dword [eax]
mov ebx, dword [ebp - 0x1c]
mov ecx, ebx
cmp ebx, edi
jb 0x10024654
mov ecx, edi
cmp dword [ebp - 0x18], edx
mov edx, dword [ebp - 0x2c]
jae 0x1002465f
lea edx, [ebp - 0x2c]
push ecx
push eax
push edx
call fcn.10004330
add esp, 0xc
test eax, eax
jne 0x1002477e
cmp ebx, edi
jb 0x1002477e
cmp ebx, edi
setne al
test eax, eax
jne 0x1002477e
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax + 4]
push ecx
mov edx, eax
mov edx, dword [edx]
push esi
lea ebx, [ebp - 0x3c]
lea edi, [ebp - 0x38]
call fcn.10022160
mov eax, dword [esi + 0x2ac]
mov ecx, dword [ebp - 0x34]
sub eax, dword [ecx]
mov ebx, dword [sym.imp.KERNEL32.dll_GetTickCount]
cdq
xor eax, edx
sub eax, edx
cmp eax, 0x14
setle byte [ebp - 0x2d]
cmp dword [esi + 0x7ac], 2
je 0x10024716
call ebx
sub eax, dword [ebp - 0x40]
cmp eax, 0x190
jbe 0x10024716
cmp byte [ebp - 0x2d], 0
jne 0x10024716
call ebx
mov edx, dword [esi + 0x7b4]
mov ebx, dword [ebp - 0x38]
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
push 0x3c
mov dword [ebp - 0x40], eax
mov byte [ebx + edx], 0x80
call edi
mov eax, dword [esi + 0x7b4]
push 0x1e
mov byte [ebx + eax], 0
call edi
mov ecx, dword [esi + 0x7b4]
push 0x1e
mov byte [ebx + ecx], 0x80
call edi
mov ebx, dword [sym.imp.KERNEL32.dll_GetTickCount]
jmp 0x1002471c
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
cmp dword [esi + 0x7ac], 4
jne 0x10024731
call ebx
sub eax, dword [ebp - 0x44]
cmp eax, 0x7d0
ja 0x100247a6
push 0x64
call edi
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax + 4]
mov edx, dword [esi]
mov eax, dword [eax]
mov edx, dword [edx + 0x38]
push 0
push ecx
push eax
mov ecx, esi
call edx
cmp dword [esi + 0x58c], 0
je 0x1002486f
mov edi, dword [sym.imp.KERNEL32.dll_GetTickCount]
jmp 0x100245d0
cmp dword [ebp - 0x18], 0x10
jb 0x10024774
mov eax, dword [ebp - 0x2c]
push eax
call fcn.10047d94
add esp, 4
mov eax, 0x102
jmp 0x1002488f
mov edx, dword [esi]
mov eax, dword [edx + 0xe0]
mov ecx, esi
call eax
cmp dword [ebp - 0x18], 0x10
jb 0x1002479c
mov ecx, dword [ebp - 0x2c]
push ecx
call fcn.10047d94
add esp, 4
mov eax, 2
jmp 0x1002488f
call ebx
push 0x1e
call edi
mov ebx, 5
mov edx, dword [esi + 0x7b4]
push 0x3c
mov byte [edx + 0x2d], 0x80
call edi
mov eax, dword [esi + 0x7b4]
push 0x1e
mov byte [eax + 0x2d], 0
call edi
dec ebx
jne 0x100247b1
mov edx, dword [esi]
mov eax, dword [edx + 0xe4]
mov ecx, esi
call eax
push 0x100ca788
push eax
call fcn.10048790
add esp, 8
test eax, eax
je 0x10024856
mov ecx, dword [esi + 0x5a4]
mov edx, dword [esi + 0x5a8]
sub ecx, 0x32
push ecx
sub edx, 0x28
mov ecx, esi
call fcn.10003760
mov eax, dword [esi + 0x5a4]
mov edx, dword [esi + 0x5a8]
add eax, 0x32
sub edx, 0x28
push eax
mov ecx, esi
call fcn.10003760
mov ecx, dword [esi + 0x5a4]
mov edx, dword [esi + 0x5a8]
sub ecx, 0x32
push ecx
sub edx, 0x28
mov ecx, esi
call fcn.10003760
mov eax, dword [esi + 0x5a4]
mov edx, dword [esi + 0x5a8]
add eax, 0x32
sub edx, 0x28
push eax
mov ecx, esi
call fcn.10003760
cmp dword [ebp - 0x18], 0x10
jb 0x10024868
mov ecx, dword [ebp - 0x2c]
push ecx
call fcn.10047d94
add esp, 4
mov eax, 1
jmp 0x1002488f
mov ecx, esi
mov edx, dword [esi]
mov eax, dword [edx + 0xe0]
call eax
cmp dword [ebp - 0x18], 0x10
jb 0x1002488d
mov ecx, dword [ebp - 0x2c]
push ecx
call fcn.10047d94
add esp, 4
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.10047d85
mov esp, ebp
pop ebp
ret 0xc