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

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffff50
push ebx
push esi
push edi
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
mov byte [eax + 0x229], 1
inc dword [eax + 0x3f8]
mov eax, 0xffdd
call sym.MassSender.exe__Plusmemou_WStrAlloc_qqri
mov dword [ebp - 0x1c], eax
mov eax, 0xffdd
call sym.MassSender.exe__Plusmemou_WStrAlloc_qqri
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x1fc]
mov dword [ebp - 0x34], edx
call sym.MassSender.exe__Plusmemou_TPlusMemoU_CleanUp_qqrv
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x18], eax
xor edx, edx
push ebp
push 0x588bc8
push dword fs:[edx]
mov dword fs:[edx], esp
xor edx, edx
push ebp
push 0x58894b
push dword fs:[edx]
mov dword fs:[edx], esp
mov eax, dword [ebp - 8]
call fcn.006844f8
mov ebx, eax
mov eax, dword [ebp - 8]
call fcn.006844dc
sub ebx, eax
sar ebx, 1
jns 0x58842a
adc ebx, 0
mov dword [ebp - 0x10], ebx
xor eax, eax
mov dword [ebp - 0x78], eax
xor eax, eax
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x84], 0xffffffff
mov dword [ebp - 0x80], 0xffffffff
mov eax, 0x3c
call fcn.006990b0
mov ebx, eax
mov dword [ebp - 0x74], ebx
mov eax, ebx
mov byte [eax + 4], 0
mov dword [eax], 1
mov dword [ebp - 0x4c], 1
xor eax, eax
mov dword [ebp - 0x48], eax
xor eax, eax
mov dword [ebp - 0x44], eax
xor eax, eax
mov dword [ebp - 0x40], eax
xor eax, eax
mov dword [ebp - 0x3c], eax
mov byte [ebp - 0x38], 0
mov byte [ebp - 0x36], 0
mov byte [ebp - 0x37], 0
xor eax, eax
mov dword [ebp - 0xb0], eax
mov al, byte [0x588bdc]
mov byte [ebp - 0x94], al
xor eax, eax
mov dword [ebp - 0x90], eax
mov al, byte [0x588bdc]
mov byte [ebp - 0x29], al
xor eax, eax
mov dword [ebp - 0xc], eax
xor eax, eax
mov dword [ebp - 0x28], eax
xor eax, eax
mov dword [ebp - 0x24], eax
xor ebx, ebx
call sub.KERNEL32.DLL_GetTickCount
add eax, dword [sym.MassSender.exe__Plusmemou_ProgressInterval]
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x10], 0xffdc
jle 0x588503
mov edx, dword [ebp - 0x18]
mov ecx, 0x1ffb8
mov eax, dword [ebp - 8]
mov esi, dword [eax]
call dword [esi + 4]
mov eax, dword [ebp - 4]
cmp word [eax + 0x298], 0
je 0x58852d
push ebp
mov edx, 0xffdc
mov eax, dword [ebp - 0x18]
call fcn.00588378
pop ecx
jmp 0x58852d
mov ecx, dword [ebp - 0x10]
add ecx, ecx
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 8]
mov esi, dword [eax]
call dword [esi + 4]
mov eax, dword [ebp - 4]
cmp word [eax + 0x298], 0
je 0x58852d
push ebp
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x18]
call fcn.00588378
pop ecx
cmp dword [ebp - 0x10], 0
jle 0x58853b
mov eax, dword [ebp - 0x18]
mov ax, word [eax]
jmp 0x58853d
xor eax, eax
mov word [ebp - 0x12], 0
test ax, ax
je 0x58884f
inc ebx
cmp ax, 0x1a
jae 0x588763
mov edx, eax
dec edx
sub dx, 4
jb 0x588576
sub dx, 5
je 0x588594
sub dx, 3
je 0x588594
sub dx, 8
jne 0x588763
mov edx, dword [ebp - 4]
cmp byte [edx + 0x2ac], 0
je 0x588763
lea edx, [ebp - 0x29]
xchg edx, eax
call fcn.00584cd4
jmp 0x588763
cmp ebx, 1
jne 0x5885c9
cmp ax, 0xa
jne 0x5885a6
cmp word [ebp - 0x12], 0xd
je 0x5885b3
cmp ax, 0xd
jne 0x5885c9
cmp word [ebp - 0x12], 0xa
jne 0x5885c9
xor ebx, ebx
inc dword [ebp - 0x24]
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x28]
mov word [eax + edx*2], 0
jmp 0x588763
dec ebx
cmp ebx, 0x7fffff9b
jle 0x5885d7
mov ebx, 0x7fffff9b
mov esi, ebx
test esi, esi
jns 0x5885e0
add esi, 0x3f
sar esi, 6
add esi, ebx
test esi, esi
jle 0x5885f9
lea eax, [esi + 1]
call sym.MassSender.exe__Plusmemou_WStrAlloc_qqri
mov dword [ebp - 0x8c], eax
jmp 0x588601
xor eax, eax
mov dword [ebp - 0x8c], eax
cmp dword [ebp - 0x24], 0xffdc
jl 0x588611
sub dword [ebp - 0x24], 0xffdc
cmp ebx, dword [ebp - 0x28]
jg 0x588630
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x24]
lea eax, [eax + edx*2]
mov ecx, ebx
add ecx, ecx
mov edx, dword [ebp - 0x8c]
call fcn.00699420
jmp 0x588679
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0x24]
lea eax, [eax + edx*2]
mov edx, 0xffdc
sub edx, dword [ebp - 0x24]
mov ecx, edx
add ecx, ecx
mov edx, dword [ebp - 0x8c]
call fcn.00699420
mov eax, 0xffdc
sub eax, dword [ebp - 0x24]
mov edx, ebx
sub edx, eax
mov ecx, edx
add ecx, ecx
mov eax, 0xffdc
sub eax, dword [ebp - 0x24]
mov edx, dword [ebp - 0x8c]
lea edx, [edx + eax*2]
mov eax, dword [ebp - 0x1c]
call fcn.00699420
mov eax, dword [ebp - 4]
test byte [eax + 0x286], 0x10
je 0x5886a4
jmp 0x588688
dec ebx
test ebx, ebx
jle 0x5886a4
mov eax, dword [ebp - 0x8c]
mov ax, word [eax + ebx*2 - 2]
call sym.MassSender.exe__Plusmemou_ASCII_qqrb
sub al, 9
je 0x588687
sub al, 0x17
je 0x588687
test esi, esi
jle 0x5886b4
mov eax, dword [ebp - 0x8c]
mov word [eax + ebx*2], 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1f8]
add eax, ebx
add eax, 2
mov edx, dword [ebp - 4]
mov dword [edx + 0x1f8], eax
mov dword [ebp - 0x88], ebx
mov dword [ebp - 0xac], ebx
lea esi, [ebp - 0xb0]
lea edi, [ebp - 0x70]
mov ecx, 9
rep movsd dword es:[edi], dword [esi]
lea edx, [ebp - 0x8c]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x200]
call sym.MassSender.exe__Plusmemou_TDynArray2_Add_qqrpxv
mov ebx, eax
xor eax, eax
mov dword [ebp - 0xb0], eax
mov al, byte [ebp - 0x29]
mov byte [ebp - 0x94], al
inc ebx
mov dword [ebp - 0x7c], ebx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1f8]
mov dword [ebp - 0x78], eax
xor ebx, ebx
mov eax, dword [ebp - 0x28]
inc eax
mov dword [ebp - 0x24], eax
call sub.KERNEL32.DLL_GetTickCount
cmp eax, dword [ebp - 0x30]
jle 0x58875e
call sub.KERNEL32.DLL_GetTickCount
add eax, dword [sym.MassSender.exe__Plusmemou_ProgressInterval]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 4]
cmp word [eax + 0x2da], 0
je 0x58875e
mov esi, dword [ebp - 4]
mov edx, dword [ebp - 4]
mov eax, dword [esi + 0x2dc]
call dword [esi + 0x2d8]
mov eax, dword [ebp - 0x74]
inc dword [eax]
inc dword [ebp - 0xc]
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x28]
mov ax, word [eax + edx*2]
mov word [ebp - 0x12], ax
inc dword [ebp - 0x28]
cmp ebx, 0x7fffff9b
jge 0x58882a
mov eax, dword [ebp - 0xc]
cmp eax, dword [ebp - 0x10]
jge 0x58882a
cmp dword [ebp - 0x28], 0xffdc
jge 0x5887a7
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x28]
mov ax, word [eax + edx*2]
jmp 0x588846
xor eax, eax
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x18], eax
mov esi, dword [ebp - 0x10]
sub esi, dword [ebp - 0xc]
cmp esi, 0xffdc
jle 0x5887fa
mov edx, dword [ebp - 0x18]
mov ecx, 0x1ffb8
mov eax, dword [ebp - 8]
mov esi, dword [eax]
call dword [esi + 4]
mov eax, dword [ebp - 4]
cmp word [eax + 0x298], 0
je 0x588822
push ebp
mov edx, 0xffdc
mov eax, dword [ebp - 0x18]
call fcn.00588378
pop ecx
jmp 0x588822
mov ecx, esi
add ecx, ecx
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 8]
mov edi, dword [eax]
call dword [edi + 4]
mov eax, dword [ebp - 4]
cmp word [eax + 0x298], 0
je 0x588822
push ebp
mov edx, esi
mov eax, dword [ebp - 0x18]
call fcn.00588378
pop ecx
mov eax, dword [ebp - 0x18]
mov ax, word [eax]
jmp 0x588846
cmp ebx, 0x7fffff9b
jl 0x588844
mov ax, 0xd
dec dword [ebp - 0xc]
cmp dword [ebp - 0x28], 0
jle 0x588846
dec dword [ebp - 0x28]
jmp 0x588846
xor eax, eax
test ax, ax
jne 0x58854c
mov dword [ebp - 0xac], ebx
mov eax, ebx
mov dword [ebp - 0x88], eax
js 0x58885a
invalid
dec dword [ebx + 0x79f685f0]
invalid
add esi, 0x3f
sar esi, 6
add esi, eax
test esi, esi
jle 0x58887f
lea eax, [esi + 1]
call sym.MassSender.exe__Plusmemou_WStrAlloc_qqri
mov dword [ebp - 0x8c], eax
jmp 0x588887
xor eax, eax
mov dword [ebp - 0x8c], eax
test ebx, ebx
jle 0x5888ff
cmp ebx, dword [ebp - 0x28]
jg 0x5888aa
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x24]
lea eax, [eax + edx*2]
mov ecx, ebx
add ecx, ecx
mov edx, dword [ebp - 0x8c]
call fcn.00699420
jmp 0x5888f3
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0x24]
lea eax, [eax + edx*2]
mov edx, 0xffdc
sub edx, dword [ebp - 0x24]
mov ecx, edx
add ecx, ecx
mov edx, dword [ebp - 0x8c]
call fcn.00699420
mov eax, 0xffdc
sub eax, dword [ebp - 0x24]
mov edx, ebx
sub edx, eax
mov ecx, edx
add ecx, ecx
mov eax, 0xffdc
sub eax, dword [ebp - 0x24]
mov edx, dword [ebp - 0x8c]
lea edx, [edx + eax*2]
mov eax, dword [ebp - 0x1c]
call fcn.00699420
mov eax, dword [ebp - 0x8c]
mov word [eax + ebx*2], 0
lea esi, [ebp - 0xb0]
lea edi, [ebp - 0x70]
mov ecx, 9
rep movsd dword es:[edi], dword [esi]
lea edx, [ebp - 0x8c]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x200]
call sym.MassSender.exe__Plusmemou_TDynArray2_Add_qqrpxv
mov eax, dword [ebp - 4]
add dword [eax + 0x1f8], ebx
mov eax, dword [ebp - 0xc]
cmp eax, dword [ebp - 0x10]
jge 0x588941
xor ecx, ecx
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 8]
mov ebx, dword [eax]
call dword [ebx + 0xc]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x588982
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x588bd2
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x200]
mov edx, dword [edx + 0xc]
mov dword [eax + 0x1fc], edx
xor edx, edx
mov dword [eax + 0x20c], edx
xor edx, edx
mov dword [eax + 0x3c0], edx
mov dword [eax + 0x3c4], connect
mov eax, dword [ebp - 0x1c]
call fcn.00692114
mov eax, dword [ebp - 0x20]
call fcn.00692114
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x200]
mov edx, dword [edx + 0xc]
mov dword [eax + 0x3dc], edx
mov edx, dword [eax + 0x1fc]
mov dword [eax + 0x3d8], edx
mov dword [eax + 0x3e0], 0xffffffff
mov dword [eax + 0x3e8], 0xffffffff
mov eax, dword [eax + 0x314]
mov esi, dword [eax + 8]
dec esi
test esi, esi
jl 0x588a34
inc esi
xor ebx, ebx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x314]
mov edx, ebx
call fcn.00681e54
mov edi, eax
mov eax, edi
call sym.MassSender.exe__Plusmemou_TPlusNavigatorU_Invalidate_qqrv
xor edx, edx
mov eax, edi
call sym.MassSender.exe__Plusmemou_TPlusNavigatorU_SetPos_qqri
inc ebx
dec esi
jne 0x588a0e
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x320]
mov dword [eax + 0x210], edx
cmp word [eax + 0x2f2], 0
je 0x588a67
mov edx, dword [eax + 0x1f8]
push edx
mov ebx, eax
xor ecx, ecx
mov edx, dword [ebp - 4]
mov eax, dword [ebx + 0x2f4]
call dword [ebx + 0x2f0]
mov eax, dword [ebp - 4]
dec dword [eax + 0x3f8]
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x2a8], edx
xor edx, edx
mov dword [eax + 0x220], edx
cmp word [eax + 0x2da], 0
je 0x588a9e
mov ebx, eax
mov edx, dword [ebp - 4]
mov eax, dword [ebx + 0x2dc]
call dword [ebx + 0x2d8]
mov ebx, dword [ebp - 4]
cmp dword [ebx + 0x3f8], 0
jne 0x588ad9
mov eax, dword [ebx + 0x200]
mov eax, dword [eax + 0xc]
mov dword [ebx + 0x3dc], eax
mov dword [ebx + 0x3e0], 0xffffffff
mov eax, dword [ebx + 0x1fc]
mov dword [ebx + 0x3d8], eax
xor eax, eax
mov dword [ebx + 0x3e4], eax
jmp 0x588b2a
xor eax, eax
mov dword [ebx + 0x3dc], eax
mov eax, dword [ebx + 0x200]
mov eax, dword [eax + 0xc]
dec eax
mov dword [ebx + 0x3e0], eax
xor eax, eax
mov dword [ebx + 0x3d8], eax
mov eax, dword [ebx + 0x200]
mov edx, dword [ebp - 0x34]
sub edx, dword [eax + 0xc]
mov dword [ebx + 0x3e4], edx
mov eax, ebx
call fcn.0065fef8
test al, al
je 0x588b2a
push 0xffffffffffffffff
push 0
push 1
mov eax, dword [ebp - 4]
call fcn.0065fbfc
push eax
call sub.USER32.DLL_SetScrollPos
mov eax, dword [ebp - 4]
call fcn.0065fef8
test al, al
je 0x588bbc
mov eax, dword [ebp - 4]
cmp dword [eax + 0x3f8], 0
jne 0x588bbc
mov eax, dword [ebp - 4]
mov edx, dword [eax]
call dword [edx + 0x74]
mov eax, dword [ebp - 4]
call sym.MassSender.exe__Plusmemou_TPlusMemoU_setVScrollParams_qqrv
mov eax, dword [ebp - 4]
cmp byte [eax + 0x438], 0
jne 0x588b6a
mov eax, dword [ebp - 4]
call sym.MassSender.exe__Plusmemou_TPlusMemoU_Reformat_qqrv
mov eax, dword [ebp - 4]
cmp byte [eax + 0x22e], 0
je 0x588b8a
push 0xffffffffffffffff
push 0
push 1
mov eax, dword [ebp - 4]
call fcn.0065fbfc
push eax
call sub.USER32.DLL_SetScrollPos
mov eax, dword [ebp - 4]
call sym.MassSender.exe__Plusmemou_TPlusMemoU_setHScrollParams_qqrv
mov eax, dword [ebp - 4]
cmp byte [eax + 0x22d], 0
je 0x588bb2
push 0xffffffffffffffff
push 0
push 0
mov eax, dword [ebp - 4]
call fcn.0065fbfc
push eax
call sub.USER32.DLL_SetScrollPos
xor edx, edx
mov eax, dword [ebp - 4]
call sym.MassSender.exe__Plusmemou_TPlusMemoU_UpdateCaret_qqro
mov eax, dword [ebp - 4]
mov edx, dword [eax]
call dword [edx + 0xbc]
ret