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

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x82
push 0
push 0
dec ecx
jne 0x5a6670
push ecx
push ebx
push esi
push edi
mov edi, edx
mov esi, eax
xor eax, eax
push ebp
push 0x5a6acb
push dword fs:[eax]
mov dword fs:[eax], esp
xor ebx, ebx
lea eax, [ebp - 0x18]
lea edx, [edi + 2]
call fcn.00405644
mov edx, dword [ebp - 0x18]
lea ecx, [ebp - 0x14]
mov eax, dword [esi + 0x60]
call fcn.0058d120
test al, al
je 0x5a6a0f
mov edx, dword [edi + 0xcb]
mov eax, dword [ebp - 0x14]
call fcn.0058d230
mov dword [ebp - 0xc], eax
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x14]
call fcn.0058d270
mov byte [ebp - 0xd], al
movzx eax, byte [ebp - 0xd]
sub al, 2
jb 0x5a66ea
je 0x5a69c4
dec al
je 0x5a6912
jmp 0x5a6a4d
cmp byte [ebp - 0xd], 0
je 0x5a671a
cmp byte [ebp - 0xd], 1
jne 0x5a68a9
movzx edx, word [ebp - 0xc]
mov eax, dword [ebp - 0x14]
call fcn.0058d494
push eax
call sub.kernel32.dll_GetTickCount_1
pop edx
sub eax, edx
cmp eax, 0x1388
jbe 0x5a68a9
lea eax, [ebp - 0x20]
lea edx, [edi + 2]
call fcn.00405644
mov eax, dword [ebp - 0x20]
lea edx, [ebp - 0x1c]
call fcn.0040b5ac
mov eax, dword [ebp - 0x1c]
lea edx, [ebp - 4]
call fcn.0040a068
mov eax, dword [ebp - 0x14]
cmp byte [eax + 0x1c], 1
jne 0x5a6753
lea eax, [ebp - 8]
mov edx, 0x5a6ae4
call fcn.00405478
jmp 0x5a6760
lea eax, [ebp - 8]
mov edx, 0x5a6af4
call fcn.00405478
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 8]
call fcn.00405808
jne 0x5a6866
cmp dword [ebp - 0xc], 0
jl 0x5a6815
lea eax, [ebp - 0x124]
lea edx, [edi + 2]
call fcn.00405644
lea eax, [ebp - 0x124]
push eax
lea edx, [ebp - 0x128]
mov eax, dword [ebp - 0xc]
call fcn.0040a8ec
mov edx, dword [ebp - 0x128]
pop eax
call fcn.004056ac
mov edx, dword [ebp - 0x124]
lea eax, [ebp - 0x120]
mov ecx, 0xff
call fcn.0040567c
lea edx, [ebp - 0x120]
lea eax, [edi + 2]
mov cl, 0xc8
call fcn.00403a6c
mov cl, 1
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x14]
call fcn.0058d4ac
call sub.kernel32.dll_GetTickCount_1
mov ecx, eax
movzx edx, word [ebp - 0xc]
mov eax, dword [ebp - 0x14]
call fcn.0058d480
cmp byte [edi + 1], 0
je 0x5a6804
mov ecx, edi
xor edx, edx
mov eax, dword [esi + 0x50]
call fcn.005a3d60
jmp 0x5a680e
mov edx, edi
mov eax, dword [esi + 0x50]
call fcn.005a4080
mov bl, 1
jmp 0x5a6a4d
lea eax, [ebp - 0x12c]
push eax
lea eax, [edi + 2]
mov dword [ebp - 0x13c], eax
mov byte [ebp - 0x138], 4
mov eax, dword [edi + 0xcb]
mov dword [ebp - 0x134], eax
mov byte [ebp - 0x130], 0
lea edx, [ebp - 0x13c]
mov ecx, 1
mov eax, 0x5a6b04
call fcn.0040c244
mov eax, dword [ebp - 0x12c]
mov dl, 1
call fcn.005a4f98
jmp 0x5a6a4d
mov edx, 0x5a6b30
lea eax, [ebp - 0x228]
call fcn.00403a60
lea edx, [edi + 2]
lea eax, [ebp - 0x228]
mov cl, 0xe4
call fcn.00403a30
lea edx, [ebp - 0x228]
lea eax, [ebp - 0x140]
call fcn.00405644
mov eax, dword [ebp - 0x140]
mov dl, 1
call fcn.005a4f98
jmp 0x5a6a4d
cmp byte [ebp - 0xd], 1
jne 0x5a6a4d
lea eax, [ebp - 0x22c]
push eax
lea eax, [edi + 2]
mov dword [ebp - 0x244], eax
mov byte [ebp - 0x240], 4
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x23c], eax
mov byte [ebp - 0x238], 0
movzx eax, byte [ebp - 0xd]
mov dword [ebp - 0x234], eax
mov byte [ebp - 0x230], 0
lea edx, [ebp - 0x244]
mov ecx, 2
mov eax, 0x5a6b58
call fcn.0040c244
mov eax, dword [ebp - 0x22c]
mov dl, 1
call fcn.005a4f98
jmp 0x5a6a4d
lea eax, [ebp - 0x248]
push eax
lea eax, [edi + 2]
mov dword [ebp - 0x13c], eax
mov byte [ebp - 0x138], 4
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x134], eax
mov byte [ebp - 0x130], 0
lea edx, [ebp - 0x13c]
mov ecx, 1
mov eax, 0x5a6b8c
call fcn.0040c244
mov eax, dword [ebp - 0x248]
mov dl, 1
call fcn.005a4f98
lea edx, [edi + 2]
lea eax, [ebp - 0x318]
call fcn.00403a60
mov edx, 0x5a6bbc
lea eax, [ebp - 0x318]
mov cl, 0xca
call fcn.00403a30
lea edx, [ebp - 0x318]
lea eax, [ebp - 0x24c]
call fcn.00405644
lea eax, [ebp - 0x24c]
push eax
lea edx, [ebp - 0x31c]
mov eax, dword [ebp - 0xc]
call fcn.0040a8ec
mov edx, dword [ebp - 0x31c]
pop eax
call fcn.004056ac
mov ecx, dword [ebp - 0x24c]
mov edx, 0x2716
mov eax, esi
call fcn.005a5224
jmp 0x5a6a4d
lea eax, [ebp - 0x320]
push eax
lea eax, [edi + 2]
mov dword [ebp - 0x13c], eax
mov byte [ebp - 0x138], 4
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x134], eax
mov byte [ebp - 0x130], 0
lea edx, [ebp - 0x13c]
mov ecx, 1
mov eax, 0x5a6bc8
call fcn.0040c244
mov eax, dword [ebp - 0x320]
mov dl, 1
call fcn.005a4f98
jmp 0x5a6a4d
mov edx, 0x5a6bf0
lea eax, [ebp - 0x414]
call fcn.00403a60
lea edx, [edi + 2]
lea eax, [ebp - 0x414]
mov cl, 0xec
call fcn.00403a30
lea edx, [ebp - 0x414]
lea eax, [ebp - 0x324]
call fcn.00405644
mov eax, dword [ebp - 0x324]
mov dl, 1
call fcn.005a4f98
test bl, bl
jne 0x5a6a5d
mov edx, 0xd5
mov eax, edi
call fcn.00402fd0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x5a6ad2
lea eax, [ebp - 0x324]
mov edx, 3
call fcn.00405404
lea eax, [ebp - 0x24c]
mov edx, 2
call fcn.00405404
lea eax, [ebp - 0x22c]
call fcn.004053e0
lea eax, [ebp - 0x140]
call fcn.004053e0
lea eax, [ebp - 0x12c]
mov edx, 3
call fcn.00405404
lea eax, [ebp - 0x20]
mov edx, 3
call fcn.00405404
lea eax, [ebp - 8]
mov edx, 2
call fcn.00405404
ret