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

Disassembly:
mov eax, dword [ebp - 0x28]
sub eax, esi
cmp eax, edx
mov ecx, edx
cmovb ecx, eax
cmp dword [ebp - 0x10], 0
mov dword [ebp + 8], ecx
je 0x4a845b
push ecx
call fcn.00417f6a
pop ecx
mov ecx, eax
mov dword [ebp - 8], ecx
test ecx, ecx
je 0x4a848b
push dword [ebp + 8]
mov eax, dword [ebp - 0x2c]
add eax, esi
push eax
push ecx
call fcn.00418aa0
push dword [ebp + 8]
mov edx, dword [ebp - 0x10]
mov ecx, dword [ebp - 8]
call fcn.004a84a8
add esp, 0x10
call fcn.004ae8cf
mov ecx, eax
lea eax, [ebp - 4]
push eax
push dword [ebp + 8]
mov eax, dword [ebp - 0x30]
push dword [ebp - 8]
add eax, esi
push eax
push dword [ebp - 0x34]
call dword [ecx + 0x140]
push dword [ebp - 8]
mov dword [ebp + 8], eax
call fcn.0041b9c0
mov eax, dword [ebp + 8]
pop ecx
jmp 0x4a847e
call fcn.004ae8cf
outsd dx, dword [esi]
add byte fs:[eax], al
mov ecx, eax
lea eax, [ebp - 4]
push eax
push dword [ebp + 8]
mov eax, dword [ebp - 0x2c]
add eax, esi
push eax
mov eax, dword [ebp - 0x30]
add eax, esi
push eax
push dword [ebp - 0x34]
call dword [ecx + 0x140]
add ebx, dword [ebp - 4]
test eax, eax
je 0x4a849f
cmp dword [ebp - 4], 0
je 0x4a849f
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0xc]
imul ecx, edi
add esi, ecx
cmp esi, dword [ebp - 0x28]
jb 0x4a83e1
pop edi
mov eax, ebx
pop ebx
pop esi
leave
ret 4
je 0x4a84c5
xor eax, eax
test esi, esi
jle 0x4a84c5
sub byte [eax + ecx], dl
inc eax
cmp eax, esi
jl 0x4a84bd
pop esi
pop ebp
ret
push esi
mov esi, ecx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
cmp eax, 0x42
ja 0x4a86d9
loope 0x4a845c
bound ebp, qword [esp + ebp*2 - 0x64ea6ff9]
ja 0x4a846c
popfd
test eax, 0x46952dab
xchg ecx, eax
fild word [ebp + 0x15]
into
xchg esi, eax
adc byte [esi], bl
mov dh, 0x18
and ah, byte [edx - 0x47]
fistp word [ecx - 0x18b40126]
jnp 0x4a84b5
mov eax, dword [0x53a15ecb]
sbb byte [edi], 3
xor byte [ebx + eax*4], 0x98
sar dword [ebx - 0x7ae308a3], 0xb2
and ebx, dword [ecx - 0x33]
sbb ebx, dword [edi + 0x7d]
adc al, 0x6b
inc ebx
xchg edx, eax
into
add eax, dword [edx - 0x3e677ccc]
mov ebx, 0x851cf75d
mov dl, 0x23
pop ecx
int 0x1b
pop edi
jge 0x4a8530
imul eax, dword [ebx - 0x6e], 0xffffffce
xchg edx, eax
adc byte [eax + 0x1a41c15b], ch
cmp bh, cl
bound edx, qword [edx]
ja 0x4a8509
and eax, 0xb3346c4f
xor al, 0xb3
stosb byte es:[edi], al
jne 0x4a8576
invalid
push eax
lodsd eax, dword [esi]
sub esp, dword [ecx]
invalid
mov eax, dword [esi + 0xf0]
test eax, eax
je 0x4a8857
mov ecx, dword [esi + 0x3b4]
test ecx, ecx
je 0x4a86f4
push ecx
call eax
mov eax, dword [esi + 0x3bc]
push edi
xor edi, edi
mov dword [esi + 0x3b4], edi
test eax, eax
je 0x4a870e
push eax
call dword [esi + 0xf0]
mov eax, dword [esi + 0x3b8]
mov dword [esi + 0x3bc], edi
test eax, eax
je 0x4a8725
push eax
call dword [esi + 0xf0]
mov eax, dword [esi + 0x3c4]
mov dword [esi + 0x3b8], edi
test eax, eax
je 0x4a873c
push eax
call dword [esi + 0xf0]
mov eax, dword [esi + 0x3d0]
mov dword [esi + 0x3c4], edi
test eax, eax
je 0x4a8753
push eax
call dword [esi + 0xf0]
mov eax, dword [esi + 0x3d4]
mov dword [esi + 0x3d0], edi
test eax, eax
je 0x4a876a
push eax
call dword [esi + 0xf0]
mov eax, dword [esi + 0x3d8]
mov dword [esi + 0x3d4], edi
test eax, eax
je 0x4a8781
push eax
call dword [esi + 0xf0]
mov eax, dword [esi + 0x3dc]
mov dword [esi + 0x3d8], edi
test eax, eax
je 0x4a8798
push eax
call dword [esi + 0xf0]
mov eax, dword [esi + 0x3e0]
mov dword [esi + 0x3dc], edi
test eax, eax
je 0x4a87af
push eax
call dword [esi + 0xf0]
mov eax, dword [esi + 0x3e4]
mov dword [esi + 0x3e0], edi
test eax, eax
je 0x4a87c6
push eax
call dword [esi + 0xf0]
mov eax, dword [esi + 0x3e8]
mov dword [esi + 0x3e4], edi
test eax, eax
je 0x4a87dd
push eax
call dword [esi + 0xf0]
mov eax, dword [esi + 0x3ec]
mov dword [esi + 0x3e8], edi
test eax, eax
je 0x4a87f4
push eax
call dword [esi + 0xf0]
mov eax, dword [esi + 0x3f0]
mov dword [esi + 0x3ec], edi
test eax, eax
je 0x4a880b
push eax
call dword [esi + 0xf0]
mov eax, dword [esi + 0x3f4]
mov dword [esi + 0x3f0], edi
test eax, eax
je 0x4a8822
push eax
call dword [esi + 0xf0]
mov eax, dword [esi + 0x3f8]
mov dword [esi + 0x3f4], edi
test eax, eax
je 0x4a8839
push eax
call dword [esi + 0xf0]
mov eax, dword [esi + 0x3fc]
mov dword [esi + 0x3f8], edi
test eax, eax
je 0x4a8850
push eax
call dword [esi + 0xf0]
mov dword [esi + 0x3fc], edi
pop edi
pop esi
ret