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

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffff4
push ebx
push esi
push edi
mov ebx, ecx
mov dword [ebp - 4], eax
xor edx, edx
push ebp
push 0x942000
push dword fs:[edx]
mov dword fs:[edx], esp
mov eax, dword [ebp - 4]
mov byte [eax + 0x1098], 0
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x1090], edx
mov dword [eax + 0x1094], 0xbff00000
mov eax, dword [ebp - 4]
cmp byte [eax + 0x103d], 0
je 0x941da0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x818]
cmp byte [eax + 0x57], 0
je 0x941da0
mov eax, 0xa
call fcn.008ae474
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x50c]
mov edx, dword [edx + 0x4c]
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x818]
sub edx, dword [ecx + 0x4c]
sub edx, eax
cmp edx, dword [ebp + 8]
jg 0x941da0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x94200a
mov eax, dword [ebp - 4]
cmp byte [eax + 0x103d], 0
je 0x941f35
cmp bx, 1
jne 0x941f35
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x105c]
mov eax, dword [eax + 0x1058]
push edx
push eax
call sub.kernel32.dll_GetTickCount
xor edx, edx
sub dword [esp], eax
sbb dword [esp + 4], edx
pop eax
pop edx
test edx, edx
jge 0x941de6
neg eax
adc edx, 0
neg edx
cmp edx, 0
jne 0x941df8
cmp eax, 0x1f4
jbe 0x941f35
jmp 0x941dfe
jle 0x941f35
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x1064]
mov eax, dword [eax + 0x1060]
push edx
push eax
call sub.kernel32.dll_GetTickCount
xor edx, edx
sub dword [esp], eax
sbb dword [esp + 4], edx
pop eax
pop edx
test edx, edx
jge 0x941e2a
neg eax
adc edx, 0
neg edx
cmp edx, 0
jne 0x941e3c
cmp eax, 0x2ee
jbe 0x941f35
jmp 0x941e42
jle 0x941f35
mov eax, dword [ebp - 4]
call fcn.008db6a4
cmp eax, 3
jne 0x941e9c
call sub.kernel32.dll_GetTickCount
xor edx, edx
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x1058], eax
mov dword [ecx + 0x105c], edx
mov eax, dword [ebp - 4]
call fcn.00941cc4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x7f0]
mov dword [eax + 0xc], 1
mov edx, 0xfa
call fcn.0044b198
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x7f0]
mov dl, 1
call fcn.0044b188
jmp 0x941f35
cmp eax, 2
je 0x941ea6
cmp eax, 1
jne 0x941ef1
mov eax, dword [ebp - 4]
mov dword [eax + 0x1058], 0
mov dword [eax + 0x105c], 0
mov eax, dword [ebp - 4]
call fcn.00941cc4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x7f0]
mov dword [eax + 0xc], 2
mov edx, 0xfa
call fcn.0044b198
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x7f0]
mov dl, 1
call fcn.0044b188
jmp 0x941f35
mov eax, dword [ebp - 4]
mov dword [eax + 0x1058], 0
mov dword [eax + 0x105c], 0
mov eax, dword [ebp - 4]
call fcn.00941cc4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x7f0]
xor edx, edx
mov dword [eax + 0xc], edx
xor edx, edx
call fcn.0044b198
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x7f0]
xor edx, edx
call fcn.0044b188
mov eax, dword [ebp - 4]
cmp byte [eax + 0x103d], 0
je 0x941fdf
cmp bx, 2
jne 0x941fdf
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4d0]
mov dword [eax + 0xc], 1
lea eax, [ebp - 0xc]
call fcn.008aebe0
xor eax, eax
push ebp
push 0x941fd8
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
mov byte [eax + 0xba5], 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4d0]
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 0xc]
mov ebx, dword [eax]
call dword [ebx + 0x40]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x941ff6
mov eax, dword [ebp - 4]
mov byte [eax + 0xba5], 0
mov eax, dword [ebp - 4]
mov dword [eax + 0x1058], 0
mov dword [eax + 0x105c], 0
call sub.kernel32.dll_GetTickCount
xor edx, edx
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x1060], eax
mov dword [ecx + 0x1064], edx
ret
mov eax, dword [ebp - 4]
mov dword [eax + 0x1060], 0
mov dword [eax + 0x1064], 0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x94200a
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc