Function at 0x6cb8a0
Capabilities:
Execute anti-debugging instructions

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x424
push ebx
xor ebx, ebx
push esi
push edi
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x24], ebx
rdtsc
mov esi, dword [ebp + 8]
cmp esi, ebx
mov byte [esp + 0x13], 1
jle 0x6cb8d1
mov ecx, esi
xor eax, eax
lea edi, [esp + 0x48]
rep stosd dword es:[edi], eax
mov eax, dword [ebp + 0x14]
lea ecx, [esi - 1]
test ecx, ecx
jl 0x6cb95f
lea edx, [esp + 0x110]
sub edx, eax
lea esi, [eax + ecx*4]
mov dword [esp + 0x20], edx
nop
mov eax, dword [ebp + 0xc]
mov edx, dword [eax]
mov ebx, dword [edx + ecx*4]
mov edx, dword [ebp + 8]
mov eax, 1
xor edi, edi
cmp edx, eax
mov dword [esp + 0x24], ebx
jle 0x6cb92d
lea ebx, [ebx]
mov edx, dword [ebp + 0xc]
mov edx, dword [edx + eax*4]
mov edx, dword [edx + ecx*4]
cmp edx, ebx
jge 0x6cb921
mov ebx, edx
mov edi, eax
mov edx, dword [ebp + 8]
inc eax
cmp eax, edx
jl 0x6cb910
mov dword [esp + 0x24], ebx
mov edx, dword [esp + edi*4 + 0x48]
mov eax, dword [esp + 0x20]
inc edx
mov dword [eax + esi], ebx
mov eax, edx
cmp eax, 1
mov dword [esp + edi*4 + 0x48], edx
jne 0x6cb94e
mov edx, dword [ebp + 0x10]
mov dword [edx + edi*4], ecx
mov dword [esi], edi
jmp 0x6cb954
mov dword [esi], 0xffffffff
dec ecx
sub esi, 4
test ecx, ecx
jge 0x6cb8f0
mov esi, dword [ebp + 8]
xor edx, edx
test esi, esi
jle 0x6cb9dd
mov eax, dword [ebp + 0x10]
lea ecx, [esp + 0x48]
sub eax, ecx
mov dword [esp + 0x20], eax
mov ecx, dword [esp + edx*4 + 0x48]
test ecx, ecx
lea eax, [esp + edx*4 + 0x48]
jne 0x6cb990
mov eax, dword [esp + 0x1c]
mov dword [esp + eax*4 + 0x2a0], edx
inc eax
mov dword [esp + 0x1c], eax
jmp 0x6cb9d4
cmp ecx, 1
jne 0x6cb9d4
mov ecx, dword [esp + 0x20]
mov edi, dword [eax + ecx]
mov ebx, DirectSoundCreate
xor ecx, ecx
cmp ecx, edi
je 0x6cb9bd
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + edx*4]
mov eax, dword [eax + ecx*4]
sub eax, dword [esp + ecx*4 + 0x110]
cmp eax, ebx
jge 0x6cb9bd
mov ebx, eax
inc ecx
cmp ecx, esi
jl 0x6cb9a3
mov ecx, dword [esp + edi*4 + 0x110]
lea eax, [esp + edi*4 + 0x110]
sub ecx, ebx
mov dword [eax], ecx
inc edx
cmp edx, esi
jl 0x6cb972
mov dword [esp + 0x24], ebx
rdtsc
rdtsc
xor ecx, ecx
mov dword [esp + 0x34], eax
xor eax, eax
mov dword [esp + 0x28], ecx
lea ecx, [ecx]
mov edx, dword [esp + 0x1c]
inc eax
mov dword [esp + 0x30], eax
xor eax, eax
cmp edx, eax
mov dword [esp + 0x20], edx
mov dword [esp + 0x1c], eax
jle 0x6cbb2a
jmp 0x6cba10
cmp ecx, dword [ebp + 0x18]
jge 0x6cbb2a
mov ebx, dword [esp + eax*4 + 0x2a0]
mov edx, dword [esp + 0x110]
inc eax
inc ecx
mov dword [esp + 0x2c], ecx
mov ecx, dword [ebp + 0xc]
mov ecx, dword [ecx + ebx*4]
mov dword [esp + 0x18], eax
mov eax, dword [ecx]
sub eax, edx
mov edx, 1
xor edi, edi
cmp dword [ebp + 8], edx
mov dword [esp + 0x38], ebx
mov esi, DirectSoundCreate
jle 0x6cba94
add ecx, 4
mov dword [esp + 0x14], ecx
jmp 0x6cba60
mov ecx, dword [esp + 0x14]
mov ecx, dword [ecx]
sub ecx, dword [esp + edx*4 + 0x110]
cmp ecx, esi
jge 0x6cba87
cmp ecx, eax
jl 0x6cba7d
mov esi, ecx
mov dword [esp + 0x28], edx
jmp 0x6cba87
mov esi, eax
mov dword [esp + 0x28], edi
mov eax, ecx
mov edi, edx
add dword [esp + 0x14], 4
mov ecx, dword [ebp + 8]
inc edx
cmp edx, ecx
jl 0x6cba60
cmp eax, esi
mov edx, dword [ebp + 0x14]
lea ecx, [edi*4]
mov edx, dword [ecx + edx]
mov dword [esp + 0x14], edx
jge 0x6cbac3
mov ebx, dword [esp + ecx + 0x110]
mov edx, eax
sub edx, esi
add ebx, edx
mov dword [esp + ecx + 0x110], ebx
mov ebx, dword [esp + 0x38]
jmp 0x6cbadc
test edx, edx
jl 0x6cbadc
mov edi, dword [esp + 0x28]
mov edx, dword [ebp + 0x14]
lea ecx, [edi*4]
mov edx, dword [ecx + edx]
mov dword [esp + 0x14], edx
mov edx, dword [ebp + 0x10]
mov dword [edx + ebx*4], edi
mov edx, dword [ebp + 0x14]
mov dword [ecx + edx], ebx
mov ecx, dword [esp + 0x14]
test ecx, ecx
jl 0x6cbb12
cmp eax, esi
jge 0x6cbb02
mov eax, dword [esp + 0x18]
dec eax
mov dword [esp + eax*4 + 0x2a0], ecx
jmp 0x6cbb16
mov eax, dword [esp + 0x1c]
mov dword [esp + eax*4 + 0x2a0], ecx
inc eax
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x20]
mov ebx, dword [esp + 0x24]
cmp eax, ecx
mov ecx, dword [esp + 0x2c]
jl 0x6cba10
mov eax, dword [esp + 0x30]
cmp eax, 2
jge 0x6cbb3e
cmp ecx, dword [ebp + 0x18]
jl 0x6cb9f0
jmp 0x6cbb43
cmp ecx, dword [ebp + 0x18]
jl 0x6cbb48
mov byte [esp + 0x13], 0
rdtsc
sub eax, dword [esp + 0x34]
mov dword [esp + 0x34], eax
rdtsc
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x3c], eax
xor eax, eax
cmp ecx, eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x14], eax
jle 0x6cbd6e
mov edi, edi
mov eax, dword [esp + 0x14]
mov esi, dword [ebp + 8]
mov eax, dword [esp + eax*4 + 0x2a0]
xor edx, edx
test esi, esi
mov dword [esp + 0x20], eax
jle 0x6cbbbe
mov ecx, esi
lea edi, [esp + 0x368]
rep stosd dword es:[edi], eax
mov ecx, dword [ebp + 0xc]
mov ecx, dword [ecx + eax*4]
lea eax, [esp + 0x110]
sub ecx, eax
lea eax, [esp + edx*4 + 0x110]
mov edi, dword [eax + ecx]
sub edi, dword [eax]
mov dword [esp + edx*4 + 0x48], edx
mov dword [esp + edx*4 + 0x1d8], edi
inc edx
cmp edx, esi
jl 0x6cbba2
xor ecx, ecx
mov dword [esp + 0x2c], ecx
xor esi, esi
cmp esi, ecx
jne 0x6cbc53
mov eax, dword [esp + esi*4 + 0x48]
mov ebx, dword [esp + eax*4 + 0x1d8]
mov eax, dword [ebp + 8]
inc esi
cmp esi, eax
lea edx, [ecx - 1]
mov edi, esi
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], ebx
mov dword [esp + 0x18], edi
jge 0x6cbc32
mov edx, dword [esp + edi*4 + 0x48]
lea eax, [esp + edi*4 + 0x48]
mov dword [esp + 0x28], eax
mov eax, dword [esp + edx*4 + 0x1d8]
cmp eax, ebx
jg 0x6cbc22
jge 0x6cbc0f
mov esi, ecx
mov ebx, eax
mov eax, dword [esp + esi*4 + 0x48]
mov edi, dword [esp + 0x28]
mov dword [edi], eax
mov edi, dword [esp + 0x18]
mov dword [esp + esi*4 + 0x48], edx
inc esi
mov eax, dword [ebp + 8]
inc edi
cmp edi, eax
mov dword [esp + 0x18], edi
jl 0x6cbbf2
mov dword [esp + 0x24], ebx
cmp ecx, esi
mov eax, ecx
jge 0x6cbc53
mov edx, dword [ebp + 0x14]
jmp 0x6cbc40
mov edi, dword [esp + eax*4 + 0x48]
cmp dword [edx + edi*4], 0
jl 0x6cbd05
inc eax
cmp eax, esi
jl 0x6cbc40
mov eax, dword [esp + ecx*4 + 0x48]
mov edx, dword [ebp + 0x14]
mov edx, dword [edx + eax*4]
mov edi, dword [ebp + 0xc]
mov dword [esp + 0x38], edx
mov edx, dword [edi + edx*4]
mov edi, dword [edx + eax*4]
mov dword [esp + 0x40], edx
sub edi, dword [esp + eax*4 + 0x110]
mov edx, dword [ebp + 8]
inc ecx
sub edi, ebx
cmp esi, edx
mov eax, esi
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x18], eax
jge 0x6cbbc6
lea ecx, [ecx]
mov edx, dword [esp + eax*4 + 0x48]
lea eax, [esp + eax*4 + 0x48]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x40]
mov ecx, dword [eax + edx*4]
sub ecx, dword [esp + edx*4 + 0x110]
lea eax, [esp + edx*4 + 0x1d8]
sub ecx, edi
cmp ecx, dword [eax]
mov dword [esp + 0x44], eax
jge 0x6cbcec
cmp ecx, ebx
mov eax, dword [esp + 0x38]
mov dword [esp + edx*4 + 0x368], eax
jne 0x6cbce6
mov eax, dword [ebp + 0x14]
cmp dword [eax + edx*4], 0
jl 0x6cbd09
mov eax, dword [esp + esi*4 + 0x48]
mov ebx, dword [esp + 0x28]
mov dword [ebx], eax
mov ebx, dword [esp + 0x24]
mov dword [esp + esi*4 + 0x48], edx
inc esi
mov edx, dword [esp + 0x44]
mov dword [edx], ecx
mov eax, dword [esp + 0x18]
mov ecx, dword [ebp + 8]
inc eax
cmp eax, ecx
mov dword [esp + 0x18], eax
jl 0x6cbc90
mov ecx, dword [esp + 0x2c]
jmp 0x6cbbc6
mov edx, dword [esp + eax*4 + 0x48]
mov edi, dword [esp + 0x30]
xor eax, eax
test edi, edi
jl 0x6cbd2e
mov ecx, dword [esp + eax*4 + 0x48]
lea esi, [esp + ecx*4 + 0x110]
mov ecx, dword [esp + ecx*4 + 0x1d8]
sub ecx, ebx
add dword [esi], ecx
inc eax
cmp eax, edi
jle 0x6cbd13
mov edi, dword [esp + 0x20]
mov esi, dword [ebp + 0x10]
jmp 0x6cbd40
mov eax, dword [esp + edx*4 + 0x368]
cmp eax, edi
mov ecx, dword [ebp + 0x14]
mov dword [ecx + edx*4], eax
mov ecx, edx
mov edx, dword [esi + eax*4]
mov dword [esi + eax*4], ecx
jne 0x6cbd40
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
inc eax
cmp eax, ecx
mov dword [esp + 0x14], eax
jl 0x6cbb70
rdtsc
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x34]
pop edi
sub eax, ecx
pop esi
mov dword [0xaac57c], eax
mov al, byte [esp + 0xb]
mov dword [0xaac580], edx
pop ebx
mov esp, ebp
pop ebp
ret