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

Disassembly:
je 0x7485b5
mov ecx, dword [edi + 0x48]
cmp edi, 0x6a86e3e
push eax
cmp ebp, 0xcd89d6b8
test si, 0xa3ae
xor ecx, eax
movzx eax, bp
bswap ax
mov eax, esi
jmp 0x5ba4fb
call fcn.00432fe0
push eax
call 0x4324d0
add esp, 8
test eax, eax
jne 0x70013b
mov dword [edi + 8], ebx
jmp 0x68005d
mov dword [esi + 0xc4], ebx
shr al, cl
mov dword [esi + 0x154], ebx
cmp esi, eax
rcr cl, 0xa
mov eax, dword [edi + 0xc]
or cl, cl
shr eax, 9
bts bp, ax
and eax, 1
mov dword [esi + 0x144], eax
xchg al, cl
lea eax, [esi + 0xc8]
or ebp, ecx
sub edi, eax
mov ebp, 0x7c
lea esp, [esp]
xadd cl, cl
sal cl, 0x95
stc
mov cl, byte [edi + eax]
mov byte [eax], cl
stc
test ebp, ebp
add eax, 1
sub ebp, 1
jne 0x5c3a53
mov edx, dword [esi + 0xd4]
shr edx, 8
test ebp, esi
and edx, 1
cmp dword [esp + 0x10], ebx
mov dword [esi + 0x150], edx
jmp 0x6da45b
mov dword [esp + 0x1c], ebx
jmp 0x6f8707
mov dword [esi + 0xa0], ebx
jmp 0x6ce899
call fcn.0043e120
mov eax, dword [esp + 0x4c]
mov edx, dword [esp + 0x50]
mov dword [esi + 0x368], eax
sal ax, cl
lea eax, [esi + 0x158]
bsf ecx, edi
mov ebp, edi
or cx, bx
shl ch, 0xaf
btc ecx, ecx
lea esp, [esp + 0xc]
ror cx, cl
cmp esp, edx
xor cl, 0x83
mov dword [esi + 0x250], edx
xor cl, 0xb0
sub ebp, eax
mov ecx, 0x7c
and dl, 0x8b
mov edi, edi
mov dl, 0x14
clc
cmc
mov dl, byte [eax + ebp]
mov byte [eax], dl
cmc
lea eax, [eax + 1]
jmp 0x6a4396
mov dword [edi + 0x50], ebx
jmp 0x6ad1d9
mov dword [edi + 4], ebx
mov dword [edi + 0x24], ebx
jmp 0x5e5914
mov dword [edi + 4], edx
jmp 0x74cbf7
jne 0x5d63c5
mov eax, dword [esp + 0x3c]
bts ecx, edi
sar cl, 0x24
rcl cx, 0x1a
mov ecx, dword [esp + 0x48]
test cl, 0x2a
test bx, si
mov dword [esi + 0x36c], eax
rol eax, cl
inc eax
mov dword [esi + 0x360], ecx
mov eax, dword [edi + 8]
cmp eax, ebx
jmp 0x5a39eb
jb 0x68005d
cmp eax, ecx
jmp 0x680057
pop edi
mov ecx, 0xeaadbc31
movsx edx, cx
movzx eax, cx
lea edi, [edi + eax - 0xbc36]
dec ecx
push edx
sete byte [esp + eax*8 - 0x5e188]
mov edx, dword [esi + eax - 0xbc31]
add ecx, ecx
bt ax, ax
rol cl, 4
lea esi, [esi + eax - 0xbc2d]
adc cl, 0x88
xor dword [esp + eax - 0xbc31], eax
div byte [esp + eax*8 - 0x5e185]
xor edx, ebx
ror al, 0x26
jb 0x7137be
call fcn.006356a7
push ecx
jmp 0x5c4474
jbe 0x744622
mov dword [esp + 0x10], 1
jmp 0x5ec627
sub ecx, 1
jmp 0x640908
mov dword [edi + 0x44], ebx
jmp 0x74461f
mov dword [esi + 0x21c], ebx
jmp 0x5d6376
jne 0x6da468
mov ecx, esi
call fcn.00437560
nop
jmp loc.004364b2
call dword [sym.imp.KERNEL32.dll_GetTickCount]
xor eax, dword [0x5a1c90]
btr bp, si
inc cl
rcl ebp, 0x1c
mov dword [esi + 0x364], ebx
mov dword [esi + 0x398], eax
jmp 0x5c3a0f
mov dword [esi + 0x98], ebx
jmp 0x5ccb90
mov edx, dword [0x5a1c90]
jmp 0x5f1163
ror edx, 1
rol eax, cl
inc edx
jmp 0x72eb2e
pop eax
push eax
not edx
xor ecx, ecx
adc eax, ecx
inc edx
ror cx, 0x28
ror edx, 2
idiv al
xchg cx, ax
xor ebx, edx
sal cl, cl
adc edi, edx
mov dword [esp + ecx - 2], edi
ret
mov dword [edi + 0x28], ebx
mov dword [esi + 0x3a8], ebx
mov dword [esi + 0x35c], ebx
jmp 0x6e8434
mov eax, dword [edi + 4]
mov ecx, dword [0x5a1c90]
cmp ch, 0xa0
ror dx, cl
lea edx, [eax + 0x13c680]
cmp edx, ecx
jmp 0x6636ab
jmp 0x744622