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

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffd8
push ebx
push esi
push edi
xor edx, edx
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x14], edx
mov ebx, eax
xor eax, eax
push ebp
push 0x4b4c2d
push dword fs:[eax]
mov dword fs:[eax], esp
cmp byte [0x4f79ac], 0
je 0x4b4c0f
call sub.kernel32.dll_GetTickCount_1
sub eax, dword [0x4f79b0]
cmp eax, 0xfa
jb 0x4b4c0f
call sub.kernel32.dll_GetTickCount_1
mov dword [0x4f79b0], eax
mov edx, dword [0x4f8160]
mov edx, dword [edx]
mov eax, dword [0x4f814c]
mov eax, dword [eax]
call fcn.004e5174
mov al, byte [eax + 0x41e]
add al, 0xfe
sub al, 2
jae 0x4b4818
xor eax, eax
mov dword [ebx + 4], eax
jmp 0x4b4c0f
call sub.kernel32.dll_GetTickCount_1
xor edx, edx
push edx
push eax
mov eax, dword [ebx + 0x30]
cdq
cmp edx, dword [esp + 4]
jne 0x4b4834
cmp eax, dword [esp]
pop edx
pop eax
jae 0x4b483d
jmp 0x4b4838
pop edx
pop eax
jge 0x4b483d
xor eax, eax
mov dword [ebx + 4], eax
mov eax, dword [ebx + 4]
test eax, eax
je 0x4b4857
cmp byte [eax + 0x30], 0
je 0x4b4857
cmp byte [eax + 0x41e], 3
jne 0x4b4986
mov eax, dword [0x4f814c]
mov eax, dword [eax]
call fcn.004e5098
mov esi, eax
mov dword [ebx + 4], esi
test esi, esi
jne 0x4b4947
mov eax, dword [0x4f875c]
mov eax, dword [eax]
cmp dword [eax + 4], 0
jne 0x4b4931
call sub.kernel32.dll_GetTickCount_1
xor edx, edx
push edx
push eax
mov eax, dword [ebx + 0x2c]
cdq
sub dword [esp], eax
sbb dword [esp + 4], edx
pop eax
pop edx
cmp edx, 0
jne 0x4b48a8
cmp eax, 0x7d0
jae 0x4b48ae
jmp 0x4b4c0f
jl 0x4b4c0f
call sub.kernel32.dll_GetTickCount_1
mov dword [ebx + 0x2c], eax
lea edx, [ebp - 0xe]
mov eax, ebx
call fcn.004b44c0
mov eax, dword [0x4f8810]
mov eax, dword [eax]
mov esi, dword [ebp - 0xe]
cmp eax, esi
je 0x4b48fb
mov eax, dword [0x4f876c]
mov eax, dword [eax]
cmp eax, dword [ebp - 0xa]
je 0x4b48fb
push esi
mov eax, dword [ebp - 0xa]
push eax
mov ecx, dword [0x4f876c]
mov ecx, dword [ecx]
mov edx, dword [0x4f8810]
mov edx, dword [edx]
mov eax, dword [0x4f875c]
mov eax, dword [eax]
call fcn.004a9da4
lea eax, [ebp - 0x14]
push eax
mov dword [ebp - 0x24], esi
mov byte [ebp - 0x20], 0
mov eax, dword [ebp - 0xa]
mov dword [ebp - 0x1c], eax
mov byte [ebp - 0x18], 0
lea edx, [ebp - 0x24]
mov ecx, 1
mov eax, 0x4b4c44
call fcn.0040a1f4
mov edx, dword [ebp - 0x14]
mov eax, ebx
call fcn.004b4420
jmp 0x4b4c0f
mov edx, 0x4b4c64
mov eax, ebx
call fcn.004b4420
xor eax, eax
mov dword [ebx + 4], eax
jmp 0x4b4c0f
mov eax, dword [esi + 0x414]
cdq
push edx
push eax
mov eax, dword [ebx + 0xc]
xor edx, edx
cmp edx, dword [esp + 4]
jne 0x4b495e
cmp eax, dword [esp]
pop edx
pop eax
je 0x4b4988
mov byte [ebx + 8], 0
mov eax, dword [esi + 0x414]
mov dword [ebx + 0xc], eax
mov eax, dword [0x4f875c]
mov eax, dword [eax]
add eax, 4
mov edx, dword [0x4e67dc]
call fcn.00405e80
jmp 0x4b4988
mov esi, eax
mov al, byte [ebx + 8]
sub al, 1
jb 0x4b49a2
je 0x4b4b45
dec al
je 0x4b4b91
jmp 0x4b4c0f
mov eax, dword [0x4f8810]
mov eax, dword [eax]
movsx edx, word [esi + 0x5a]
sub eax, edx
cdq
xor eax, edx
sub eax, edx
dec eax
jg 0x4b49e8
mov eax, dword [0x4f876c]
mov eax, dword [eax]
movsx edx, word [esi + 0x5e]
sub eax, edx
cdq
xor eax, edx
sub eax, edx
dec eax
jg 0x4b49e8
mov byte [ebx + 8], 1
mov eax, ebx
call fcn.004b46dc
mov edx, 0x4b4c84
mov eax, ebx
call fcn.004b4420
jmp 0x4b4c0f
mov ax, word [esi + 0x5a]
mov word [ebp - 4], ax
mov ax, word [esi + 0x5e]
mov word [ebp - 6], ax
mov eax, dword [0x4f876c]
mov ax, word [eax]
push eax
mov ecx, dword [0x4f8810]
mov cx, word [ecx]
mov dx, word [ebp - 6]
mov ax, word [ebp - 4]
call fcn.00499e6c
mov word [ebp - 2], ax
lea ecx, [ebp - 6]
lea edx, [ebp - 4]
mov ax, word [ebp - 2]
call fcn.00499e10
movzx ecx, word [ebp - 6]
movzx edx, word [ebp - 4]
mov eax, ebx
call fcn.004b44b0
test al, al
jne 0x4b4a7b
xor edi, edi
mov ax, word [esi + 0x5a]
mov word [ebp - 4], ax
mov ax, word [esi + 0x5e]
mov word [ebp - 6], ax
lea ecx, [ebp - 6]
lea edx, [ebp - 4]
mov eax, edi
call fcn.00499e10
movzx ecx, word [ebp - 6]
movzx edx, word [ebp - 4]
mov eax, ebx
call fcn.004b44b0
test al, al
je 0x4b4a75
mov word [ebp - 2], di
jmp 0x4b4a7b
inc edi
cmp edi, 8
jne 0x4b4a3f
cmp word [ebp - 2], 8
jne 0x4b4a8b
xor edx, edx
mov eax, esi
call fcn.004e3870
movsx eax, word [esi + 0x5a]
cmp eax, dword [ebx + 0x10]
jne 0x4b4aaf
movsx edx, word [esi + 0x5e]
cmp edx, dword [ebx + 0x14]
jne 0x4b4aaf
mov edx, dword [0x4f875c]
mov edx, dword [edx]
cmp dword [edx + 4], 0
jne 0x4b4c0f
mov dword [ebx + 0x10], eax
movsx eax, word [esi + 0x5e]
mov dword [ebx + 0x14], eax
movzx eax, word [ebp - 4]
push eax
movzx eax, word [ebp - 6]
push eax
mov ecx, dword [0x4f876c]
mov ecx, dword [ecx]
mov edx, dword [0x4f8810]
mov edx, dword [edx]
mov eax, dword [0x4f875c]
mov eax, dword [eax]
call fcn.004a9da4
mov eax, dword [0x4f875c]
mov eax, dword [eax]
cmp dword [eax + 4], 0
je 0x4b4b01
mov byte [ebx + 8], 2
mov edx, 0x4b4ca0
mov eax, ebx
call fcn.004b4420
jmp 0x4b4c0f
lea eax, [ebp - 0x28]
push eax
movsx eax, word [esi + 0x5a]
mov dword [ebp - 0x24], eax
mov byte [ebp - 0x20], 0
movsx eax, word [esi + 0x5e]
mov dword [ebp - 0x1c], eax
mov byte [ebp - 0x18], 0
lea edx, [ebp - 0x24]
mov ecx, 1
mov eax, 0x4b4cbc
call fcn.0040a1f4
mov edx, dword [ebp - 0x28]
mov eax, ebx
call fcn.004b4420
xor edx, edx
mov eax, esi
call fcn.004e3870
jmp 0x4b4c0f
mov eax, dword [0x4f8810]
mov eax, dword [eax]
movsx edx, word [esi + 0x5a]
sub eax, edx
cdq
xor eax, edx
sub eax, edx
dec eax
jg 0x4b4b8b
mov eax, dword [0x4f876c]
mov eax, dword [eax]
movsx edx, word [esi + 0x5e]
sub eax, edx
cdq
xor eax, edx
sub eax, edx
dec eax
jg 0x4b4b8b
mov byte [ebx + 8], 1
mov eax, ebx
call fcn.004b46dc
mov edx, 0x4b4cd0
mov eax, ebx
call fcn.004b4420
jmp 0x4b4c0f
mov byte [ebx + 8], 0
jmp 0x4b4c0f
mov eax, dword [0x4f875c]
mov eax, dword [eax]
cmp dword [eax + 4], 0
jne 0x4b4ba4
mov byte [ebx + 8], 0
jmp 0x4b4c0f
movsx eax, word [esi + 0x5a]
cmp eax, dword [ebx + 0x10]
jne 0x4b4bb6
movsx eax, word [esi + 0x5e]
cmp eax, dword [ebx + 0x14]
jge 0x4b4bc8
mov byte [ebx + 8], 0
mov edx, 0x4b4cec
mov eax, ebx
call fcn.004b4420
jmp 0x4b4c0f
mov eax, dword [0x4f8810]
mov eax, dword [eax]
movsx edx, word [esi + 0x5a]
sub eax, edx
cdq
xor eax, edx
sub eax, edx
dec eax
jg 0x4b4c0b
mov eax, dword [0x4f876c]
mov eax, dword [eax]
movsx edx, word [esi + 0x5e]
sub eax, edx
cdq
xor eax, edx
sub eax, edx
dec eax
jg 0x4b4c0b
mov byte [ebx + 8], 1
mov eax, ebx
call fcn.004b46dc
mov edx, 0x4b4d0c
mov eax, ebx
call fcn.004b4420
jmp 0x4b4c0f
mov byte [ebx + 8], 0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4b4c34
lea eax, [ebp - 0x28]
call fcn.00404b4c
lea eax, [ebp - 0x14]
call fcn.00404b4c
ret