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

Disassembly:
push ebx
push esi
push edi
push ebp
add esp, 0xfffffff8
mov ebx, edx
mov esi, eax
mov eax, dword [0x545148]
mov eax, dword [eax]
mov dword [eax + 4], ebx
mov eax, dword [0x5444e4]
cmp byte [eax + 0xe6], 6
mov eax, dword [ebx + 0xc]
push eax
mov eax, dword [0x544738]
mov eax, dword [eax]
mov edx, dword [eax + 0xc]
mov eax, dword [0x544738]
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov ecx, dword [ebx + 8]
call fcn.00527538
mov ebp, eax
and ebp, 0xff
mov edx, ebp
mov eax, esi
call fcn.004a657c
mov edi, eax
cmp edi, 0xbcb
jne 0x4a6edd
mov eax, dword [0x544f94]
cmp byte [eax + 0x6d], 0
je 0x4a6edd
cmp byte [ebx + 0x2c], 0
jne 0x4a6e6d
push 3
mov ecx, ebx
mov edx, ebp
mov eax, esi
call fcn.004a5b68
test al, al
jne 0x4a6e6d
lea eax, [esp + 4]
push eax
lea ecx, [esp + 4]
mov edx, dword [ebx + 0xc]
mov eax, dword [ebx + 8]
call fcn.004a697c
test al, al
je 0x4a6e6d
mov eax, dword [0x544738]
mov eax, dword [eax]
mov eax, dword [eax + 8]
sub eax, dword [esp]
cdq
xor eax, edx
sub eax, edx
dec eax
jg 0x4a6e4b
mov eax, dword [0x544738]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
sub eax, dword [esp + 4]
cdq
xor eax, edx
sub eax, edx
dec eax
jg 0x4a6e4b
mov eax, dword [0x544df8]
mov byte [eax], 1
jmp 0x4a6e53
mov eax, dword [0x544df8]
mov byte [eax], 2
mov eax, dword [0x54488c]
mov edx, dword [esp]
mov dword [eax], edx
mov eax, dword [0x54472c]
mov edx, dword [esp + 4]
mov dword [eax], edx
jmp 0x4a7151
cmp byte [ebx + 0x2c], 0
jne 0x4a6edd
mov eax, esi
call fcn.004adf78
test al, al
je 0x4a6edd
mov eax, esi
call fcn.004adf4c
test al, al
je 0x4a6edd
mov eax, esi
call fcn.004adfb4
test al, al
je 0x4a6edd
mov edx, ebp
mov eax, esi
call fcn.004a62e0
mov edi, eax
mov eax, dword [0x544738]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
push eax
push ebp
push 0
push 0
push 0
push 0
mov eax, dword [0x544738]
mov eax, dword [eax]
mov ecx, dword [eax + 8]
mov eax, dword [0x544738]
mov eax, dword [eax]
mov edx, edi
call fcn.005138f0
call sub.kernel32.dll_GetTickCount_1
mov edx, dword [0x544df4]
mov dword [edx], eax
jmp 0x4a7151
cmp edi, 0xbcb
jne 0x4a6f89
mov eax, dword [0x544f94]
cmp byte [eax + 0x6c], 0
je 0x4a6f89
cmp byte [ebx + 0x2c], 0
jne 0x4a6f89
push 2
mov ecx, ebx
mov edx, ebp
mov eax, esi
call fcn.004a5b68
test al, al
je 0x4a6f89
mov eax, esi
call fcn.004adf78
test al, al
je 0x4a7151
mov eax, esi
call fcn.004adf4c
test al, al
je 0x4a7151
mov eax, esi
call fcn.004adfb4
test al, al
je 0x4a7151
mov edx, ebp
mov eax, esi
call fcn.004a62e0
mov edi, eax
mov eax, dword [0x544738]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
push eax
push ebp
push 0
push 0
push 0
push 0
mov eax, dword [0x544738]
mov eax, dword [eax]
mov ecx, dword [eax + 8]
mov eax, dword [0x544738]
mov eax, dword [eax]
mov edx, edi
call fcn.005138f0
call sub.kernel32.dll_GetTickCount_1
mov edx, dword [0x544df4]
mov dword [edx], eax
jmp 0x4a7151
mov eax, edi
call fcn.004a6960
test al, al
je 0x4a701e
mov edx, 4
mov eax, ebx
call fcn.004a689c
test al, al
je 0x4a701e
mov eax, esi
call fcn.004adf78
test al, al
je 0x4a7151
mov eax, esi
call fcn.004adf4c
test al, al
je 0x4a7151
mov eax, esi
call fcn.004adfb4
test al, al
je 0x4a7151
mov edx, ebp
mov eax, esi
call fcn.004a62e0
mov edi, eax
mov eax, dword [0x544738]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
push eax
push ebp
push 0
push 0
push 0
push 0
mov eax, dword [0x544738]
mov eax, dword [eax]
mov ecx, dword [eax + 8]
mov eax, dword [0x544738]
mov eax, dword [eax]
mov edx, edi
call fcn.005138f0
call sub.kernel32.dll_GetTickCount_1
mov edx, dword [0x544df4]
mov dword [edx], eax
jmp 0x4a7151
cmp byte [ebx + 0x2c], 0
jne 0x4a70e3
push 1
mov ecx, ebx
mov edx, ebp
mov eax, esi
call fcn.004a5b68
test al, al
je 0x4a70e3
mov eax, esi
call fcn.004adf78
test al, al
je 0x4a7151
mov eax, esi
call fcn.004adf4c
test al, al
je 0x4a7151
mov eax, esi
call fcn.004adfb4
test al, al
je 0x4a7151
mov edx, ebp
mov eax, esi
call fcn.004a62e0
mov edi, eax
mov eax, dword [0x544ae8]
cmp byte [eax], 0
je 0x4a709f
cmp edi, 0xce5
jne 0x4a709f
push 0
push 0x65
mov eax, dword [ebx + 4]
push eax
mov ecx, ebp
mov edx, 0xbc9
mov eax, esi
call fcn.004ab9b8
jmp 0x4a70cb
mov eax, dword [0x544738]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
push eax
push ebp
push 0
push 0
push 0
push 0
mov eax, dword [0x544738]
mov eax, dword [eax]
mov ecx, dword [eax + 8]
mov eax, dword [0x544738]
mov eax, dword [eax]
mov edx, edi
call fcn.005138f0
call sub.kernel32.dll_GetTickCount_1
mov edx, dword [0x544df4]
mov dword [edx], eax
mov eax, dword [0x544720]
xor edx, edx
mov dword [eax], edx
jmp 0x4a7151
mov eax, dword [0x544738]
mov eax, dword [eax]
mov eax, dword [eax + 8]
sub eax, dword [ebx + 8]
cdq
xor eax, edx
sub eax, edx
cmp eax, 2
jg 0x4a7121
mov eax, dword [0x544738]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
sub eax, dword [ebx + 0xc]
cdq
xor eax, edx
sub eax, edx
cmp eax, 2
jg 0x4a7121
cmp byte [ebx + 0x2c], 0
jne 0x4a7121
mov eax, dword [0x544df8]
mov byte [eax], 1
jmp 0x4a7129
mov eax, dword [0x544df8]
mov byte [eax], 2
push esp
lea eax, [esp + 8]
push eax
mov ecx, ebp
mov edx, dword [ebx + 0xc]
mov eax, dword [ebx + 8]
call fcn.00527698
mov eax, dword [0x54488c]
mov edx, dword [esp]
mov dword [eax], edx
mov eax, dword [0x54472c]
mov edx, dword [esp + 4]
mov dword [eax], edx
pop ecx
pop edx
pop ebp
pop edi
pop esi
pop ebx
ret