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

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x10
push 0
push 0
dec ecx
jne 0x66ed00
push ebx
push esi
push edi
mov dword [ebp - 0x24], eax
lea eax, [ebp - 0x20]
mov edx, dword [0x48b4e4]
call fcn.0040603c
xor eax, eax
push ebp
push 0x670615
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
mov dword [ebp - 0x34], eax
xor eax, eax
push ebp
push 0x66ed70
push dword fs:[eax]
mov dword fs:[eax], esp
jmp 0x66ed57
mov dword [ebp - 0x34], 0x3e8
lea edx, [ebp - 0x20]
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax]
call dword [ecx + 0x48]
mov dword [ebp - 0x34], 0x3e9
lea edx, [ebp - 0x20]
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax]
call dword [ecx + 0x3c]
test al, al
jne 0x66ed3e
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x66eda5
xor edx, edx
push ebp
push 0x66f269
push dword fs:[edx]
mov dword fs:[edx], esp
mov eax, dword [ebp - 0x24]
cmp byte [eax + 0x2a0], 0
je 0x66ede7
mov eax, dword [ebp - 0x24]
movzx eax, word [eax + 0x122]
mov edx, dword [ebp - 0x24]
mov word [edx + 0x11e], ax
mov eax, dword [ebp - 0x24]
movzx eax, word [eax + 0x124]
mov edx, dword [ebp - 0x24]
mov word [edx + 0x120], ax
call sub.kernel32.dll_GetTickCount_1
mov edx, dword [ebp - 0x24]
sub eax, dword [edx + 0x3d8]
mov ecx, 0x14
xor edx, edx
div ecx
mov ebx, eax
call sub.kernel32.dll_GetTickCount_1
mov edx, dword [ebp - 0x24]
mov dword [edx + 0x3d8], eax
mov edx, dword [ebp - 0x24]
mov eax, ebx
add dword [edx + 0x378], eax
mov edx, dword [ebp - 0x24]
add dword [edx + 0x37c], eax
mov eax, dword [ebp - 0x24]
cmp byte [eax + 0x2ec], 0
jne 0x66f1b7
mov dword [ebp - 0x34], 0x7d3
mov eax, dword [ebp - 0x24]
cmp word [eax + 0x11e], 0
jne 0x66f056
mov eax, dword [ebp - 0x24]
cmp dword [eax + 0x388], 0
jne 0x66eeea
mov eax, dword [ebp - 0x24]
cmp byte [eax + 0x324], 0
je 0x66ef93
call sub.kernel32.dll_GetTickCount_1
mov edx, dword [ebp - 0x24]
sub eax, dword [edx + 0x328]
mov edx, dword [select]
cmp eax, dword [edx + 0x5f60]
jbe 0x66ef93
call sub.kernel32.dll_GetTickCount_1
mov edx, dword [ebp - 0x24]
mov dword [edx + 0x328], eax
mov dword [ebp - 0x34], 0x3ee
mov eax, dword [ebp - 0x24]
call fcn.0066eb94
mov dword [ebp - 0x34], 0x3ef
mov eax, dword [ebp - 0x24]
movzx eax, word [eax + 0x122]
mov edx, dword [ebp - 0x24]
mov word [edx + 0x11e], ax
mov eax, dword [ebp - 0x24]
call fcn.0066b140
mov dword [ebp - 0x34], 0x3f0
push 1
mov edx, dword [0x6c0560]
mov edx, dword [edx]
mov cl, 1
mov eax, dword [ebp - 0x24]
call fcn.006658ec
jmp 0x66ef93
mov eax, dword [ebp - 0x24]
cmp dword [eax + 0x388], 0
je 0x66ef93
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x388]
cmp byte [eax + 0x325], 0
jne 0x66ef93
mov eax, dword [ebp - 0x24]
cmp byte [eax + 0x324], 0
je 0x66ef93
call sub.kernel32.dll_GetTickCount_1
mov edx, dword [ebp - 0x24]
sub eax, dword [edx + 0x328]
mov edx, dword [select]
cmp eax, dword [edx + 0x5f60]
jbe 0x66ef93
call sub.kernel32.dll_GetTickCount_1
mov edx, dword [ebp - 0x24]
mov dword [edx + 0x328], eax
mov dword [ebp - 0x34], 0x3ee
mov eax, dword [ebp - 0x24]
call fcn.0066eb94
mov dword [ebp - 0x34], 0x3ef
mov eax, dword [ebp - 0x24]
movzx eax, word [eax + 0x122]
mov edx, dword [ebp - 0x24]
mov word [edx + 0x11e], ax
mov eax, dword [ebp - 0x24]
call fcn.0066b140
mov dword [ebp - 0x34], 0x3f0
push 1
mov edx, dword [0x6c0560]
mov edx, dword [edx]
mov cl, 1
mov eax, dword [ebp - 0x24]
call fcn.006658ec
mov dword [ebp - 0x34], 0x7d4
mov eax, dword [ebp - 0x24]
cmp word [eax + 0x11e], 0
jne 0x66f167
mov eax, dword [ebp - 0x24]
cmp byte [eax + 0x2e4], 0
jne 0x66f167
mov eax, dword [ebp - 0x24]
cmp byte [eax + 0x22a], 0
jne 0x66f019
mov eax, dword [ebp - 0x24]
cmp dword [eax + 0x4844], 0
je 0x66f019
mov eax, dword [ebp - 0x24]
cmp dword [eax + 0x4848], 0
je 0x66f019
mov eax, dword [ebp - 0x24]
cmp byte [eax + 0x484c], 2
jne 0x66f019
mov eax, dword [ebp - 0x24]
movzx eax, word [eax + 0x122]
mov edx, dword [ebp - 0x24]
mov word [edx + 0x11e], ax
mov eax, dword [ebp - 0x24]
call fcn.0066b140
mov edx, 2
mov eax, dword [ebp - 0x24]
call fcn.00634534
jmp 0x66f167
mov eax, dword [ebp - 0x24]
cmp byte [eax + 0xb8], 0
je 0x66f049
mov eax, dword [select]
movzx eax, byte [eax + 0x64d0]
mov edx, dword [ebp - 0x24]
mov byte [edx + 0xa5f], al
xor edx, edx
mov eax, dword [ebp - 0x24]
call fcn.00664a18
jmp 0x66f167
mov eax, dword [ebp - 0x24]
mov edx, dword [eax]
call dword [edx + 0x54]
jmp 0x66f167
mov eax, dword [ebp - 0x24]
movzx ecx, word [eax + 0x122]
mov eax, dword [ebp - 0x24]
cmp cx, word [eax + 0x11e]
jbe 0x66f0cf
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x378]
mov edx, dword [select]
cmp eax, dword [edx + 0x22c]
jl 0x66f0cf
movzx eax, cx
mov ebx, 0x4b
xor edx, edx
div ebx
inc eax
mov edx, dword [ebp - 0x24]
movzx edx, word [edx + 0x11e]
add edx, eax
movzx ebx, cx
cmp edx, ebx
jge 0x66f0af
mov edx, dword [ebp - 0x24]
add word [edx + 0x11e], ax
jmp 0x66f0b9
mov eax, dword [ebp - 0x24]
mov word [eax + 0x11e], cx
mov dword [ebp - 0x34], 0x3ea
mov eax, dword [ebp - 0x24]
call fcn.0066b140
mov dword [ebp - 0x34], 0x3eb
mov dword [ebp - 0x34], 0x7d2
mov eax, dword [ebp - 0x24]
movzx eax, word [eax + 0x124]
mov edx, dword [ebp - 0x24]
cmp ax, word [edx + 0x120]
jbe 0x66f167
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x37c]
mov edx, dword [select]
cmp eax, dword [edx + 0x230]
jl 0x66f167
mov eax, dword [ebp - 0x24]
movzx eax, word [eax + 0x124]
mov ecx, 0x12
xor edx, edx
div ecx
inc eax
mov edx, dword [ebp - 0x24]
movzx edx, word [edx + 0x120]
add edx, eax
mov ecx, dword [ebp - 0x24]
movzx ecx, word [ecx + 0x124]
cmp edx, ecx
jge 0x66f13d
mov edx, dword [ebp - 0x24]
add word [edx + 0x120], ax
jmp 0x66f151
mov eax, dword [ebp - 0x24]
movzx eax, word [eax + 0x124]
mov edx, dword [ebp - 0x24]
mov word [edx + 0x120], ax
mov dword [ebp - 0x34], 0x3ec
mov eax, dword [ebp - 0x24]
call fcn.0066b140
mov dword [ebp - 0x34], 0x3ed
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x378]
mov edx, dword [select]
cmp eax, dword [edx + 0x22c]
jl 0x66f189
mov eax, dword [ebp - 0x24]
xor edx, edx
mov dword [eax + 0x378], edx
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x37c]
mov edx, dword [select]
cmp eax, dword [edx + 0x230]
jl 0x66f1ab
mov eax, dword [ebp - 0x24]
xor edx, edx
mov dword [eax + 0x37c], edx
mov dword [ebp - 0x34], 0x3f1
jmp 0x66f25f
mov dword [ebp - 0x34], 0x3f2
mov eax, dword [ebp - 0x24]
cmp byte [eax + 0x22a], 0
jne 0x66f234
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x2e0]
cmp byte [eax + 0xd5], 0
je 0x66f20e
cmp dword [eax + 0xd8], 0
jbe 0x66f20e
call sub.kernel32.dll_GetTickCount_1
mov edx, dword [ebp - 0x24]
sub eax, dword [edx + 0x2f0]
mov edx, dword [ebp - 0x24]
mov edx, dword [edx + 0x2e0]
cmp eax, dword [edx + 0xd8]
jbe 0x66f258
mov eax, dword [ebp - 0x24]
mov edx, dword [eax]
call dword [edx + 0x50]
jmp 0x66f258
call sub.kernel32.dll_GetTickCount_1
mov edx, dword [ebp - 0x24]
sub eax, dword [edx + 0x2f0]
mov edx, dword [select]
cmp eax, dword [edx + 0x1aac]
jbe 0x66f258
mov eax, dword [ebp - 0x24]
mov edx, dword [eax]
call dword [edx + 0x50]
jmp 0x66f258
call sub.kernel32.dll_GetTickCount_1
mov edx, dword [ebp - 0x24]
sub eax, dword [edx + 0x2f0]
mov edx, dword [select]
cmp eax, dword [edx + 0x1ab0]
jbe 0x66f258
mov eax, dword [ebp - 0x24]
mov edx, dword [eax]
call dword [edx + 0x50]
mov dword [ebp - 0x34], 0x3f3
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x66f2d6
xor edx, edx
push ebp
push 0x66f68a
push dword fs:[edx]
mov dword fs:[edx], esp
xor ebx, ebx
mov eax, dword [ebp - 0x24]
cmp byte [eax + 0x2ec], 0
jne 0x66f680
mov eax, dword [ebp - 0x24]
cmp byte [eax + 0x22a], 0
jne 0x66f680
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x2e0]
cmp byte [eax + 0xd4], 0
jne 0x66f680
mov eax, dword [ebp - 0x24]
cmp byte [eax + 0xbde], 2
je 0x66f680
mov eax, dword [ebp - 0x24]
cmp dword [eax + 0xc8], 0
jne 0x66f4be
mov eax, dword [ebp - 0x24]
cmp word [eax + 0x980], 0
jbe 0x66f4be
call sub.kernel32.dll_GetTickCount_1
mov edx, dword [ebp - 0x24]
sub eax, dword [edx + 0xd4]
mov edx, dword [select]
cmp eax, dword [edx + 0x58]
jbe 0x66f4be
mov eax, dword [ebp - 0x24]
movzx eax, word [eax + 0x11e]
mov dword [ebp - 0x50], eax
fild dword [ebp - 0x50]
mov eax, dword [ebp - 0x24]
movzx eax, word [eax + 0x122]
mov dword [ebp - 0x54], eax
fild dword [ebp - 0x54]
fdivp st(1)
fmul dword [0x670630]
mov eax, dword [select]
movzx eax, byte [eax + 0x53]
mov dword [ebp - 0x58], eax
fild dword [ebp - 0x58]
fcompp
wait
fnstsw ax
sahf
jbe 0x66f4be
call sub.kernel32.dll_GetTickCount_1
mov edx, dword [ebp - 0x24]
mov dword [edx + 0xd4], eax
mov eax, dword [ebp - 0x24]
movzx edx, word [eax + 0x980]
mov eax, dword [0x6c0ec4]
mov eax, dword [eax]
call fcn.005eed6c
cmp byte [eax + 0x12], 5
jne 0x66f4be
movzx eax, byte [eax + 0x14]
sub al, 1
je 0x66f3eb
sub al, 2
jne 0x66f4be
mov eax, dword [ebp - 0x24]
movzx eax, word [eax + 0x988]
mov esi, eax
add esi, esi
lea esi, [esi + esi*4]
mov dword [ebp - 0x50], esi
fild dword [ebp - 0x50]
mov eax, dword [select]
movzx eax, byte [eax + 0x60]
mov dword [ebp - 0x54], eax
fild dword [ebp - 0x54]
fdivp st(1)
call fcn.0040356c
mov edx, dword [ebp - 0x24]
movzx ebx, word [edx + 0x122]
mov edx, dword [ebp - 0x24]
movzx edx, word [edx + 0x11e]
sub ebx, edx
cmp eax, ebx
jge 0x66f434
mov ebx, eax
cmp ebx, esi
jge 0x66f45e
mov eax, dword [ebp - 0x24]
add dword [eax + 0xc8], ebx
mov dword [ebp - 0x50], ebx
fild dword [ebp - 0x50]
fdiv dword [0x670634]
call fcn.00403560
mov edx, dword [ebp - 0x24]
sub word [edx + 0x988], ax
jmp 0x66f475
xor esi, esi
mov eax, dword [ebp - 0x24]
add dword [eax + 0xc8], esi
mov eax, dword [ebp - 0x24]
mov word [eax + 0x988], 0
mov eax, dword [ebp - 0x24]
cmp word [eax + 0x988], 0x3e8
jb 0x66f487
mov bl, 1
jmp 0x66f4be
xor ebx, ebx
mov eax, dword [ebp - 0x24]
mov word [eax + 0x988], 0
mov eax, dword [ebp - 0x24]
cmp byte [eax + 0x22a], 0
jne 0x66f4b2
mov eax, dword [ebp - 0x24]
lea edx, [eax + 0x97c]
mov eax, dword [ebp - 0x24]
call fcn.00653738
mov eax, dword [ebp - 0x24]
mov word [eax + 0x980], 0
mov eax, dword [ebp - 0x24]
cmp dword [eax + 0xcc], 0
jne 0x66f64e
mov eax, dword [ebp - 0x24]
cmp word [eax + 0x980], 0
jbe 0x66f64e
call sub.kernel32.dll_GetTickCount_1
mov edx, dword [ebp - 0x24]
sub eax, dword [edx + 0xd8]
mov edx, dword [select]
cmp eax, dword [edx + 0x5c]
jbe 0x66f64e
mov eax, dword [ebp - 0x24]
movzx eax, word [eax + 0x120]
mov dword [ebp - 0x50], eax
fild dword [ebp - 0x50]
mov eax, dword [ebp - 0x24]
movzx eax, word [eax + 0x124]
mov dword [ebp - 0x54], eax
fild dword [ebp - 0x54]
fdivp st(1)
fmul dword [0x670630]
mov eax, dword [select]
movzx eax, byte [eax + 0x54]
mov dword [ebp - 0x58], eax
fild dword [ebp - 0x58]
fcompp
wait
fnstsw ax
sahf
jbe 0x66f64e
call sub.kernel32.dll_GetTickCount_1
mov edx, dword [ebp - 0x24]
mov dword [edx + 0xd8], eax
mov eax, dword [ebp - 0x24]
movzx edx, word [eax + 0x980]
mov eax, dword [0x6c0ec4]
mov eax, dword [eax]
call fcn.005eed6c
cmp byte [eax + 0x12], 5
jne 0x66f64e
movzx eax, byte [eax + 0x14]
add al, 0xfe
sub al, 2
jae 0x66f64e
mov eax, dword [ebp - 0x24]
movzx eax, word [eax + 0x988]
mov esi, eax
add esi, esi
lea esi, [esi + esi*4]
mov dword [ebp - 0x50], esi
fild dword [ebp - 0x50]
mov eax, dword [select]
movzx eax, byte [eax + 0x61]
mov dword [ebp - 0x54], eax
fild dword [ebp - 0x54]
fdivp st(1)
call fcn.0040356c
mov edx, dword [ebp - 0x24]
movzx ebx, word [edx + 0x124]
mov edx, dword [ebp - 0x24]
movzx edx, word [edx + 0x120]
sub ebx, edx
cmp eax, ebx
jge 0x66f5c4
mov ebx, eax
cmp ebx, esi
jge 0x66f5ee
mov eax, dword [ebp - 0x24]
add dword [eax + 0xcc], ebx
mov dword [ebp - 0x50], ebx
fild dword [ebp - 0x50]
fdiv dword [0x670634]
call fcn.00403560
mov edx, dword [ebp - 0x24]
sub word [edx + 0x988], ax
jmp 0x66f605
xor esi, esi
mov eax, dword [ebp - 0x24]
add dword [eax + 0xcc], esi
mov eax, dword [ebp - 0x24]
mov word [eax + 0x988], 0
mov eax, dword [ebp - 0x24]
cmp word [eax + 0x988], 0x3e8
jb 0x66f617
mov bl, 1
jmp 0x66f64e
xor ebx, ebx
mov eax, dword [ebp - 0x24]
mov word [eax + 0x988], 0
mov eax, dword [ebp - 0x24]
cmp byte [eax + 0x22a], 0
jne 0x66f642
mov eax, dword [ebp - 0x24]
lea edx, [eax + 0x97c]
mov eax, dword [ebp - 0x24]
call fcn.00653738
mov eax, dword [ebp - 0x24]
mov word [eax + 0x980], 0
test bl, bl
je 0x66f680
mov eax, dword [ebp - 0x24]
cmp byte [eax + 0x22a], 0
jne 0x66f680
mov eax, dword [ebp - 0x24]
movzx eax, word [eax + 0x98a]
push eax
mov eax, dword [ebp - 0x24]
movzx ecx, word [eax + 0x988]
mov edx, 0xc
mov eax, dword [ebp - 0x24]
call fcn.00661bf0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x66f6a9
xor edx, edx
push ebp
push 0x66fa12
push dword fs:[edx]
mov dword fs:[edx], esp
mov eax, dword [ebp - 0x24]
cmp byte [eax + 0x2ec], 0
jne 0x66f958
mov eax, dword [ebp - 0x24]
cmp dword [eax + 0xcc], 0
jg 0x66f6ef
mov eax, dword [ebp - 0x24]
cmp dword [eax + 0xc8], 0
jg 0x66f6ef
mov eax, dword [ebp - 0x24]
cmp dword [eax + 0xd0], 0
jle 0x66f958
mov eax, dword [ebp - 0x24]
movzx eax, word [eax + 0x34]
mov edx, eax
add edx, edx
lea edx, [edx + edx*4]
mov eax, 0x190
call fcn.0048b208
mov ebx, 0x258
sub ebx, eax
call sub.kernel32.dll_GetTickCount_1
mov edx, dword [ebp - 0x24]
sub eax, dword [edx + 0x254]
cmp ebx, eax
ja 0x66f966
mov eax, dword [ebp - 0x24]
cmp byte [eax + 0x2ec], 0
jne 0x66f966
call sub.kernel32.dll_GetTickCount_1
mov edx, eax
mov eax, dword [ebp - 0x24]
sub edx, dword [eax + 0x254]
sub edx, ebx
mov eax, 0xc8
call fcn.0048b208
mov ebx, eax
call sub.kernel32.dll_GetTickCount_1
add ebx, eax
mov eax, dword [ebp - 0x24]
mov dword [eax + 0x254], ebx
mov eax, dword [ebp - 0x24]
cmp dword [eax + 0xcc], 0
jg 0x66f78a
mov eax, dword [ebp - 0x24]
cmp dword [eax + 0xc8], 0
jg 0x66f78a
mov eax, dword [ebp - 0x24]
cmp dword [eax + 0x24c], 0
jle 0x66f966
mov eax, dword [ebp - 0x24]
cmp dword [eax + 0x248], 0
jg 0x66f7a3
mov eax, dword [ebp - 0x24]
mov dword [eax + 0x248], 1
mov eax, dword [ebp - 0x24]
cmp dword [eax + 0x250], 0
jg 0x66f7bc
mov eax, dword [ebp - 0x24]
mov dword [eax + 0x250], 1
mov eax, dword [ebp - 0x24]
cmp dword [eax + 0x24c], 0
jg 0x66f7d5
mov eax, dword [ebp - 0x24]
mov dword [eax + 0x24c], 1
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x248]
mov edx, dword [ebp - 0x24]
cmp eax, dword [edx + 0xc8]
jle 0x66f802
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0xc8]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x24]
xor edx, edx
mov dword [eax + 0xc8], edx
jmp 0x66f820
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x248]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x248]
mov edx, dword [ebp - 0x24]
sub dword [edx + 0xc8], eax
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x250]
mov edx, dword [ebp - 0x24]
cmp eax, dword [edx + 0xcc]
jle 0x66f84d
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0xcc]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x24]
xor edx, edx
mov dword [eax + 0xcc], edx
jmp 0x66f86b
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x250]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x250]
mov edx, dword [ebp - 0x24]
sub dword [edx + 0xcc], eax
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x24c]
mov edx, dword [ebp - 0x24]
cmp eax, dword [edx + 0xd0]
jle 0x66f898
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0xd0]
add dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x24]
xor edx, edx
mov dword [eax + 0xd0], edx
jmp 0x66f8b6
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x24c]
add dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x24c]
mov edx, dword [ebp - 0x24]
sub dword [edx + 0xd0], eax
mov eax, dword [ebp - 0x24]
movzx eax, word [eax + 0x34]
mov ecx, 0xa
xor edx, edx
div ecx
add eax, 5
mov edx, dword [ebp - 0x24]
mov dword [edx + 0x248], eax
mov eax, dword [ebp - 0x24]
movzx eax, word [eax + 0x34]
mov ecx, 0xa
xor edx, edx
div ecx
add eax, 5
mov edx, dword [ebp - 0x24]
mov dword [edx + 0x250], eax
mov eax, dword [ebp - 0x24]
mov dword [eax + 0x24c], 5
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x24]
call fcn.0066eb30
mov eax, dword [ebp - 0x24]
movzx eax, word [eax + 0x11e]
mov edx, dword [ebp - 0x24]
cmp ax, word [edx + 0x122]
jne 0x66f935
mov eax, dword [ebp - 0x24]
xor edx, edx
mov dword [eax + 0xc8], edx
mov eax, dword [ebp - 0x24]
xor edx, edx
mov dword [eax + 0xd0], edx
mov eax, dword [ebp - 0x24]
movzx eax, word [eax + 0x120]
mov edx, dword [ebp - 0x24]
cmp ax, word [edx + 0x124]
jne 0x66f966
mov eax, dword [ebp - 0x24]
xor edx, edx
mov dword [eax + 0xcc], edx
jmp 0x66f966
call sub.kernel32.dll_GetTickCount_1
mov edx, dword [ebp - 0x24]
mov dword [edx + 0x254], eax
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x378]
mov edx, dword [select]
mov edx, dword [edx + 0x22c]
neg edx
cmp eax, edx
jge 0x66f9b4
mov eax, dword [ebp - 0x24]
cmp word [eax + 0x11e], 1
jbe 0x66f9b4
mov eax, dword [ebp - 0x24]
dec word [eax + 0x11e]
mov eax, dword [select]
mov eax, dword [eax + 0x22c]
mov edx, dword [ebp - 0x24]
add dword [edx + 0x378], eax
mov eax, dword [ebp - 0x24]
call fcn.0066b140
xor ebx, ebx
mov eax, dword [ebp - 0x24]
movzx eax, word [eax + 0x122]
mov edx, dword [ebp - 0x24]
cmp ax, word [edx + 0x11e]
jae 0x66f9d9
mov bl, 1
dec eax
mov edx, dword [ebp - 0x24]
mov word [edx + 0x11e], ax
mov eax, dword [ebp - 0x24]
movzx eax, word [eax + 0x124]
mov edx, dword [ebp - 0x24]
cmp ax, word [edx + 0x120]
jae 0x66f9fc
mov bl, 1
dec eax
mov edx, dword [ebp - 0x24]
mov word [edx + 0x120], ax
test bl, bl
je 0x66fa08
mov eax, dword [ebp - 0x24]
call fcn.0066b140
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x66fa31
xor eax, eax
push ebp
push 0x66fdc4
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0x24]
cmp dword [eax + 0x380], 0
je 0x66fae5
call sub.kernel32.dll_GetTickCount_1
mov edx, dword [ebp - 0x24]
sub eax, dword [edx + 0x384]
cmp eax, 0x7530
ja 0x66fada
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x380]
cmp byte [eax + 0x2ec], 0
jne 0x66fada
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x380]
cmp byte [eax + 0x2e4], 0
jne 0x66fada
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x380]
mov eax, dword [eax + 0x2e0]
mov edx, dword [ebp - 0x24]
cmp eax, dword [edx + 0x2e0]
jne 0x66fada
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x380]
mov eax, dword [eax + 0x24]
mov edx, dword [ebp - 0x24]
sub eax, dword [edx + 0x24]
cdq
xor eax, edx
sub eax, edx
cmp eax, 0xf
jg 0x66fada
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x380]
mov eax, dword [eax + 0x28]
mov edx, dword [ebp - 0x24]
sub eax, dword [edx + 0x28]
cdq
xor eax, edx
sub eax, edx
cmp eax, 0xf
jle 0x66fae5
mov eax, dword [ebp - 0x24]
xor edx, edx
mov dword [eax + 0x380], edx
mov eax, dword [ebp - 0x24]
cmp dword [eax + 0x388], 0
je 0x66fb4f
call sub.kernel32.dll_GetTickCount_1
mov edx, dword [ebp - 0x24]
sub eax, dword [edx + 0x38c]
cmp eax, 0x7530
ja 0x66fb44
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x388]
cmp byte [eax + 0x2ec], 0
jne 0x66fb44
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x388]
cmp byte [eax + 0x2e4], 0
jne 0x66fb44
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x388]
mov eax, dword [eax + 0x2e0]
mov edx, dword [ebp - 0x24]
cmp eax, dword [edx + 0x2e0]
je 0x66fb4f
mov eax, dword [ebp - 0x24]
xor edx, edx
mov dword [eax + 0x388], edx
mov eax, dword [ebp - 0x24]
cmp dword [eax + 0x390], 0
je 0x66fbb9
call sub.kernel32.dll_GetTickCount_1
mov edx, dword [ebp - 0x24]
sub eax, dword [edx + 0x394]
cmp eax, 0x1770
ja 0x66fbae
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x390]
cmp byte [eax + 0x2ec], 0
jne 0x66fbae
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x390]
cmp byte [eax + 0x2e4], 0
jne 0x66fbae
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x390]
mov eax, dword [eax + 0x2e0]
mov edx, dword [ebp - 0x24]
cmp eax, dword [edx + 0x2e0]
je 0x66fbb9
mov eax, dword [ebp - 0x24]
xor edx, edx
mov dword [eax + 0x390], edx
mov eax, dword [ebp - 0x24]
cmp dword [eax + 0x278], 0
je 0x66fc7f
mov eax, dword [ebp - 0x24]
mov byte [eax + 0x2a4], 1
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x278]
cmp byte [eax + 0x2ec], 0
je 0x66fbfd
mov eax, dword [ebp - 0x24]
cmp byte [eax + 0x22a], 0x1f
je 0x66fbfd
mov eax, dword [ebp - 0x24]
mov word [eax + 0x11e], 0
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x278]
cmp byte [eax + 0x2e4], 0
je 0x66fc7f
mov eax, dword [ebp - 0x24]
cmp byte [eax + 0x22a], 0x1f
jne 0x66fc77
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x278]
cmp byte [eax + 0x22a], 0
jne 0x66fc77
mov ebx, dword [ebp - 0x24]
lea eax, [ebx + 0xc00]
mov edx, dword [ebx + 0x278]
add edx, 0x15
call fcn.004055f8
call sub.kernel32.dll_GetTickCount_1
add eax, 0x493e0
mov dword [ebx + 0xc04], eax
mov eax, dword [ebx + 0x278]
mov eax, dword [eax + 0x35a0]
mov dword [ebx + 0xc08], eax
xor eax, eax
mov dword [ebx + 0x278], eax
mov eax, ebx
call fcn.0066b314
jmp 0x66fc7f
mov eax, dword [ebp - 0x24]
mov edx, dword [eax]
call dword [edx + 0x50]
mov dword [ebp - 0x34], 0xbc2
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x28c]
mov esi, dword [eax + 8]
dec esi
cmp esi, 0
jl 0x66fd17
mov eax, dword [ebp - 0x24]
mov ebx, dword [eax + 0x28c]
cmp dword [ebx + 8], 0
jle 0x66fd17
mov eax, ebx
mov edx, esi
call fcn.0041fbf0
test eax, eax
je 0x66fd11
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x28c]
mov edx, esi
call fcn.0041fbf0
cmp byte [eax + 0x2ec], 0
jne 0x66fd01
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x28c]
mov edx, esi
call fcn.0041fbf0
cmp byte [eax + 0x2e4], 0
jne 0x66fd01
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x28c]
mov edx, esi
call fcn.0041fbf0
mov eax, dword [eax + 0x278]
cmp eax, dword [ebp - 0x24]
je 0x66fd11
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x28c]
mov edx, esi
call fcn.0041fa94
dec esi
cmp esi, 0xffffffff
jne 0x66fc98
mov dword [ebp - 0x34], 0xbc3
mov eax, dword [ebp - 0x24]
cmp byte [eax + 0x2b4], 0
je 0x66fd4b
call sub.kernel32.dll_GetTickCount_1
mov edx, dword [ebp - 0x24]
sub eax, dword [edx + 0x2b8]
mov edx, dword [ebp - 0x24]
cmp eax, dword [edx + 0x2bc]
jbe 0x66fd4b
mov eax, dword [ebp - 0x24]
call fcn.00667e24
mov dword [ebp - 0x34], 0xbc4
mov eax, dword [ebp - 0x24]
cmp byte [eax + 0x2c0], 0
je 0x66fd7f
call sub.kernel32.dll_GetTickCount_1
mov edx, dword [ebp - 0x24]
sub eax, dword [edx + 0x2c4]
mov edx, dword [ebp - 0x24]
cmp eax, dword [edx + 0x2c8]
jbe 0x66fd7f
mov eax, dword [ebp - 0x24]
call fcn.00667e74
mov dword [ebp - 0x34], 0xbc5
mov eax, dword [ebp - 0x24]
cmp byte [eax + 0x2cc], 0
je 0x66fdb3
call sub.kernel32.dll_GetTickCount_1
mov edx, dword [ebp - 0x24]
sub eax, dword [edx + 0x2d0]
mov edx, dword [ebp - 0x24]
cmp eax, dword [edx + 0x2d4]
jbe 0x66fdb3
mov eax, dword [ebp - 0x24]
call fcn.0066eab0
mov dword [ebp - 0x34], 0xbc6
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x66fdfb
xor edx, edx
push ebp
push 0x670194
push dword fs:[edx]
mov dword fs:[edx], esp
mov dword [ebp - 0x34], 4
call sub.kernel32.dll_GetTickCount_1
mov edx, dword [ebp - 0x24]
sub eax, dword [edx + 0x3c4]
mov edx, dword [select]
cmp eax, dword [edx + 0x1964]
jbe 0x66fe5b
call sub.kernel32.dll_GetTickCount_1
mov edx, dword [ebp - 0x24]
mov dword [edx + 0x3c4], eax
mov eax, dword [ebp - 0x24]
cmp word [eax + 0xc4], 0
jbe 0x66fe5b
mov edx, dword [select]
mov edx, dword [edx + 0x1968]
mov eax, dword [ebp - 0x24]
call fcn.00661244
mov dword [ebp - 0x34], 0x29
call sub.kernel32.dll_GetTickCount_1
mov edx, dword [ebp - 0x24]
sub eax, dword [edx + 0x3c8]
mov ebx, dword [select]
mov ebx, dword [ebx + 0x1978]
cmp eax, ebx
jbe 0x66fea2
mov eax, dword [select]
mov eax, dword [ebp - 0x24]
add dword [eax + 0x3c8], ebx
mov eax, dword [ebp - 0x24]
cmp byte [eax + 0x22a], 0
jne 0x66fea2
mov eax, dword [ebp - 0x24]
call fcn.006611b8
mov dword [ebp - 0x34], 0x2a
call sub.kernel32.dll_GetTickCount_1
mov edx, dword [ebp - 0x24]
sub eax, dword [edx + 0x3d0]
cmp eax, 0x2710
jbe 0x670142
call sub.kernel32.dll_GetTickCount_1
mov edx, dword [ebp - 0x24]
mov dword [edx + 0x3d0], eax
mov dword [ebp - 0x34], 0x1ae
mov eax, dword [ebp - 0x24]
cmp byte [eax + 0x22a], 0
jne 0x67001f
mov eax, dword [ebp - 0x24]
cmp dword [eax + 0x268], 0
je 0x66ff3c
mov dword [ebp - 0x34], 0x1af
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x268]
cmp byte [eax + 0x2e4], 0
je 0x66ff35
mov eax, dword [ebp - 0x24]
mov edx, dword [eax + 0x268]
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x268]
call fcn.00661294
mov eax, dword [ebp - 0x24]
xor edx, edx
mov dword [eax + 0x268], edx
mov dword [ebp - 0x34], 0x1b0
mov dword [ebp - 0x34], 0x1b1
mov dword [ebp - 0x34], 0x2c
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x268]
cmp eax, dword [ebp - 0x24]
jne 0x66ffe5
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x26c]
mov edx, dword [eax]
call dword [edx + 0x14]
mov esi, eax
dec esi
cmp esi, 0
jl 0x66ffc0
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x26c]
mov edx, dword [eax]
call dword [edx + 0x14]
test eax, eax
jle 0x66ffc0
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x26c]
mov edx, esi
mov ecx, dword [eax]
call dword [ecx + 0x18]
test eax, eax
je 0x66ffba
cmp byte [eax + 0x2e4], 0
jne 0x66ffa5
mov edx, dword [eax + 0x268]
cmp edx, dword [ebp - 0x24]
je 0x66ffba
call fcn.00667e8c
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x26c]
mov edx, esi
mov ecx, dword [eax]
call dword [ecx + 0x48]
dec esi
cmp esi, 0xffffffff
jne 0x66ff6b
mov eax, dword [ebp - 0x24]
call fcn.00652794
test al, al
jne 0x66ffe5
push 1
push 0
push 0
push 0
push 0
mov cx, 0x140a
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
call fcn.0066293c
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
call fcn.00647764
mov dword [ebp - 0x34], 0x2d
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x3678]
test eax, eax
je 0x670018
cmp byte [eax + 0x2e4], 0
je 0x670018
mov eax, dword [ebp - 0x24]
xor edx, edx
mov dword [eax + 0x3678], edx
mov dword [ebp - 0x34], 0x2e
mov eax, dword [ebp - 0x24]
cmp dword [eax + 0x278], 0
je 0x670142
call sub.kernel32.dll_GetTickCount_1
mov edx, dword [0x6c05bc]
cmp eax, dword [edx]
jae 0x670055
mov eax, dword [ebp - 0x24]
cmp byte [eax + 0x288], 5
jae 0x670055
mov eax, dword [ebp - 0x24]
xor edx, edx
mov dword [eax + 0x27c], edx
mov dword [ebp - 0x34], 0x1a7
call sub.kernel32.dll_GetTickCount_1
mov edx, dword [ebp - 0x24]
cmp eax, dword [edx + 0x27c]
jbe 0x67010e
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x278]
mov eax, dword [eax + 0x28c]
mov esi, dword [eax + 8]
dec esi
cmp esi, 0
jl 0x6700d7
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x278]
mov ebx, dword [eax + 0x28c]
cmp dword [ebx + 8], 0
jle 0x6700d7
mov dword [ebp - 0x34], 0x1a8
mov eax, ebx
mov edx, esi
call fcn.0041fbf0
cmp eax, dword [ebp - 0x24]
jne 0x6700d1
mov dword [ebp - 0x34], 0x1a9
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x278]
mov eax, dword [eax + 0x28c]
mov edx, esi
call fcn.0041fa94
jmp 0x6700d7
dec esi
cmp esi, 0xffffffff
jne 0x670088
mov eax, dword [ebp - 0x24]
xor edx, edx
mov dword [eax + 0x278], edx
mov eax, dword [ebp - 0x24]
movzx eax, word [eax + 0x11e]
mov ecx, 0xa
xor edx, edx
div ecx
mov edx, dword [ebp - 0x24]
mov word [edx + 0x11e], ax
mov dword [ebp - 0x34], 0x1aa
mov eax, dword [ebp - 0x24]
mov edx, dword [eax]
call dword [edx + 0x2c]
mov dword [ebp - 0x34], 0x1ab
mov eax, dword [ebp - 0x24]
cmp dword [eax + 0x280], 0
je 0x670142
call sub.kernel32.dll_GetTickCount_1
mov edx, dword [ebp - 0x24]
sub eax, dword [edx + 0x280]
cmp eax, 0xa4cb80
jbe 0x670142
mov eax, dword [ebp - 0x24]
mov word [eax + 0x11e], 0
mov dword [ebp - 0x34], 0x2b
call sub.kernel32.dll_GetTickCount_1
mov edx, dword [ebp - 0x24]
sub eax, dword [edx + 0x3cc]
cmp eax, 0x7530
jbe 0x67018a
call sub.kernel32.dll_GetTickCount_1
mov edx, dword [ebp - 0x24]
mov dword [edx + 0x3cc], eax
mov eax, dword [ebp - 0x24]
push eax
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0x28]
mov eax, dword [ebp - 0x24]
mov edx, dword [eax + 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x2e0]
call fcn.00674568
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x6701e4
xor edx, edx
push ebp
push 0x6704d1
push dword fs:[edx]
mov dword fs:[edx], esp
mov byte [ebp - 0x25], 0
xor ebx, ebx
xor esi, esi
mov eax, dword [ebp - 0x24]
movzx eax, word [eax + esi*2 + 0x1b4]
test ax, ax
jbe case.0x67026c.2
cmp ax, 0xea60
jae case.0x67026c.2
call sub.kernel32.dll_GetTickCount_1
mov edx, dword [ebp - 0x24]
sub eax, dword [edx + esi*4 + 0x1cc]
cmp eax, 0x3e8
jbe case.0x67026c.2
mov eax, dword [ebp - 0x24]
dec word [eax + esi*2 + 0x1b4]
mov eax, dword [ebp - 0x24]
add dword [eax + esi*4 + 0x1cc], 0x3e8
mov eax, dword [ebp - 0x24]
cmp word [eax + esi*2 + 0x1b4], 0
jne case.0x67026c.2
mov byte [ebp - 0x25], 1
mov eax, esi
cmp eax, 0xb
ja case.0x67026c.2
jmp dword [eax*4 + 0x670273]
mov eax, dword [ebp - 0x24]
mov byte [eax + 0x319], 0
xor ecx, ecx
mov edx, 5
mov eax, dword [ebp - 0x24]
mov edi, dword [eax]
call dword [edi + 0xc]
jmp case.0x67026c.2
mov bl, 1
push 1
mov cl, 1
mov edx, 0x670640
mov eax, dword [ebp - 0x24]
call fcn.006658ec
xor ecx, ecx
mov edx, 3
mov eax, dword [ebp - 0x24]
mov edi, dword [eax]
call dword [edi + 0xc]
jmp case.0x67026c.2
mov bl, 1
push 1
mov cl, 1
mov edx, 0x670658
mov eax, dword [ebp - 0x24]
call fcn.006658ec
xor ecx, ecx
mov edx, 9
mov eax, dword [ebp - 0x24]
mov edi, dword [eax]
call dword [edi + 0xc]
jmp case.0x67026c.2
mov eax, dword [ebp - 0x24]
mov byte [eax + 0x361], 0
jmp case.0x67026c.2
mov eax, dword [ebp - 0x24]
mov byte [eax + 0x363], 0
jmp case.0x67026c.2
xor ecx, ecx
mov edx, 0xc
mov eax, dword [ebp - 0x24]
mov edi, dword [eax]
call dword [edi + 0xc]
jmp case.0x67026c.2
xor ecx, ecx
mov edx, 0xb
mov eax, dword [ebp - 0x24]
mov edi, dword [eax]
call dword [edi + 0xc]
jmp case.0x67026c.2
xor ecx, ecx
mov edx, 6
mov eax, dword [ebp - 0x24]
mov edi, dword [eax]
call dword [edi + 0xc]
jmp case.0x67026c.2
xor ecx, ecx
mov edx, 0xd
mov eax, dword [ebp - 0x24]
mov edi, dword [eax]
call dword [edi + 0xc]
inc esi
cmp esi, 0xc
jne 0x6701fa
xor esi, esi
mov eax, dword [ebp - 0x24]
cmp word [eax + esi*2 + 0x204], 0
jbe case.default.0x6703b0
call sub.kernel32.dll_GetTickCount_1
mov edx, dword [ebp - 0x24]
cmp eax, dword [edx + esi*4 + 0x210]
jbe case.default.0x6703b0
mov eax, dword [ebp - 0x24]
mov word [eax + esi*2 + 0x204], 0
mov bl, 1
mov eax, esi
cmp eax, 5
ja case.default.0x6703b0
jmp dword [eax*4 + 0x6703b7]
push 1
mov cl, 1
mov edx, 0x670670
mov eax, dword [ebp - 0x24]
call fcn.006658ec
xor ecx, ecx
mov edx, 4
mov eax, dword [ebp - 0x24]
mov edi, dword [eax]
call dword [edi + 0xc]
jmp case.default.0x6703b0
push 1
mov cl, 1
mov edx, 0x670688
mov eax, dword [ebp - 0x24]
call fcn.006658ec
xor ecx, ecx
mov edx, 7
mov eax, dword [ebp - 0x24]
mov edi, dword [eax]
call dword [edi + 0xc]
jmp case.default.0x6703b0
push 1
mov cl, 1
mov edx, 0x6706a0
mov eax, dword [ebp - 0x24]
call fcn.006658ec
xor ecx, ecx
mov edx, 2
mov eax, dword [ebp - 0x24]
mov edi, dword [eax]
call dword [edi + 0xc]
jmp case.default.0x6703b0
push 1
mov cl, 1
mov edx, 0x6706b8
mov eax, dword [ebp - 0x24]
call fcn.006658ec
jmp case.default.0x6703b0
push 1
mov cl, 1
mov edx, 0x6706d4
mov eax, dword [ebp - 0x24]
call fcn.006658ec
xor ecx, ecx
mov edx, 0xa
mov eax, dword [ebp - 0x24]
mov edi, dword [eax]
call dword [edi + 0xc]
jmp case.default.0x6703b0
push 1
mov cl, 1
mov edx, 0x6706ec
mov eax, dword [ebp - 0x24]
call fcn.006658ec
xor ecx, ecx
mov edx, 8
mov eax, dword [ebp - 0x24]
mov edi, dword [eax]
call dword [edi + 0xc]
inc esi
cmp esi, 6
jne 0x67036f
cmp byte [ebp - 0x25], 0
je 0x6704b3
mov eax, dword [ebp - 0x24]
call fcn.00664740
mov edx, dword [ebp - 0x24]
mov dword [edx + 0x7c], eax
mov eax, dword [ebp - 0x24]
call fcn.00664928
test bl, bl
je 0x6704c7
mov eax, dword [ebp - 0x24]
mov edx, dword [eax]
call dword [edx + 0x5c]
mov eax, dword [ebp - 0x24]
call fcn.00667a90
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x6704f0
xor eax, eax
push ebp
push 0x670589
push dword fs:[eax]
mov dword fs:[eax], esp
call sub.kernel32.dll_GetTickCount_1
mov edx, dword [ebp - 0x24]
sub eax, dword [edx + 0x3c0]
mov edx, dword [select]
cmp eax, dword [edx + 0x6438]
jbe 0x67057f
call sub.kernel32.dll_GetTickCount_1
mov edx, dword [ebp - 0x24]
mov dword [edx + 0x3c0], eax
mov eax, dword [ebp - 0x24]
cmp word [eax + 0x1b4], 0
jbe 0x67057f
mov eax, dword [ebp - 0x24]
cmp byte [eax + 0x2a3], 0
je 0x67054e
mov eax, dword [ebp - 0x24]
sub dword [eax + 0x2ac], 0x3e8
mov eax, dword [ebp - 0x24]
movzx edx, byte [eax + 0x258]
inc edx
mov eax, dword [ebp - 0x24]
call fcn.0066b9bc
mov eax, dword [ebp - 0x24]
xor edx, edx
mov dword [eax + 0x378], edx
mov eax, dword [ebp - 0x24]
xor edx, edx
mov dword [eax + 0x37c], edx
mov eax, dword [ebp - 0x24]
call fcn.0066b140
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x6705a8
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0xbd4]
test eax, eax
je 0x6705bd
mov edx, dword [ebp - 0x24]
mov edx, dword [edx + 0x24]
mov dword [eax], edx
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0xbd8]
test eax, eax
je 0x6705d2
mov edx, dword [ebp - 0x24]
mov edx, dword [edx + 0x28]
mov dword [eax], edx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x67061c
lea eax, [ebp - 0x80]
mov edx, 2
call fcn.004053b8
lea eax, [ebp - 0x70]
mov edx, 6
call fcn.004053b8
lea eax, [ebp - 0x4c]
mov edx, 5
call fcn.004053b8
lea eax, [ebp - 0x20]
mov edx, dword [0x48b4e4]
call fcn.0040610c
ret