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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1009e290
mov eax, dword fs:[0]
push eax
sub esp, 0x28
push ebx
push esi
push edi
mov eax, dword [0x100b8070]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, ecx
mov dword [ebp - 0x18], ebx
mov eax, dword [ebx + 0x14]
mov eax, dword [eax + 0x597c4]
cmp eax, 5
je 0x1005faa1
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov dword [ebp - 0x1c], 0
call fcn.1003b6d0
mov eax, dword [0x100bb550]
mov eax, dword ds:[eax]
mov ecx, dword fs:[0x2c]
test ecx, ecx
je 0x1005fad1
mov edx, dword [ecx + eax*4]
mov edx, dword [edx + 8]
test edx, edx
je 0x1005fad1
mov dword [ebp - 0x1c], 1
call fcn.1003b6d0
cmp dword [ebp - 0x1c], 0
je 0x1005fa8b
mov ecx, dword [ebx + 0x14]
mov esi, dword [ecx + 0x5975c]
lea edx, [ebp - 0x30]
push edx
mov ecx, esi
mov dword [ebp - 0x14], esi
call fcn.1005f930
cmp dword [esi + 0x40], 0
mov edi, 1
mov dword [0x100baef0], edi
jne 0x1005fb9d
mov eax, dword [ebx + 0x14]
cmp dword [eax + 0x2a4], 0
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
je 0x1005fb6b
call esi
sub eax, dword [ebx + 0x28]
cmp eax, 0x13ec
jbe 0x1005fb41
call esi
mov dword [ebx + 0x28], eax
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov ecx, dword [0x100bb2cc]
mov edx, dword [ecx]
mov eax, dword [edx + 0x7c]
call eax
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, dword [0x100bb2cc]
mov edx, dword [ecx]
mov eax, dword [edx + 0x78]
call eax
jmp 0x10060156
call esi
sub eax, dword [ebx + 0x28]
cmp eax, 0x1450
jbe 0x10060156
mov ecx, dword [0x100bb2cc]
mov edx, dword [ecx]
mov eax, dword [edx + 0x78]
call eax
call esi
push 0x7d0
mov dword [ebx + 0x28], eax
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x10060156
call fcn.1007f3d0
test al, al
je 0x1005fea1
cmp dword [ebx + 0x60], 0
jne 0x1005fbba
push 2
call fcn.10046e70
add esp, 4
lea esi, [ebx + 0x3c]
mov dword [ebx + 0x60], edi
mov eax, dword [esi + 4]
test eax, eax
mov dword [ebp - 0x10], esi
je 0x1005fc51
mov ecx, dword [esi + 8]
sub ecx, eax
sar ecx, 4
je 0x1005fc51
mov eax, esi
call fcn.10004a20
cmp dword [ebx + 0x30], eax
jae 0x1005fc51
lea edx, [ebp - 0x1c]
push edx
mov ecx, 0x100a2f24
call fcn.10003700
mov dword [ebp - 4], 0
mov edi, dword [ebx + 0x30]
call fcn.10022550
mov edi, dword [ebx + 0x30]
mov dword [ebp - 0x20], eax
call fcn.10022550
fld dword [eax + 8]
mov eax, dword [ebp - 0x20]
mov edi, dword [ebx + 0x30]
sub esp, 0x10
fstp qword [esp + 8]
fld dword [eax]
fstp qword [esp]
call fcn.10022550
fld dword [eax + 4]
mov ecx, dword [ebx + 0x30]
sub esp, 8
fstp qword [esp]
push ecx
push str.resurrect__d__f__f__f
lea edi, [ebp - 0x1c]
call fcn.10015e10
add esp, 0x20
mov eax, edi
mov dword [ebp - 4], 0xffffffff
call fcn.10001660
mov eax, dword [esi + 4]
test eax, eax
je 0x1005fc62
mov edx, dword [esi + 8]
sub edx, eax
sar edx, 4
jne 0x1005fcad
call fcn.1007fb40
test eax, eax
jne 0x1005fcad
fldz
fcom dword [ebp - 0x2c]
fnstsw ax
test ah, 0x44
jp 0x1005fc91
fcom dword [ebp - 0x30]
fnstsw ax
test ah, 0x44
jp 0x1005fc91
fcomp dword [ebp - 0x28]
fnstsw ax
test ah, 0x44
jnp 0x1005fe7d
jmp 0x1005fc93
fstp st(0)
call fcn.100602d0
mov eax, dword [ebp - 0x18]
mov esi, dword [ebp - 0x10]
xor ecx, ecx
mov dword [eax + 0x5c], ecx
mov dword [eax + 0x30], ecx
mov ebx, eax
jmp 0x1005fe7d
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x1005fcb8
xor eax, eax
jmp 0x1005fcc0
mov eax, dword [esi + 8]
sub eax, ecx
sar eax, 4
cmp dword [ebx + 0x30], eax
jae 0x1005fe7d
mov eax, ebx
xor edi, edi
call fcn.10060250
test eax, eax
jne 0x1005fd01
call fcn.1007f2f0
test al, al
jne 0x1005fd01
mov edi, dword [ebx + 0x30]
mov esi, dword [ebp - 0x10]
call fcn.10022550
mov esi, dword [ebp - 0x14]
mov ecx, 3
mov edx, 0x1221
call fcn.10056b10
jmp 0x1005fdb0
mov eax, ebx
call fcn.10060250
test eax, eax
je 0x1005fd4f
call fcn.1007f2f0
test al, al
jne 0x1005fd4f
fld dword [0x100a9990]
push ecx
fstp dword [esp]
call fcn.1007f140
add esp, 4
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, dword [0x100bb2cc]
mov eax, dword [ecx]
mov edx, dword [eax + 0x84]
push 0x58
call edx
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
call fcn.1007f2f0
test al, al
jne 0x1005fd63
mov eax, ebx
call fcn.10060250
test eax, eax
je 0x1005fdb5
mov eax, dword [ebp - 0x14]
fld dword [eax + 0x34]
mov edi, dword [ebx + 0x30]
mov esi, dword [ebp - 0x10]
fstp dword [ebp - 0x30]
fld dword [eax + 0x30]
fstp dword [ebp - 0x34]
fld dword [eax + 0x38]
fstp dword [ebp - 0x2c]
fld dword [eax + 0x3c]
fstp dword [ebp - 0x28]
call fcn.10022550
lea ecx, [ebp - 0x34]
call fcn.1006de60
fstp dword [ebp - 0x20]
fld dword [ebp - 0x20]
push ecx
fstp dword [esp]
call fcn.1005af10
mov edi, dword [ebx + 0x30]
call fcn.10022550
mov esi, dword [ebp - 0x14]
call fcn.10056bf0
mov esi, dword [ebp - 0x10]
mov edi, eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
cmp edi, 1
mov dword [ebx + 0x2c], eax
jne 0x1005fe1a
call fcn.1007f200
test eax, eax
je 0x1005fe14
mov eax, dword [ebp - 0x14]
fld dword [eax + 0x34]
mov edi, dword [ebx + 0x30]
fstp dword [ebp - 0x30]
fld dword [eax + 0x30]
fstp dword [ebp - 0x34]
fld dword [eax + 0x38]
fstp dword [ebp - 0x2c]
fld dword [eax + 0x3c]
mov eax, esi
fstp dword [ebp - 0x28]
call fcn.10004a20
cmp edi, eax
jae 0x1005fe14
mov esi, dword [ebp - 0x10]
call fcn.10022550
lea ecx, [ebp - 0x34]
call fcn.1006de60
fstp dword [ebp - 0x20]
fld dword [ebp - 0x20]
push ecx
fstp dword [esp]
call fcn.1005af10
add dword [ebx + 0x30], 1
jmp 0x1005fe6b
cmp edi, 2
jne 0x1005fe25
add dword [ebx + 0x30], 1
jmp 0x1005fe6b
call fcn.1007f200
test eax, eax
je 0x1005fe6b
mov eax, dword [ebp - 0x14]
fld dword [eax + 0x34]
mov edi, dword [ebx + 0x30]
mov esi, dword [ebp - 0x10]
fstp dword [ebp - 0x30]
fld dword [eax + 0x30]
fstp dword [ebp - 0x34]
fld dword [eax + 0x38]
fstp dword [ebp - 0x2c]
fld dword [eax + 0x3c]
fstp dword [ebp - 0x28]
call fcn.10022550
lea ecx, [ebp - 0x34]
call fcn.1006de60
fstp dword [ebp - 0x20]
fld dword [ebp - 0x20]
push ecx
fstp dword [esp]
call fcn.1005af10
mov eax, esi
call fcn.10004a20
add eax, 0xffffffff
cmp dword [ebx + 0x30], eax
jb 0x1005fe7d
mov dword [ebx + 0x30], eax
mov eax, dword [esi + 4]
test eax, eax
jne 0x1005fe88
xor esi, esi
jmp 0x1005fe90
mov esi, dword [esi + 8]
sub esi, eax
sar esi, 4
add esi, 0xffffffff
cmp dword [ebx + 0x30], esi
jne 0x10060156
jmp 0x10060131
call fcn.1007f3d0
test al, al
jne 0x10060156
cmp dword [ebx + 0x60], 0
jne 0x1005febe
push 2
call fcn.10046e70
add esp, 4
lea esi, [ebx + 0x3c]
mov eax, esi
mov dword [ebx + 0x60], edi
mov dword [ebp - 0x10], esi
call fcn.10004a20
test eax, eax
je 0x1005ff58
cmp dword [ebx + 0x30], eax
jae 0x1005ff58
lea eax, [ebp - 0x1c]
push eax
mov ecx, 0x100a2f24
call fcn.10003700
mov dword [ebp - 4], 1
mov edi, dword [ebx + 0x30]
call fcn.10022550
mov edi, dword [ebx + 0x30]
mov dword [ebp - 0x20], eax
call fcn.10022550
fld dword [eax + 8]
mov ecx, dword [ebp - 0x20]
mov edi, dword [ebx + 0x30]
sub esp, 0x10
fstp qword [esp + 8]
fld dword [ecx]
fstp qword [esp]
call fcn.10022550
fld dword [eax + 4]
mov edx, dword [ebx + 0x30]
sub esp, 8
fstp qword [esp]
push edx
push str.resurrect__d__f__f__f
lea edi, [ebp - 0x1c]
call fcn.10015e10
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax - 0xc]
add esp, 0x20
mov esi, edi
call fcn.100028c0
mov eax, edi
mov dword [ebp - 4], 0xffffffff
call fcn.10001660
mov esi, dword [ebp - 0x10]
mov eax, esi
call fcn.10004a20
test eax, eax
jne 0x1005ff82
call fcn.1007fb40
test eax, eax
jne 0x1005ff82
call fcn.100602d0
mov ecx, dword [ebp - 0x18]
mov dword [ecx + 0x30], 0
mov ebx, ecx
jmp 0x100600cb
mov edi, dword [ebx + 0x30]
mov eax, esi
call fcn.10004a20
cmp edi, eax
jae 0x100600cb
mov esi, dword [ebp - 0x10]
call fcn.10022550
mov esi, dword [ebp - 0x14]
mov ecx, 3
mov edx, 0x221
call fcn.10056b10
cmp eax, 1
jne 0x10060068
add dword [ebx + 0x30], eax
mov eax, dword [ebp - 0x10]
mov esi, dword [ebx + 0x30]
call fcn.10004a20
cmp esi, eax
jae 0x100600b8
add eax, 0xfffffffc
cmp esi, eax
jae 0x100600b8
call fcn.1007f280
test eax, eax
jne 0x1006005a
call fcn.1007f2f0
test al, al
jne 0x1006005a
call fcn.1007f360
test eax, eax
je 0x1006005a
call fcn.10036200
test eax, eax
je 0x10060022
mov edx, dword [ebp - 0x14]
push edx
call fcn.10021900
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
call fcn.10035740
mov ecx, dword [0x100bb2cc]
mov eax, dword [ecx]
mov edx, dword [eax + 0x2c]
call edx
call fcn.1007f280
test eax, eax
jne 0x1006005a
call fcn.100361c0
test eax, eax
je 0x1006005a
mov eax, dword [ebp - 0x14]
push eax
call fcn.10021900
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
call fcn.10022530
mov ecx, dword [0x100bb2cc]
mov edx, dword [ecx]
mov eax, dword [edx + 0x2c]
call eax
call fcn.1007f200
test eax, eax
je 0x100600b8
mov eax, dword [ebp - 0x14]
jmp 0x1006007e
cmp eax, 2
jne 0x10060073
add dword [ebx + 0x30], 1
jmp 0x100600b8
call fcn.1007f200
test eax, eax
je 0x100600b8
mov eax, esi
fld dword [eax + 0x34]
mov edi, dword [ebx + 0x30]
mov esi, dword [ebp - 0x10]
fstp dword [ebp - 0x30]
fld dword [eax + 0x30]
fstp dword [ebp - 0x34]
fld dword [eax + 0x38]
fstp dword [ebp - 0x2c]
fld dword [eax + 0x3c]
fstp dword [ebp - 0x28]
call fcn.10022550
lea ecx, [ebp - 0x34]
call fcn.1006de60
fstp dword [ebp - 0x20]
fld dword [ebp - 0x20]
push ecx
fstp dword [esp]
call fcn.1005af10
mov eax, dword [ebp - 0x10]
call fcn.10004a20
add eax, 0xffffffff
cmp dword [ebx + 0x30], eax
jb 0x100600cb
mov dword [ebx + 0x30], eax
mov esi, dword [ebp - 0x10]
mov eax, esi
call fcn.10004a20
lea ecx, [eax - 4]
cmp dword [ebx + 0x30], ecx
jne 0x10060119
cmp eax, 4
jbe 0x10060119
call fcn.1007f280
test eax, eax
je 0x10060119
call fcn.1007f200
test eax, eax
je 0x1006010b
call fcn.1007f280
test eax, eax
je 0x1006010b
call fcn.10036200
test eax, eax
je 0x1006010b
call fcn.10035760
call fcn.1007f280
test eax, eax
je 0x10060119
call fcn.1005af60
mov eax, esi
call fcn.10004a20
sub eax, 1
cmp dword [ebx + 0x30], eax
jne 0x10060156
mov edx, dword [ebx + 0x14]
push edx
call fcn.1001bf50
mov ecx, dword [0x100bb2cc]
mov eax, dword [ecx]
mov edx, dword [eax + 0x18]
call edx
push 0xfa0
call dword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, dword [0x100bb2cc]
mov eax, dword [ecx]
mov edx, dword [eax + 0x1c]
call edx
call fcn.1007fb40
test eax, eax
je 0x10060229
mov eax, dword [ebp - 0x14]
cmp dword [eax + 0x40], 0
je 0x10060229
call fcn.1007f3d0
test al, al
jne 0x10060229
mov ebx, dword [ebx + 0x14]
add ebx, 0x59790
call fcn.1001d830
mov esi, dword [ebp - 0x18]
lea eax, [esi + 0x3c]
call fcn.10013840
mov eax, dword [esi + 0x14]
add eax, 0x597d0
lea ebx, [ebp - 0x20]
mov dword [ebp - 0x20], 5
call fcn.1001d970
fldz
xor edi, edi
mov dword [eax], edi
fst dword [esi + 0x50]
fst dword [esi + 0x4c]
push 3
fstp dword [esi + 0x54]
mov dword [esi + 0x60], edi
call fcn.10046e70
mov ecx, dword [esi + 0x14]
mov eax, 1
add dword [0x100bb2e0], eax
mov dword [0x100baeec], eax
mov dword [0x100baef0], edi
mov dword [ecx + 0xb297c], edi
mov edx, dword [esi + 0x14]
mov dword [edx + 0xb2980], edi
mov ebx, dword [esi + 0x14]
add esp, 4
add ebx, 0x59790
call fcn.1001d830
mov edi, dword [esi + 0x14]
add edi, 0x59784
call fcn.1001d8b0
mov ebx, dword [esi + 0x14]
add ebx, 0x5976c
call fcn.1001d830
mov ebx, dword [esi + 0x14]
add ebx, 0x59760
call fcn.1001d830
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4