Function at 0x539458
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 edi, 0xbc6
mov eax, dword [0x5533dc]
cmp byte [eax + 0x61], 6
jne 0x539478
mov edi, 0xbc7
mov eax, dword [ebx + 0xc]
push eax
mov eax, dword [0x55359c]
mov eax, dword [eax]
mov edx, dword [eax + 0xc]
mov eax, dword [0x55359c]
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov ecx, dword [ebx + 8]
call fcn.0052c5e4
movzx ebp, al
mov eax, dword [0x55359c]
mov eax, dword [eax]
mov eax, dword [eax + 8]
sub eax, dword [ebx + 8]
cdq
xor eax, edx
sub eax, edx
dec eax
jg 0x539621
mov eax, dword [0x55359c]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
sub eax, dword [ebx + 0xc]
cdq
xor eax, edx
sub eax, edx
dec eax
jg 0x539621
cmp byte [ebx + 0x2c], 0
jne 0x539621
mov eax, esi
call fcn.0053d3b8
test al, al
je 0x539612
mov eax, esi
call fcn.0053d38c
test al, al
je 0x539612
mov eax, esi
call fcn.0053d400
test al, al
je 0x539612
mov eax, dword [0x553794]
cmp byte [eax], 0
je 0x53952e
mov eax, dword [0x55359c]
mov eax, dword [eax]
cmp word [eax + 0x54], 7
jb 0x53952e
mov eax, dword [0x553794]
mov byte [eax], 0
mov edi, 0xbd1
jmp 0x5395d9
mov eax, dword [0x5535e0]
cmp byte [eax], 0
je 0x53954a
mov eax, dword [0x5535e0]
mov byte [eax], 0
mov edi, 0xbca
jmp 0x5395d9
mov eax, dword [0x553560]
cmp byte [eax], 0
je 0x539571
mov eax, dword [0x55359c]
mov eax, dword [eax]
cmp word [eax + 0x54], 0xa
jb 0x539571
mov eax, dword [0x553560]
mov byte [eax], 0
mov edi, 0xbde
jmp 0x5395d9
mov eax, dword [0x5535ac]
cmp byte [eax], 0
je 0x539590
mov eax, dword [0x55359c]
mov eax, dword [eax]
cmp word [eax + 0x54], 3
jb 0x539590
mov edi, 0xbd0
jmp 0x5395d9
mov eax, dword [0x553880]
cmp byte [eax], 0
je 0x5395af
mov eax, dword [0x55359c]
mov eax, dword [eax]
cmp word [eax + 0x54], 6
jb 0x5395af
mov edi, 0xbdc
jmp 0x5395d9
mov eax, dword [0x5534ec]
cmp byte [eax], 0
je 0x5395c6
mov edx, ebp
mov eax, esi
call fcn.00538f00
test al, al
jne 0x5395d4
mov eax, dword [0x553804]
cmp byte [eax + 0x99], 0
je 0x5395d9
mov edi, 0xbcb
mov eax, dword [0x55359c]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
push eax
push ebp
push 0
push 0
push 0
push 0
mov eax, dword [0x55359c]
mov eax, dword [eax]
mov ecx, dword [eax + 8]
mov eax, dword [0x55359c]
mov eax, dword [eax]
mov edx, edi
call fcn.0052def0
call sub.kernel32.dll_GetTickCount_1
mov edx, dword [0x5539ec]
mov dword [edx], eax
call sub.kernel32.dll_GetTickCount_1
mov edx, dword [0x55376c]
mov dword [edx], eax
jmp 0x53968f
mov eax, dword [0x55359c]
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 0x53965f
mov eax, dword [0x55359c]
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 0x53965f
cmp byte [ebx + 0x2c], 0
jne 0x53965f
mov eax, dword [0x5539fc]
mov byte [eax], 0
jmp 0x539667
mov eax, dword [0x5539fc]
mov byte [eax], 1
push esp
lea eax, [esp + 8]
push eax
mov ecx, ebp
mov edx, dword [ebx + 0xc]
mov eax, dword [ebx + 8]
call fcn.0052c744
mov eax, dword [0x55364c]
mov edx, dword [esp]
mov dword [eax], edx
mov eax, dword [0x553588]
mov edx, dword [esp + 4]
mov dword [eax], edx
pop ecx
pop edx
pop ebp
pop edi
pop esi
pop ebx
ret