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

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0xc
push 0
push 0
dec ecx
jne 0x546544
push ecx
push ebx
mov dword [ebp - 0x24], edx
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x54692a
push dword fs:[eax]
mov dword fs:[eax], esp
xor edx, edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x310]
call fcn.00439e60
mov eax, dword [0x56750c]
push eax
push 0x500000
mov eax, dword [0x567518]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
call fcn.00403138
mov edx, eax
lea ecx, [ebp - 0x28]
mov eax, dword [0x567518]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov ecx, dword [ebp - 0x28]
mov edx, dword [0x5674f4]
mov eax, dword [ebp - 4]
call fcn.0054590c
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], edx
cmp byte [0x54d350], 0
je 0x5465c8
mov eax, dword [ebp - 4]
call fcn.005472bc
jmp 0x5468dd
cmp dword [ebp - 0xc], 0
jne 0x5465da
cmp dword [ebp - 0x10], 0
ja 0x546662
jmp 0x5465e0
jg 0x546662
lea edx, [ebp - 0x34]
mov eax, dword [0x567528]
call fcn.004091b8
mov ecx, dword [ebp - 0x34]
lea eax, [ebp - 0x30]
mov edx, 0x546940
call fcn.0040495c
mov edx, dword [ebp - 0x30]
lea eax, [ebp - 0x2c]
call fcn.00404eac
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x314]
call fcn.004af3f4
cmp dword [0x567528], 0x1f4
jne 0x546647
push 0
mov cx, word [0x546968]
mov dl, 1
mov eax, 0x546970
call fcn.00543b88
mov eax, dword [ebp - 4]
call fcn.005472bc
jmp 0x5468dd
inc dword [0x567528]
mov dl, 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x310]
call fcn.00439e60
jmp 0x5468dd
lea eax, [ebp - 0x18]
mov edx, dword [0x56750c]
call fcn.004046f0
mov al, byte [0x546a38]
push eax
lea eax, [ebp - 0x38]
push eax
xor ecx, ecx
mov edx, 0x546a44
mov eax, dword [0x567500]
call fcn.0040de7c
mov edx, dword [ebp - 0x38]
mov eax, 0x567500
call fcn.004046ac
lea edx, [ebp - 0x3c]
mov eax, dword [0x567500]
call fcn.00408f78
mov edx, dword [ebp - 0x3c]
mov eax, 0x567500
call fcn.004046ac
lea edx, [ebp - 0x44]
xor eax, eax
call fcn.00402b08
mov eax, dword [ebp - 0x44]
lea edx, [ebp - 0x40]
call fcn.00409754
mov eax, dword [ebp - 0x40]
lea edx, [ebp - 0x14]
call fcn.0040d68c
mov al, byte [0x546a38]
push eax
lea eax, [ebp - 0x48]
push eax
lea edx, [ebp - 0x4c]
mov eax, dword [ebp - 0x14]
call fcn.0040d68c
mov ecx, dword [ebp - 0x4c]
mov edx, 0x546a58
mov eax, dword [0x567500]
call fcn.0040de7c
mov edx, dword [ebp - 0x48]
mov eax, 0x567500
call fcn.004046ac
mov al, byte [0x546a38]
push eax
lea eax, [ebp - 0x50]
push eax
mov ecx, dword [0x567514]
mov edx, 0x546a68
mov eax, dword [0x567500]
call fcn.0040de7c
mov edx, dword [ebp - 0x50]
mov eax, 0x567500
call fcn.004046ac
lea eax, [ebp - 0x58]
mov ecx, dword [0x5674f4]
mov edx, 0x546a78
call fcn.0040495c
mov edx, dword [ebp - 0x58]
lea eax, [ebp - 0x54]
call fcn.00404eac
mov edx, dword [ebp - 0x54]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x314]
call fcn.004af3f4
cmp dword [0x5674e4], 0
je 0x5467e4
push 0x546a98
push dword [0x56750c]
push 0x546aa4
push dword [0x567500]
mov eax, 0x567500
mov edx, 4
call fcn.004049d0
push 0x546ab0
lea edx, [ebp - 0x64]
xor eax, eax
call fcn.00402b08
mov eax, dword [ebp - 0x64]
lea edx, [ebp - 0x60]
call fcn.00409754
mov eax, dword [ebp - 0x60]
lea edx, [ebp - 0x5c]
call fcn.0050a284
lea eax, [ebp - 0x5c]
mov edx, 0x546b24
call fcn.00404918
mov edx, dword [ebp - 0x5c]
mov ecx, dword [0x567500]
mov eax, 0x546b38
call fcn.00546434
mov byte [ebp - 0x19], al
mov eax, dword [ebp - 4]
call fcn.005472bc
jmp 0x5468dd
cmp dword [0x567534], 6
jb 0x546834
call fcn.00519be8
test al, al
jne 0x546816
push 0x546ab0
mov ecx, dword [0x567500]
mov edx, dword [0x56750c]
mov eax, 0x546b48
call fcn.00546434
mov byte [ebp - 0x19], al
jmp 0x546834
push 0x546ab0
mov ecx, dword [0x567500]
mov edx, dword [0x56750c]
mov eax, 0x546b38
call fcn.00546434
mov byte [ebp - 0x19], al
cmp dword [0x567534], 5
jne 0x546878
call fcn.00519be8
test al, al
jne 0x54685d
push 0
mov cx, word [0x546968]
mov dl, 2
mov eax, 0x546b54
call fcn.00543b88
jmp 0x546878
push 0x546ab0
mov ecx, dword [0x567500]
mov edx, dword [ebp - 0x18]
mov eax, 0x546b38
call fcn.00546434
mov byte [ebp - 0x19], al
cmp byte [ebp - 0x19], 0
je 0x5468d5
mov edx, 0x546c8c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x314]
call fcn.004af3f4
call fcn.0050a5f8
mov dword [ebp - 0x20], eax
mov eax, dword [0x54d88c]
mov eax, dword [eax]
call fcn.00462ae0
call fcn.0050a5f8
xor edx, edx
push edx
push eax
mov eax, dword [ebp - 0x20]
cdq
sub dword [esp], eax
sbb dword [esp + 4], edx
pop eax
pop edx
cmp edx, 0
jne 0x5468c9
cmp eax, 0x7d0
jbe 0x546899
jmp 0x5468cb
jle 0x546899
mov eax, dword [ebp - 4]
call fcn.005472bc
jmp 0x5468dd
mov eax, dword [ebp - 4]
call fcn.005472bc
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x546931
lea eax, [ebp - 0x64]
mov edx, 4
call fcn.0040467c
lea eax, [ebp - 0x54]
call fcn.00404d48
lea eax, [ebp - 0x50]
mov edx, 9
call fcn.0040467c
lea eax, [ebp - 0x2c]
call fcn.00404d48
lea eax, [ebp - 0x28]
call fcn.00404658
lea eax, [ebp - 0x18]
mov edx, 2
call fcn.0040467c
ret