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

Disassembly:
push 0xffffffffffffffff
push 0x10097240
mov eax, dword fs:[0]
push eax
sub esp, 0x14
push ebx
push ebp
push esi
push edi
mov eax, dword [0x100b8070]
xor eax, esp
push eax
lea eax, [esp + 0x28]
mov dword fs:[0], eax
mov esi, ecx
mov edi, dword [esi + 0x14]
mov ebx, 1
cmp dword [edi + 0x454], ebx
jne 0x10054d44
mov edi, dword [edi + 0x5975c]
lea eax, [esp + 0x1c]
push eax
mov ecx, str.AllRank
call fcn.10003700
lea ecx, [esp + 0x18]
push ecx
mov ecx, str.Rune_Tap
mov dword [esp + 0x34], 0
call fcn.10003700
lea edx, [esp + 0x1c]
add esi, 4
push edx
mov ecx, esi
mov byte [esp + 0x34], bl
call fcn.100048e0
mov eax, dword [eax]
push ecx
sub eax, 0x10
mov dword [esp + 0x28], esp
mov ebp, esp
call fcn.10001820
add eax, 0x10
mov dword [ebp], eax
lea eax, [esp + 0x1c]
push eax
mov ecx, esi
mov byte [esp + 0x38], 2
call fcn.100048e0
mov eax, dword [eax]
push ecx
sub eax, 0x10
mov dword [esp + 0x28], esp
mov esi, esp
call fcn.10001820
add eax, 0x10
mov dword [esi], eax
mov ecx, edi
mov byte [esp + 0x38], bl
call fcn.10056d40
mov ebx, eax
mov byte [esp + 0x30], 0
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x10054c9c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov dword [esp + 0x30], 0xffffffff
mov eax, dword [esp + 0x1c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x10054cc4
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
test ebx, ebx
je 0x10054ea5
mov eax, ebx
call fcn.1006e760
cmp dword [ebx + 0x10], 0
jne 0x10054ea5
mov esi, dword [ebx]
call fcn.1007e040
test eax, eax
je 0x10054ea5
mov ecx, dword [edi + 0x64]
test ecx, ecx
je 0x10054ea5
mov eax, dword [edi + 0x40]
imul eax, eax, 0x64
xor edx, edx
div ecx
cmp eax, 0x50
jae 0x10054ea5
call fcn.1007f280
test eax, eax
jne 0x10054ea5
call fcn.1007f200
test eax, eax
jne 0x10054ea5
mov edx, dword [edi]
mov eax, dword [ebx]
mov edx, dword [edx + 0x14]
push eax
mov ecx, edi
call edx
mov ecx, dword [esp + 0x28]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x20
ret
mov ebx, dword [sym.imp.KERNEL32.dll_GetTickCount]
call ebx
sub eax, dword [0x100bccd0]
cmp eax, 0x7d0
jbe 0x10054ea5
call ebx
mov ebp, dword [edi + 0x5975c]
mov dword [0x100bccd0], eax
mov eax, dword [ebp + 0x18c]
test eax, eax
jne 0x10054ea5
mov eax, dword [esi + 0x14]
cmp dword [eax + 0x45c], 0
je 0x10054ea5
lea ecx, [esp + 0x24]
push ecx
mov ecx, str.AllRank
call fcn.10003700
lea edx, [esp + 0x20]
push edx
mov ecx, str.Raise_Dead
mov dword [esp + 0x34], 3
call fcn.10003700
lea eax, [esp + 0x24]
add esi, 4
mov bl, 4
push eax
mov ecx, esi
mov byte [esp + 0x34], bl
call fcn.100048e0
mov eax, dword [eax]
push ecx
sub eax, 0x10
mov dword [esp + 0x20], esp
mov edi, esp
call fcn.10001820
add eax, 0x10
mov dword [edi], eax
lea ecx, [esp + 0x24]
push ecx
mov ecx, esi
mov byte [esp + 0x38], 5
call fcn.100048e0
mov eax, dword [eax]
push ecx
sub eax, 0x10
mov dword [esp + 0x20], esp
mov esi, esp
call fcn.10001820
add eax, 0x10
mov dword [esi], eax
mov ecx, ebp
mov byte [esp + 0x38], bl
call fcn.10056d40
mov edi, eax
mov byte [esp + 0x30], 3
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x10054e32
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov dword [esp + 0x30], 0xffffffff
mov eax, dword [esp + 0x24]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x10054e5a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
test edi, edi
je 0x10054ea5
mov eax, edi
call fcn.1006e760
call fcn.1007f280
test eax, eax
jne 0x10054ea5
call fcn.1007f200
test eax, eax
jne 0x10054ea5
mov esi, dword [edi]
call fcn.1007e040
test eax, eax
je 0x10054ea5
cmp dword [ebp + 0x94], 0
jne 0x10054ea5
cmp dword [ebp + 0x98], 0
jne 0x10054ea5
mov eax, dword [edi]
mov ecx, dword [edi + 4]
mov edx, dword [ebp]
mov edx, dword [edx + 0x18]
push eax
push ecx
mov ecx, ebp
call edx
mov ecx, dword [esp + 0x28]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x20
ret