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

Disassembly:
sub esp, 8
mov eax, dword [0x101b7324]
xor eax, esp
mov dword [esp + 4], eax
push ebx
push ebp
push esi
mov esi, dword [esp + 0x18]
push edi
mov edi, dword [sym.imp.KERNEL32.DLL_GetTickCount]
call edi
mov ebp, dword [sym.imp.KERNEL32.DLL_InterlockedExchange]
push 1
push 0x102bfd20
mov ebx, eax
call ebp
cmp eax, 1
jne 0x1004ab95
push 1
call dword [sym.imp.KERNEL32.DLL_Sleep]
call edi
sub eax, ebx
cmp eax, 0x3e8
ja 0x1004ab95
push 1
push 0x102bfd20
call ebp
cmp eax, 1
je 0x1004ab74
sub dword [0x102bfd24], 1
jns 0x1004aba8
mov dword [0x102bfd24], 0
push 0
push 0x102bfd20
call ebp
push esi
call fcn.10057e30
push 0
push esi
call fcn.10012330
add esp, 0xc
lea edi, [esi + 0x90]
mov ebp, 0x65
lea ecx, [ecx]
mov ebx, dword [edi]
call fcn.1003edf0
mov eax, dword [edi]
test eax, eax
je 0x1004abec
push eax
call fcn.100ff60b
add esp, 4
mov dword [edi], 0
add edi, 4
sub ebp, 1
jne 0x1004abd0
push esi
call fcn.10047260
push esi
call fcn.10047420
mov eax, dword [esi + 0x25f0]
xor ebx, ebx
add esp, 8
cmp eax, ebx
je 0x1004ac16
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
push esi
call fcn.10051730
push esi
call fcn.1001ef40
mov eax, dword [esi + 0x3278]
add esp, 8
cmp eax, ebx
je 0x1004ac3e
push eax
call fcn.100ff60b
add esp, 4
mov dword [esi + 0x3278], ebx
mov eax, dword [esi + 0x3270]
cmp eax, ebx
je 0x1004ac57
push eax
call fcn.100ff60b
add esp, 4
mov dword [esi + 0x3270], ebx
mov eax, dword [esi + 0x327c]
cmp eax, ebx
je 0x1004ac73
add eax, 0xfffffff0
push eax
call fcn.100ff60b
add esp, 4
mov dword [esi + 0x327c], ebx
mov eax, dword [esi + 0x3280]
cmp eax, ebx
je 0x1004ac8c
push eax
call fcn.100ff60b
add esp, 4
mov dword [esi + 0x3280], ebx
mov eax, dword [esi + 0x37f0]
cmp eax, ebx
je 0x1004aca5
push eax
call fcn.100ff60b
add esp, 4
mov dword [esi + 0x37f0], ebx
mov eax, dword [esi + 0x3294]
cmp eax, ebx
je 0x1004acbe
push eax
call fcn.100ff60b
add esp, 4
mov dword [esi + 0x3294], ebx
xor ebp, ebp
mov edi, dword [esi + 0x3284]
mov ecx, dword [edi + 4]
cmp ecx, ebx
je 0x1004ad03
mov eax, dword [edi + 8]
sub eax, ecx
sar eax, 2
cmp ebp, eax
jae 0x1004ad03
cmp ecx, ebx
je 0x1004ace9
mov eax, dword [edi + 8]
sub eax, ecx
sar eax, 2
cmp ebp, eax
jb 0x1004acee
call fcn.10101815
mov eax, dword [edi + 4]
mov ecx, dword [eax + ebp*4]
push ecx
push esi
call fcn.10088e00
add esp, 8
add ebp, 1
jmp 0x1004acc0
mov ebp, dword [edi + 8]
cmp dword [edi + 4], ebp
jbe 0x1004ad10
call fcn.10101815
mov ebx, dword [edi + 4]
cmp ebx, dword [edi + 8]
jbe 0x1004ad1d
call fcn.10101815
cmp ebx, ebp
je 0x1004ad4e
mov eax, dword [edi + 8]
sub eax, ebp
sar eax, 2
test eax, eax
lea ecx, [eax*4]
lea edx, [ecx + ebx]
mov dword [esp + 0x10], edx
jle 0x1004ad47
push ecx
push ebp
push ecx
push ebx
call fcn.1010151c
add esp, 0x10
mov eax, dword [esp + 0x10]
mov dword [edi + 8], eax
xor ebp, ebp
mov edi, dword [esi + 0x3288]
mov ecx, dword [edi + 4]
test ecx, ecx
je 0x1004ad93
mov eax, dword [edi + 8]
sub eax, ecx
sar eax, 2
cmp ebp, eax
jae 0x1004ad93
test ecx, ecx
je 0x1004ad79
mov eax, dword [edi + 8]
sub eax, ecx
sar eax, 2
cmp ebp, eax
jb 0x1004ad7e
call fcn.10101815
mov ecx, dword [edi + 4]
mov edx, dword [ecx + ebp*4]
push edx
push esi
call fcn.10058d70
add esp, 8
add ebp, 1
jmp 0x1004ad50
mov ebp, dword [edi + 8]
cmp dword [edi + 4], ebp
jbe 0x1004ada0
call fcn.10101815
mov ebx, dword [edi + 4]
cmp ebx, dword [edi + 8]
jbe 0x1004adad
call fcn.10101815
cmp ebx, ebp
je 0x1004adde
mov eax, dword [edi + 8]
sub eax, ebp
sar eax, 2
test eax, eax
lea ecx, [eax*4]
lea edx, [ecx + ebx]
mov dword [esp + 0x10], edx
jle 0x1004add7
push ecx
push ebp
push ecx
push ebx
call fcn.1010151c
add esp, 0x10
mov eax, dword [esp + 0x10]
mov dword [edi + 8], eax
mov eax, dword [esi + 0x37d4]
test eax, eax
je 0x1004adfb
push eax
call fcn.100ff60b
add esp, 4
mov dword [esi + 0x37d4], 0
mov edi, dword [esi + 0x32d4]
test edi, edi
mov ebp, 0x10
lea ebx, [ebp - 1]
je 0x1004ae35
cmp dword [edi + 0x18], ebp
jb 0x1004ae1e
mov ecx, dword [edi + 4]
push ecx
call fcn.100ee4bd
add esp, 4
mov dword [edi + 0x18], ebx
mov dword [edi + 0x14], 0
push edi
mov byte [edi + 4], 0
call fcn.100ee4bd
add esp, 4
mov edi, dword [esi + 0x2640]
test edi, edi
je 0x1004ae67
cmp dword [edi + 0x18], ebp
jb 0x1004ae50
mov edx, dword [edi + 4]
push edx
call fcn.100ee4bd
add esp, 4
mov dword [edi + 0x18], ebx
mov dword [edi + 0x14], 0
push edi
mov byte [edi + 4], 0
call fcn.100ee4bd
add esp, 4
mov edi, dword [esi + 0x264c]
test edi, edi
je 0x1004ae99
cmp dword [edi + 0x18], ebp
jb 0x1004ae82
mov eax, dword [edi + 4]
push eax
call fcn.100ee4bd
add esp, 4
mov dword [edi + 0x18], ebx
mov dword [edi + 0x14], 0
push edi
mov byte [edi + 4], 0
call fcn.100ee4bd
add esp, 4
mov edi, dword [esi + 0x2620]
test edi, edi
je 0x1004aec7
mov eax, dword [edi + 4]
test eax, eax
je 0x1004aeb3
push eax
call fcn.100ee4bd
add esp, 4
xor eax, eax
push edi
mov dword [edi + 4], eax
mov dword [edi + 8], eax
mov dword [edi + 0xc], eax
call fcn.100ee4bd
add esp, 4
mov edi, dword [esi + 0x2624]
test edi, edi
je 0x1004aef5
mov eax, dword [edi + 4]
test eax, eax
je 0x1004aee1
push eax
call fcn.100ee4bd
add esp, 4
xor eax, eax
push edi
mov dword [edi + 4], eax
mov dword [edi + 8], eax
mov dword [edi + 0xc], eax
call fcn.100ee4bd
add esp, 4
mov edi, dword [esi + 0x3284]
test edi, edi
je 0x1004af23
mov eax, dword [edi + 4]
test eax, eax
je 0x1004af0f
push eax
call fcn.100ee4bd
add esp, 4
xor eax, eax
push edi
mov dword [edi + 4], eax
mov dword [edi + 8], eax
mov dword [edi + 0xc], eax
call fcn.100ee4bd
add esp, 4
mov edi, dword [esi + 0x3288]
test edi, edi
je 0x1004af51
mov eax, dword [edi + 4]
test eax, eax
je 0x1004af3d
push eax
call fcn.100ee4bd
add esp, 4
xor eax, eax
push edi
mov dword [edi + 4], eax
mov dword [edi + 8], eax
mov dword [edi + 0xc], eax
call fcn.100ee4bd
add esp, 4
mov esi, dword [esi + 0x3304]
test esi, esi
je 0x1004af7f
mov eax, dword [esi + 4]
test eax, eax
je 0x1004af6b
push eax
call fcn.100ee4bd
add esp, 4
xor eax, eax
push esi
mov dword [esi + 4], eax
mov dword [esi + 8], eax
mov dword [esi + 0xc], eax
call fcn.100ee4bd
add esp, 4
mov ecx, dword [esp + 0x14]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.100ffae6
add esp, 8
ret