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

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x3c
cmp dword [0x4b1564], 2
mov ebp, dword [esp + 0x54]
je 0x46e9d6
mov eax, dword [0x488214]
xor ebx, ebx
test eax, eax
je 0x46e7c4
mov dword [esp + 0x2c], ebx
xor edi, edi
mov dword [esp + 0x54], ebp
lea eax, [edi + edi*4]
mov eax, dword [eax*4 + 0x488264]
lea ebx, [eax + 0x404]
lea ebp, [eax + 4]
mov dword [esp + 0x24], ebx
test eax, eax
je 0x46e788
mov dword [esp + 0x28], edi
mov esi, ebp
mov ebx, dword [esi]
test ebx, ebx
je 0x46e771
mov edi, dword [esp + 0x50]
mov ebp, esi
test edi, edi
je 0x46e860
mov edx, dword [esp + 0x54]
test edx, edx
je 0x46e7d0
lea esi, [esi]
call dword [esp + 0x50]
test eax, eax
jne 0x46e6f5
mov eax, ebx
shr eax, 0x16
mov edx, dword [eax*4 + 0x519384]
mov eax, ebx
shr eax, 0xc
and eax, 0x3ff
mov eax, dword [edx + eax*4]
mov edx, dword [0x51a3cc]
mov ecx, dword [eax]
movzx edi, word [eax + 0xe]
lea esi, [edx - 1]
mov dword [ebp], ecx
cmp edi, esi
je 0x46e700
test ecx, ecx
je 0x46e75b
mov ebx, ecx
call dword [esp + 0x50]
test eax, eax
je 0x46e6b8
xor eax, eax
add esp, 0x3c
pop ebx
pop esi
pop edi
pop ebp
ret
movzx esi, byte [eax + 0xc]
mov ecx, dword [eax + 0x10]
lea edi, [esi + esi*4]
mov dword [esp + 0x20], ecx
mov esi, ecx
mov ecx, dword [edi*4 + 0x488260]
shr esi, 3
mov word [eax + 0xe], dx
mov dword [esp + 0x14], 0x51ec08
lea esi, [ecx + esi*4]
mov ecx, dword [esp + 0x20]
mov edx, dword [esi]
mov dword [esp], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0x10], edx
mov edx, dword [edi*4 + 0x488270]
mov dword [esp + 4], eax
mov dword [esp + 0xc], edx
call fcn.0046e1a0
mov dword [esi], eax
mov ebx, dword [ebp]
test ebx, ebx
jne 0x46e6b0
add ebp, 4
cmp dword [esp + 0x24], ebp
je 0x46e77e
mov ebx, dword [ebp]
test ebx, ebx
jne 0x46e69e
mov esi, ebp
add esi, 4
cmp dword [esp + 0x24], esi
jne 0x46e686
mov edi, dword [esp + 0x28]
lea esi, [esi]
add edi, 1
cmp edi, dword [0x488214]
jb 0x46e661
mov ebx, dword [esp + 0x2c]
cmp dword [0x4b1564], 2
jne 0x46e7c4
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [esp + 8], 0
sub eax, ebx
mov dword [esp], str.Disposing_of_reclaim_lists_took__lu_ms__lu_ns_n
mov dword [esp + 4], eax
call fcn.0045aed0
mov eax, 1
jmp 0x46e6f7
mov esi, ebp
jmp 0x46e84d
mov eax, ebx
shr eax, 0x16
mov edx, dword [eax*4 + 0x519384]
mov eax, ebx
shr eax, 0xc
and eax, 0x3ff
mov eax, dword [edx + eax*4]
mov edx, dword [eax]
mov dword [esi], edx
movzx ecx, byte [eax + 0xc]
mov edx, dword [eax + 0x10]
lea ecx, [ecx + ecx*4]
mov edi, dword [ecx*4 + 0x488260]
mov ebp, edx
mov ecx, dword [ecx*4 + 0x488270]
shr ebp, 3
lea edi, [edi + ebp*4]
mov ebp, dword [0x51a3cc]
mov word [eax + 0xe], bp
mov dword [esp + 0x14], 0x51ec08
mov ebp, dword [edi]
mov dword [esp], ebx
mov dword [esp + 0x10], ebp
mov dword [esp + 0xc], ecx
mov dword [esp + 8], edx
mov dword [esp + 4], eax
call fcn.0046e1a0
mov dword [edi], eax
mov ebx, dword [esi]
test ebx, ebx
je 0x46e918
call dword [esp + 0x50]
test eax, eax
je 0x46e7d8
jmp 0x46e6f5
mov ebp, dword [0x51a3cc]
mov edi, esi
mov ecx, dword [esp + 0x54]
test ecx, ecx
je 0x46e938
lea esi, [esi]
mov eax, ebx
lea ecx, [ebp - 1]
shr eax, 0x16
mov edx, dword [eax*4 + 0x519384]
mov eax, ebx
shr eax, 0xc
and eax, 0x3ff
mov eax, dword [edx + eax*4]
mov edx, dword [eax]
movzx esi, word [eax + 0xe]
mov dword [edi], edx
cmp esi, ecx
je 0x46e8b0
test edx, edx
je 0x46ea0e
mov ebx, edx
jmp 0x46e878
movzx ecx, byte [eax + 0xc]
mov esi, dword [eax + 0x10]
lea ecx, [ecx + ecx*4]
mov dword [esp + 0x20], esi
shr esi, 3
mov edx, dword [ecx*4 + 0x488260]
mov word [eax + 0xe], bp
mov ecx, dword [ecx*4 + 0x488270]
mov dword [esp + 0x14], 0x51ec08
lea esi, [edx + esi*4]
mov edx, dword [esp + 0x20]
mov ebp, dword [esi]
mov dword [esp], ebx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebp
mov dword [esp + 8], edx
mov dword [esp + 4], eax
call fcn.0046e1a0
mov dword [esi], eax
mov ebx, dword [edi]
test ebx, ebx
je 0x46e9f0
mov ebp, dword [0x51a3cc]
jmp 0x46e878
add esi, 4
cmp dword [esp + 0x24], esi
je 0x46e77e
mov ebx, dword [esi]
test ebx, ebx
jne 0x46e84d
jmp 0x46e771
mov dword [esp + 0x20], ebp
lea esi, [esi]
mov eax, ebx
shr eax, 0x16
mov edx, dword [eax*4 + 0x519384]
mov eax, ebx
shr eax, 0xc
and eax, 0x3ff
mov eax, dword [edx + eax*4]
mov edx, dword [eax]
mov dword [edi], edx
movzx ecx, byte [eax + 0xc]
mov edx, dword [eax + 0x10]
lea ecx, [ecx + ecx*4]
mov ebp, dword [ecx*4 + 0x488260]
mov esi, edx
mov ecx, dword [ecx*4 + 0x488270]
shr esi, 3
lea esi, [ebp + esi*4]
movzx ebp, word [esp + 0x20]
mov word [eax + 0xe], bp
mov dword [esp + 0x14], 0x51ec08
mov ebp, dword [esi]
mov dword [esp], ebx
mov dword [esp + 0x10], ebp
mov dword [esp + 0xc], ecx
mov dword [esp + 8], edx
mov dword [esp + 4], eax
call fcn.0046e1a0
mov dword [esi], eax
mov eax, dword [0x51a3cc]
mov ebx, dword [edi]
mov dword [esp + 0x20], eax
test ebx, ebx
jne 0x46e940
add edi, 4
cmp dword [esp + 0x24], edi
je 0x46e77e
mov ebx, dword [edi]
test ebx, ebx
je 0x46ea25
mov dword [esp + 0x20], eax
jmp 0x46e940
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ebx, eax
mov eax, dword [0x488214]
test eax, eax
jne 0x46e657
jmp 0x46e79b
add edi, 4
cmp dword [esp + 0x24], edi
je 0x46e77e
mov ebx, dword [edi]
test ebx, ebx
je 0x46ea25
mov ebp, dword [0x51a3cc]
jmp 0x46e868
add edi, 4
cmp dword [esp + 0x24], edi
je 0x46e77e
mov ebx, dword [edi]
test ebx, ebx
jne 0x46e868
mov esi, edi
jmp 0x46e771