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

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x5e1540
push eax
mov eax, dword [esp + 0x10]
mov dword fs:[0], esp
sub esp, 0x28
test eax, eax
push ebx
push ebp
mov ebp, dword [esp + 0x44]
push esi
push edi
mov esi, ecx
mov ebx, str.disfunc_
lea edi, [ebp + 0xc]
je 0x42368a
lea edi, [ebp + 0x10]
mov ebx, str.enfunc_
cmp dword [edi], 0
je 0x4236be
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [edi]
cmp eax, 0x1d4c0
ja 0x4236be
mov eax, dword [esp + 0x48]
test eax, eax
jne 0x4236b2
mov eax, dword [ebp + 0x14]
mov dword [esp + 0x4c], eax
jmp 0x4238f6
mov ecx, dword [ebp + 0x18]
mov dword [esp + 0x4c], ecx
jmp 0x4238f6
mov edx, dword [0x5fac04]
mov dword [esp + 0x10], edx
mov eax, dword [ebp + 8]
lea ecx, [esp + 0x10]
push eax
push ebx
push 0x6384a4
push ecx
mov dword [esp + 0x50], 0
call fcn.0045e320
add esp, 0x10
lea ecx, [esp + 0x14]
call fcn.00424890
push 1
push 0
push ecx
lea edx, [esp + 0x1c]
mov ecx, esp
mov dword [esp + 0x58], esp
push edx
mov byte [esp + 0x50], 1
call fcn.0045a890
lea ecx, [esp + 0x20]
call fcn.00424a80
lea ecx, [esp + 0x14]
call fcn.00424eb0
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x48]
test eax, eax
jne 0x423804
mov ecx, dword [ebp]
mov edi, dword [esi + 0x10]
add esi, 8
mov eax, ecx
shr eax, 4
xor edx, edx
div edi
mov eax, dword [esi + 4]
test eax, eax
mov ebx, edx
je 0x423763
mov edi, dword [eax + ebx*4]
test edi, edi
je 0x42375f
cmp dword [edi + 8], ecx
je 0x42375b
mov edi, dword [edi]
test edi, edi
jne 0x42374e
jmp 0x42375f
test edi, edi
jne 0x423790
test eax, eax
jne 0x423770
mov eax, dword [esi + 8]
push 1
push eax
mov ecx, esi
call fcn.00424250
mov ecx, esi
call fcn.004242c0
mov edi, eax
mov dword [edi + 4], ebx
mov eax, dword [ebp]
mov dword [edi + 8], eax
mov ecx, dword [esi + 4]
mov edx, dword [ecx + ebx*4]
mov dword [edi], edx
mov eax, dword [esi + 4]
mov dword [eax + ebx*4], edi
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [edi + 0x18], eax
mov edi, dword [ebp]
mov ecx, dword [esi + 8]
mov eax, edi
shr eax, 4
xor edx, edx
div ecx
mov ecx, dword [esi + 4]
test ecx, ecx
mov ebx, edx
je 0x4237cd
mov eax, dword [ecx + ebx*4]
test eax, eax
je 0x4237c9
cmp dword [eax + 8], edi
je 0x4237c5
mov eax, dword [eax]
test eax, eax
jne 0x4237b8
jmp 0x4237c9
test eax, eax
jne 0x4237f8
test ecx, ecx
jne 0x4237da
mov eax, dword [esi + 8]
push 1
push eax
mov ecx, esi
call fcn.00424250
mov ecx, esi
call fcn.004242c0
mov dword [eax + 4], ebx
mov ecx, dword [ebp]
mov dword [eax + 8], ecx
mov edx, dword [esi + 4]
mov ecx, dword [edx + ebx*4]
mov dword [eax], ecx
mov edx, dword [esi + 4]
mov dword [edx + ebx*4], eax
mov ecx, dword [esp + 0x4c]
mov dword [eax + 0x20], ecx
jmp 0x4238d7
mov ecx, dword [ebp]
mov edi, dword [esi + 0x10]
add esi, 8
mov eax, ecx
shr eax, 4
xor edx, edx
div edi
mov eax, dword [esi + 4]
test eax, eax
mov ebx, edx
je 0x42383b
mov edi, dword [eax + ebx*4]
test edi, edi
je 0x423837
cmp dword [edi + 8], ecx
je 0x423833
mov edi, dword [edi]
test edi, edi
jne 0x423826
jmp 0x423837
test edi, edi
jne 0x423868
test eax, eax
jne 0x423848
mov eax, dword [esi + 8]
push 1
push eax
mov ecx, esi
call fcn.00424250
mov ecx, esi
call fcn.004242c0
mov edi, eax
mov dword [edi + 4], ebx
mov edx, dword [ebp]
mov dword [edi + 8], edx
mov eax, dword [esi + 4]
mov ecx, dword [eax + ebx*4]
mov dword [edi], ecx
mov edx, dword [esi + 4]
mov dword [edx + ebx*4], edi
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [edi + 0x1c], eax
mov edi, dword [ebp]
mov ecx, dword [esi + 8]
mov eax, edi
shr eax, 4
xor edx, edx
div ecx
mov ecx, dword [esi + 4]
test ecx, ecx
mov ebx, edx
je 0x4238a5
mov eax, dword [ecx + ebx*4]
test eax, eax
je 0x4238a1
cmp dword [eax + 8], edi
je 0x42389d
mov eax, dword [eax]
test eax, eax
jne 0x423890
jmp 0x4238a1
test eax, eax
jne 0x4238d0
test ecx, ecx
jne 0x4238b2
mov eax, dword [esi + 8]
push 1
push eax
mov ecx, esi
call fcn.00424250
mov ecx, esi
call fcn.004242c0
mov dword [eax + 4], ebx
mov ecx, dword [ebp]
mov dword [eax + 8], ecx
mov edx, dword [esi + 4]
mov ecx, dword [edx + ebx*4]
mov dword [eax], ecx
mov edx, dword [esi + 4]
mov dword [edx + ebx*4], eax
mov ecx, dword [esp + 0x4c]
mov dword [eax + 0x24], ecx
lea ecx, [esp + 0x14]
mov byte [esp + 0x40], 0
call fcn.004249e0
lea ecx, [esp + 0x10]
mov dword [esp + 0x40], 0xffffffff
call fcn.0045b310
mov ecx, dword [esp + 0x4c]
xor eax, eax
cmp ecx, 1
mov ecx, dword [esp + 0x38]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
sete al
pop ebx
add esp, 0x34
ret 8