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

Disassembly:
push ebp
mov ebp, esp
push ecx
mov ecx, 0x75
push 0
push 0
dec ecx
jne 0x588fbd
xchg dword [ebp - 4], ecx
push ebx
push esi
push edi
mov byte [ebp - 9], cl
mov dword [ebp - 0x10], edx
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x589712
push dword fs:[eax]
mov dword fs:[eax], esp
call sub.KERNEL32.DLL_GetTickCount
mov dword [ebp - 0x18], eax
push 0x589728
lea edx, [ebp - 0x37c]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x58]
call fcn.00637710
push dword [ebp - 0x37c]
push 0x589760
push 0x58976c
lea edx, [ebp - 0x380]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x238]
call fcn.00637710
push dword [ebp - 0x380]
push 0x589780
lea eax, [ebp - 0x378]
mov edx, 6
call fcn.0069ac74
mov edx, dword [ebp - 0x378]
lea eax, [ebp - 0x138]
mov ecx, 0xff
call fcn.0069ab90
xor ecx, ecx
mov cl, byte [ebp - 0x138]
lea edx, [ebp - 0x137]
mov eax, dword [ebp - 0x10]
call fcn.00684568
mov dl, 1
mov eax, dword [0x6801b4]
call fcn.00699c4c
mov dword [ebp - 8], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x58]
mov edx, dword [eax + 0x18]
mov eax, dword [ebp - 8]
call fcn.00681ca8
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x23c]
mov eax, dword [ebp - 8]
call fcn.00681ca8
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x60]
mov eax, dword [ebp - 8]
call fcn.00681ca8
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x240]
mov eax, dword [ebp - 8]
call fcn.00681ca8
mov esi, 0x589788
lea edi, [ebp - 0x138]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
xor ecx, ecx
mov cl, byte [ebp - 0x138]
lea edx, [ebp - 0x137]
mov eax, dword [ebp - 0x10]
call fcn.00684568
cmp byte [ebp - 9], 0
je 0x5890ed
push ebp
call fcn.00588cc4
pop ecx
mov eax, dword [ebp - 8]
mov eax, dword [eax + 8]
dec eax
test eax, eax
jl 0x58914d
inc eax
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x14], 0
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 8]
call fcn.00681e54
lea edx, [ebp - 0x384]
call fcn.00588be0
mov edx, dword [ebp - 0x384]
lea eax, [ebp - 0x138]
mov ecx, 0xff
call fcn.0069ab90
xor ecx, ecx
mov cl, byte [ebp - 0x138]
lea edx, [ebp - 0x137]
mov eax, dword [ebp - 0x10]
call fcn.00684568
inc dword [ebp - 0x14]
dec dword [ebp - 0x38]
jne 0x589103
mov word [ebp - 0x138], 0x7d01
lea edx, [ebp - 0x137]
mov ecx, 1
mov eax, dword [ebp - 0x10]
call fcn.00684568
mov esi, dword [ebp - 4]
cmp byte [esi + 0x235], 0
je 0x589187
push esi
mov esi, 0x589794
lea edi, [ebp - 0x138]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
pop esi
jmp 0x5891c9
mov al, byte [esi + 0x234]
sub al, 1
jb 0x589195
je 0x5891a7
jmp 0x5891b9
push esi
mov esi, 0x5897a0
lea edi, [ebp - 0x138]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
pop esi
jmp 0x5891c9
push esi
mov esi, 0x5897ac
lea edi, [ebp - 0x138]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
pop esi
jmp 0x5891c9
push esi
mov esi, 0x5897b8
lea edi, [ebp - 0x138]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
pop esi
mov ebx, dword [esi + 0x2a0]
test ebx, ebx
jle 0x589228
lea eax, [ebp - 0x38c]
lea edx, [ebp - 0x138]
call fcn.0069ab58
push dword [ebp - 0x38c]
push 0x5897cc
lea edx, [ebp - 0x390]
mov eax, ebx
call fcn.006913fc
push dword [ebp - 0x390]
lea eax, [ebp - 0x388]
mov edx, 3
call fcn.0069ac74
mov edx, dword [ebp - 0x388]
lea eax, [ebp - 0x138]
mov ecx, 0xff
call fcn.0069ab90
mov ebx, dword [ebp - 4]
cmp dword [ebx + 0x2a0], 0
jge 0x5892a3
lea eax, [ebp - 0x398]
lea edx, [ebp - 0x138]
call fcn.0069ab58
push dword [ebp - 0x398]
push 0x5897cc
mov eax, dword [ebx + 0x58]
call fcn.00637784
cdq
xor eax, edx
sub eax, edx
shl eax, 2
lea eax, [eax + eax*4]
mov edx, dword [ebp - 4]
imul dword [edx + 0x2a0]
lea edx, [ebp - 0x39c]
call fcn.006913fc
push dword [ebp - 0x39c]
lea eax, [ebp - 0x394]
mov edx, 3
call fcn.0069ac74
mov edx, dword [ebp - 0x394]
lea eax, [ebp - 0x138]
mov ecx, 0xff
call fcn.0069ab90
xor ecx, ecx
mov cl, byte [ebp - 0x138]
lea edx, [ebp - 0x137]
mov eax, dword [ebp - 0x10]
call fcn.00684568
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x58]
call fcn.006377c0
mov ebx, eax
mov byte [ebp - 0x31], bl
mov byte [ebp - 0x370], 0
push ebp
lea ecx, [ebp - 0x3a0]
lea edx, [ebp - 0x374]
mov al, byte [ebp - 0x31]
call fcn.00588d6c
pop ecx
lea eax, [ebp - 0x3a0]
mov edx, 0x5897d8
call fcn.0069abbc
mov edx, dword [ebp - 0x3a0]
lea eax, [ebp - 0x138]
mov ecx, 0xff
call fcn.0069ab90
xor ecx, ecx
mov cl, byte [ebp - 0x138]
lea edx, [ebp - 0x137]
mov eax, dword [ebp - 0x10]
call fcn.00684568
mov eax, dword [ebp - 4]
call sym.MassSender.exe__Plusmemou_TPlusMemoU_GetParCount_qqrv
dec eax
test eax, eax
jl 0x58967d
inc eax
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x14], 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x200]
mov edx, dword [ebp - 0x14]
call sym.MassSender.exe__Plusmemou_TParagraphsList_GetParPointers_qqri
mov edi, eax
mov eax, edi
mov edx, dword [eax]
mov dword [ebp - 0x30], edx
mov edx, dword [eax + 4]
mov dword [ebp - 0x28], edx
cmp byte [ebp - 9], 0
je 0x589374
cmp dword [eax + 0x48], 0
je 0x589374
mov eax, dword [eax + 0x4c]
mov eax, dword [eax]
mov dword [ebp - 0x1c], eax
jmp 0x58937b
mov dword [ebp - 0x1c], connect
xor esi, esi
xor ebx, ebx
xor eax, eax
mov dword [ebp - 0x20], eax
xor eax, eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x14], 0
jle 0x5893b7
push esi
push edi
mov esi, 0x5897dc
lea edi, [ebp - 0x338]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
pop edi
pop esi
xor ecx, ecx
mov cl, byte [ebp - 0x338]
lea edx, [ebp - 0x337]
mov eax, dword [ebp - 0x10]
call fcn.00684568
cmp ebx, dword [ebp - 0x28]
jge 0x5895f1
mov byte [ebp - 0x32], 0
cmp ebx, dword [ebp - 0x1c]
jge 0x5894df
mov eax, dword [ebp - 0x30]
mov ax, word [eax + ebx*2]
call sym.MassSender.exe__Plusmemou_ASCII_qqrb
sub al, 0x5c
je 0x5893e9
sub al, 0x1f
je 0x5893e9
sub al, 2
jne 0x589485
mov eax, dword [ebp - 0x30]
mov edx, dword [ebp - 0x20]
lea eax, [eax + edx*2]
lea ecx, [ebp - 0x2c]
mov edx, ebx
sub edx, dword [ebp - 0x20]
call fcn.0069b874
mov eax, dword [ebp - 0x2c]
call fcn.0069abb4
push eax
lea eax, [ebp - 0x2c]
call fcn.0069ad84
mov edx, eax
mov eax, dword [ebp - 0x10]
pop ecx
call fcn.00684568
mov edx, 0x5897e4
lea eax, [ebp - 0x3a4]
call fcn.0069971c
mov eax, dword [ebp - 0x30]
mov ax, word [eax + ebx*2]
call sym.MassSender.exe__Plusmemou_ASCII_qqrb
mov edx, eax
lea eax, [ebp - 0x3a8]
mov byte [eax + 1], dl
mov byte [eax], 1
lea edx, [ebp - 0x3a8]
lea eax, [ebp - 0x3a4]
mov cl, 2
call fcn.006996ec
lea edx, [ebp - 0x3a4]
lea eax, [ebp - 0x138]
call fcn.0069971c
lea edx, [ebp - 0x137]
mov ecx, 2
mov eax, dword [ebp - 0x10]
call fcn.00684568
inc ebx
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x24], ebx
jmp 0x5894df
mov eax, dword [ebp - 4]
cmp byte [eax + 0x2ac], 0
je 0x5894db
mov eax, dword [ebp - 0x30]
cmp word [eax + ebx*2], 0x1a
jae 0x5894db
mov eax, dword [ebp - 0x30]
mov ax, word [eax + ebx*2]
call sym.MassSender.exe__Plusmemou_ASCII_qqrb
dec eax
sub al, 4
jb 0x5894b0
sub al, 0x10
jne 0x5894db
mov byte [ebp - 0x32], 1
mov eax, dword [ebp - 0x30]
mov dx, word [eax + ebx*2]
lea eax, [ebp - 0x31]
call fcn.00584cd4
inc ebx
mov eax, dword [ebp - 0x30]
mov ax, word [eax + ebx*2]
call sym.MassSender.exe__Plusmemou_ASCII_qqrb
dec eax
sub al, 4
jb 0x5894b4
sub al, 0x10
je 0x5894b4
jmp 0x5894df
inc ebx
mov dword [ebp - 0x24], ebx
cmp ebx, dword [ebp - 0x1c]
jl 0x58953d
inc esi
jmp 0x5894e8
inc esi
cmp esi, dword [edi + 0x48]
jge 0x5894fc
mov eax, esi
shl eax, 4
sub eax, esi
mov edx, dword [edi + 0x4c]
cmp ebx, dword [edx + eax*4]
jge 0x5894e7
mov eax, esi
shl eax, 4
sub eax, esi
mov edx, dword [edi + 0x4c]
push esi
push edi
lea esi, [edx + eax*4 - 0x3c]
lea edi, [ebp - 0x374]
mov ecx, 0xf
rep movsd dword es:[edi], dword [esi]
pop edi
pop esi
cmp esi, dword [edi + 0x48]
jge 0x589532
mov eax, esi
shl eax, 4
sub eax, esi
mov edx, dword [edi + 0x4c]
mov eax, dword [edx + eax*4]
mov dword [ebp - 0x1c], eax
jmp 0x589539
mov dword [ebp - 0x1c], connect
mov byte [ebp - 0x32], 1
cmp byte [ebp - 0x32], 0
je 0x5895e8
mov eax, dword [ebp - 0x30]
mov edx, dword [ebp - 0x20]
lea eax, [eax + edx*2]
lea ecx, [ebp - 0x2c]
mov edx, dword [ebp - 0x24]
sub edx, dword [ebp - 0x20]
call fcn.0069b874
mov eax, dword [ebp - 0x2c]
call fcn.0069abb4
push eax
lea eax, [ebp - 0x2c]
call fcn.0069ad84
mov edx, eax
mov eax, dword [ebp - 0x10]
pop ecx
call fcn.00684568
lea eax, [ebp - 0x238]
lea edx, [ebp - 0x138]
call fcn.0069971c
push ebp
lea ecx, [ebp - 0x3ac]
lea edx, [ebp - 0x374]
mov al, byte [ebp - 0x31]
call fcn.00588d6c
pop ecx
mov edx, dword [ebp - 0x3ac]
lea eax, [ebp - 0x138]
mov ecx, 0xff
call fcn.0069ab90
lea eax, [ebp - 0x138]
lea edx, [ebp - 0x238]
xor ecx, ecx
mov cl, byte [eax]
inc ecx
call fcn.006997ec
je 0x5895e5
xor ecx, ecx
mov cl, byte [ebp - 0x138]
lea edx, [ebp - 0x137]
mov eax, dword [ebp - 0x10]
call fcn.00684568
mov dword [ebp - 0x20], ebx
cmp ebx, dword [ebp - 0x28]
jl 0x5893c0
cmp ebx, dword [ebp - 0x20]
jle 0x589628
mov eax, dword [ebp - 0x30]
mov edx, dword [ebp - 0x20]
lea eax, [eax + edx*2]
lea ecx, [ebp - 0x2c]
mov edx, ebx
sub edx, dword [ebp - 0x20]
call fcn.0069b874
mov eax, dword [ebp - 0x2c]
call fcn.0069abb4
push eax
lea eax, [ebp - 0x2c]
call fcn.0069ad84
mov edx, eax
mov eax, dword [ebp - 0x10]
pop ecx
call fcn.00684568
mov edx, 0x7bb96d
mov ecx, 2
mov eax, dword [ebp - 0x10]
call fcn.00684568
mov eax, dword [ebp - 4]
cmp word [eax + 0x2da], 0
je 0x589671
call sub.KERNEL32.DLL_GetTickCount
sub eax, dword [ebp - 0x18]
cmp eax, dword [sym.MassSender.exe__Plusmemou_ProgressInterval]
jle 0x589671
mov ebx, dword [ebp - 4]
mov edx, dword [ebp - 4]
mov eax, dword [ebx + 0x2dc]
call dword [ebx + 0x2d8]
call sub.KERNEL32.DLL_GetTickCount
mov dword [ebp - 0x18], eax
inc dword [ebp - 0x14]
dec dword [ebp - 0x38]
jne 0x58933e
mov esi, 0x5897e8
lea edi, [ebp - 0x138]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
xor ecx, ecx
mov cl, byte [ebp - 0x138]
lea edx, [ebp - 0x137]
mov eax, dword [ebp - 0x10]
call fcn.00684568
mov eax, dword [ebp - 4]
cmp word [eax + 0x2da], 0
je 0x5896be
mov ebx, eax
mov edx, dword [ebp - 4]
mov eax, dword [ebx + 0x2dc]
call dword [ebx + 0x2d8]
mov eax, dword [ebp - 8]
call fcn.00699c7c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x589719
lea eax, [ebp - 0x3ac]
call fcn.0069a934
lea eax, [ebp - 0x3a0]
mov edx, 8
call fcn.0069a958
lea eax, [ebp - 0x380]
mov edx, 2
call fcn.0069a958
lea eax, [ebp - 0x378]
call fcn.0069a934
lea eax, [ebp - 0x2c]
call fcn.0069a934
ret