Function at 0x40a8e4
Capabilities:
Print debug messages

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x101c
call fcn.004153f0
cmp dword [ebp + 8], 0x1a
push ebx
push esi
push edi
mov ebx, ecx
mov esi, edx
jae 0x40a92c
mov edi, str.VSoIoTcp.cpp
push 0x3df
mov eax, edi
call fcn.004072fa
mov eax, edi
mov dword [esp], 0x3e0
call fcn.004072fa
mov eax, edi
mov dword [esp], 0x3e1
call fcn.004072fa
pop ecx
mov eax, dword [esi + 0x406c]
cmp eax, 5
je 0x40a940
cmp eax, 6
jne 0x40b044
movzx ecx, word [ebx + 0x14]
lea eax, [esi + 0xc1bc]
movzx edx, word [eax]
mov edi, edx
sub edi, ecx
test di, di
jge 0x40b01a
mov word [eax], cx
call fcn.00407959
mov edi, eax
sub edi, dword [ebx + 0xc]
mov dword [ebp - 0x18], eax
sub eax, dword [esi + 0x11224]
mov dword [ebp - 0xc], edi
mov dword [ebp - 4], eax
test edi, edi
jge 0x40a98d
push 0x3fa
mov eax, str.VSoIoTcp.cpp
call fcn.004072fa
mov eax, dword [ebp - 4]
pop ecx
test eax, eax
jge 0x40a9a1
push 0x3fb
mov eax, str.VSoIoTcp.cpp
call fcn.004072fa
pop ecx
cmp dword [esi + 0xc1d4], 0
jge 0x40a9be
mov dword [esi + 0xc1d8], edi
mov dword [esi + 0xc1dc], edi
mov dword [esi + 0xc1d4], edi
jmp 0x40a9ca
mov eax, dword [esi + 0xc1e0]
mov dword [esi + 0xc1d4], eax
cmp dword [esi + 0xc1dc], edi
mov dword [esi + 0xc1e0], edi
jle 0x40a9de
mov dword [esi + 0xc1dc], edi
lea eax, [esi + 0xc1d8]
cmp dword [eax], edi
jge 0x40a9ea
mov dword [eax], edi
mov edi, dword [ebp + 8]
add edi, 0xffffffe6
cmp edi, 0x200
jle 0x40aa2a
push 0x412
mov eax, str.VSoIoTcp.cpp
call fcn.004072fa
mov eax, str.VSoIoTcp.cpp
mov dword [esp], 0x413
call fcn.004072fa
mov eax, str.VSoIoTcp.cpp
mov dword [esp], 0x414
call fcn.004072fa
pop ecx
and dword [ebp + 8], 0
lea eax, [ebp + 8]
push eax
push edi
lea eax, [ebx + 0x1a]
push eax
movzx eax, word [ebx + 0x16]
push eax
movzx eax, word [esi + 0xc1be]
push eax
lea eax, [esi + 0x4140]
push eax
call fcn.0040ca01
test eax, eax
je 0x40aa66
push 0x41c
mov eax, str.VSoIoTcp.cpp
call fcn.004072fa
pop ecx
jmp 0x40aa75
mov eax, dword [ebp + 8]
add dword [esi + 0xc204], eax
sub dword [esi + 0xc200], eax
movzx ecx, word [ebx + 0x12]
lea eax, [esi + 0xc1ba]
mov dx, word [eax]
sub dx, cx
jns 0x40aa8a
mov word [eax], cx
movzx ecx, word [ebx + 0x18]
lea eax, [esi + 0xc1c2]
mov dx, word [eax]
sub dx, cx
jns 0x40aa9f
mov word [eax], cx
movzx eax, word [ebx + 0x16]
mov cx, word [esi + 0xc1be]
sub cx, ax
jns 0x40aad1
mov word [esi + 0xc1be], ax
mov eax, esi
call fcn.00409d6d
test eax, eax
je 0x40aad1
push 0x442
mov eax, str.VSoIoTcp.cpp
call fcn.004072fa
pop ecx
xor ebx, ebx
cmp dword [esi + 0xc1ec], ebx
je 0x40ac99
mov eax, dword [esi + 0xc20c]
inc eax
cdq
mov edi, eax
mov eax, edx
mov dword [ebp + 8], eax
mov eax, dword [esi + 0xc210]
push ebx
cdq
push 0x64
push edx
push eax
call fcn.00414ea0
mov ecx, dword [ebp + 8]
push ecx
push edi
push edx
push eax
call fcn.00415d60
mov dword [ebp - 0x14], eax
mov eax, dword [esi + 0x4070]
imul eax, dword [esi + 0xc1e4]
push ebx
cdq
mov edi, 0x3e8
push edi
push edx
push eax
call fcn.00414ea0
mov ecx, eax
mov eax, dword [esi + 0xc1e0]
mov ebx, edx
inc eax
cdq
push edx
push eax
push ebx
push ecx
call fcn.00415d60
xor ebx, ebx
cmp eax, ebx
mov dword [ebp + 8], eax
jge 0x40ab78
mov ebx, str.VSoIoTcp.cpp
push 0x450
mov eax, ebx
call fcn.004072fa
mov eax, ebx
mov dword [esp], 0x451
call fcn.004072fa
mov eax, ebx
mov dword [esp], 0x452
call fcn.004072fa
pop ecx
xor ebx, ebx
mov edx, dword [esi + 0xc1dc]
mov eax, dword [esi + 0xc1e0]
lea ecx, [edx + 0xc8]
cmp eax, ecx
jle 0x40ab96
inc dword [esi + 0xc1f0]
jmp 0x40aba7
mov ecx, dword [esi + 0xc1f0]
cmp ecx, ebx
jle 0x40aba7
dec ecx
mov dword [esi + 0xc1f0], ecx
mov ecx, dword [esi + 0xc210]
cmp ecx, 0x28
jle 0x40abd9
push ecx
push dword [esi + 0xc1e4]
push 0x41a6c4
lea eax, [ebp - 0x101c]
push eax
mov dword [esi + 0xc1ec], ebx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
jmp 0x40ac5e
cmp dword [esi + 0xc1f0], 0xa
jle 0x40abf2
sub eax, edx
push eax
push dword [esi + 0xc1e4]
push 0x41a6f0
jmp 0x40abbe
mov ecx, dword [esi + 0xc1e4]
mov eax, dword [esi + 0x4074]
cmp ecx, eax
jl 0x40ac0b
push eax
push ecx
push str._Y__cwnd_:__3d_
jmp 0x40abbe
cmp dword [esi + 0xc1f0], ebx
jg 0x40ac6b
lea eax, [esi + 0xc208]
cmp dword [eax], ebx
jle 0x40ac21
mov dword [eax], ebx
jmp 0x40ac6b
mov eax, dword [ebp + 8]
cdq
idiv edi
push dword [ebp - 0x14]
inc ecx
mov dword [esi + 0xc1e4], ecx
push edx
push eax
mov eax, dword [esi + 0xc200]
cdq
idiv dword [esi + 0x4070]
push dword [ebp - 4]
dec ecx
push dword [ebp - 0xc]
push eax
push ecx
lea eax, [ebp - 0x101c]
push str._Y__cwnd_:__3d__fligth:__3d__rttspc:__4d___4d__r:__3d._3.3d_kb_s__loss___d___r_n
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x24
lea eax, [ebp - 0x101c]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
cmp dword [esi + 0xc1ec], ebx
jne 0x40ac8b
mov dword [esi + 0xc208], ebx
mov dword [esi + 0xc204], ebx
mov dword [esi + 0xc210], ebx
mov dword [esi + 0xc20c], ebx
mov eax, dword [ebp - 0x18]
mov dword [esi + 0x11224], eax
jmp 0x40af9b
mov eax, dword [esi + 0xc1e4]
mov edx, dword [esi + 0x4070]
mov ecx, dword [esi + 0xc204]
imul edx, eax
cmp ecx, edx
jl 0x40af9b
cmp dword [ebp - 4], 0x64
jl 0x40af9b
mov eax, dword [esi + 0xc20c]
inc eax
cdq
mov edi, eax
mov eax, edx
mov dword [ebp + 8], eax
mov eax, dword [esi + 0xc210]
push ebx
cdq
push 0x64
push edx
push eax
call fcn.00414ea0
mov ecx, dword [ebp + 8]
push ecx
push edi
push edx
push eax
call fcn.00415d60
mov dword [ebp - 8], eax
mov eax, dword [esi + 0xc204]
push 0
cdq
mov edi, 0x3e8
push edi
push edx
push eax
call fcn.00414ea0
mov ecx, eax
mov eax, dword [ebp - 4]
mov ebx, edx
cdq
push edx
push eax
push ebx
push ecx
call fcn.00415d60
and dword [ebp - 0x14], 0
and dword [ebp - 0x1c], 0
mov ecx, eax
mov eax, dword [esi + 0xc1e4]
mov dword [esi + eax*4 + 0xc218], ecx
mov eax, dword [esi + 0xc1e4]
mov byte [eax + esi + 0x10220], 0x64
mov eax, dword [esi + 0xc1e4]
mov dword [esi + eax*4 + 0xc218], ecx
mov eax, dword [esi + 0xc1e4]
mov byte [eax + esi + 0x10220], 0x64
mov eax, dword [esi + 0xc1e4]
mov dword [esi + eax*4 + 0xc218], ecx
mov eax, dword [esi + 0xc1e4]
mov byte [eax + esi + 0x10220], 0x64
mov ebx, dword [esi + 0x4074]
mov eax, dword [ebp - 0x18]
mov dword [esi + 0x11224], eax
test ebx, ebx
jle 0x40add3
lea eax, [esi + ebx*4 + 0xc218]
mov dword [ebp - 0x10], eax
mov al, byte [esi + ebx + 0x10220]
test al, al
jle 0x40adca
mov eax, dword [esi + 0x4070]
cdq
idiv dword [esi + 0xc1e4]
mov edx, dword [ebp - 0x10]
add eax, dword [edx]
cmp dword [ebp - 0x14], eax
jg 0x40adba
mov eax, edx
mov eax, dword [eax]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x1c], ebx
mov al, byte [esi + ebx + 0x10220]
dec al
mov byte [esi + ebx + 0x10220], al
sub dword [ebp - 0x10], 4
dec ebx
test ebx, ebx
jg 0x40ad8e
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x4078]
jle 0x40ae1b
mov eax, ecx
cdq
idiv edi
push dword [ebp - 8]
and dword [esi + 0xc1fc], 0
dec dword [esi + 0xc1e4]
mov ebx, dword [esi + 0xc1e4]
push edx
push eax
mov eax, dword [esi + 0xc200]
cdq
idiv dword [esi + 0x4070]
push dword [ebp - 4]
inc ebx
push dword [ebp - 0xc]
push eax
push ebx
push str.__L__cwnd_:__3d__fligth:__3d__rttspc:__4d___4d__r:__3d._3.3d_kb_s__loss___2.2d___
jmp 0x40af2a
lea eax, [esi + 0xc208]
cmp dword [eax], 0
jle 0x40ae2e
and dword [eax], 0
jmp 0x40af7f
mov eax, dword [esi + 0xc1e4]
cmp eax, dword [ebp - 0x1c]
jge 0x40ae76
lea ebx, [eax + 1]
mov eax, ecx
cdq
idiv edi
push dword [ebp - 8]
mov dword [esi + 0xc1e4], ebx
mov dword [esi + 0xc1fc], 1
push edx
push eax
mov eax, dword [esi + 0xc200]
cdq
idiv dword [esi + 0x4070]
push dword [ebp - 4]
inc ebx
push dword [ebp - 0xc]
push eax
push ebx
push str._D__cwnd_:__3d__fligth:__3d__rttspc:__4d___4d__r:__3d._3.3d_kb_s__loss___2.2d___
jmp 0x40af2a
jle 0x40aeaf
lea ebx, [eax - 1]
mov eax, ecx
cdq
idiv edi
push dword [ebp - 8]
and dword [esi + 0xc1fc], 0
mov dword [esi + 0xc1e4], ebx
push edx
push eax
mov eax, dword [esi + 0xc200]
cdq
idiv dword [esi + 0x4070]
push dword [ebp - 4]
inc ebx
push dword [ebp - 0xc]
push eax
push ebx
push str.__D__cwnd_:__3d__fligth:__3d__rttspc:__4d___4d__r:__3d._3.3d_kb_s__loss___2.2d___
jmp 0x40af2a
mov ebx, dword [esi + 0xc1fc]
xor edx, edx
inc edx
cmp ebx, edx
jne 0x40aef2
lea ebx, [eax + 1]
mov dword [esi + 0xc1fc], edx
mov eax, ecx
cdq
idiv edi
push dword [ebp - 8]
mov dword [esi + 0xc1e4], ebx
push edx
push eax
mov eax, dword [esi + 0xc200]
cdq
idiv dword [esi + 0x4070]
push dword [ebp - 4]
inc ebx
push dword [ebp - 0xc]
push eax
push ebx
push str._G__cwnd_:__3d__fligth:__3d__rttspc:__4d___4d__r:__3d._3.3d_kb_s__loss___2.2d___
jmp 0x40af2a
test ebx, ebx
jne 0x40af6f
and dword [esi + 0xc1fc], ebx
lea ebx, [eax - 1]
mov eax, ecx
cdq
idiv edi
push dword [ebp - 8]
mov dword [esi + 0xc1e4], ebx
push edx
push eax
mov eax, dword [esi + 0xc200]
cdq
idiv dword [esi + 0x4070]
push dword [ebp - 4]
inc ebx
push dword [ebp - 0xc]
push eax
push ebx
push str.__G__cwnd_:__3d__fligth:__3d__rttspc:__4d___4d__r:__3d._3.3d_kb_s__loss___2.2d___
mov edi, dword [sym.imp.USER32.dll_wsprintfA]
lea eax, [ebp - 0x101c]
push eax
call edi
add esp, 0x24
lea eax, [ebp - 0x101c]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov ebx, esi
call fcn.0040bb6f
lea eax, [ebp - 0x101c]
push 0x419fcc
push eax
call edi
pop ecx
pop ecx
lea eax, [ebp - 0x101c]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
jmp 0x40af7f
push 0x4c2
mov eax, str.VSoIoTcp.cpp
call fcn.004072fa
pop ecx
xor eax, eax
mov dword [esi + 0xc208], eax
mov dword [esi + 0xc204], eax
mov dword [esi + 0xc210], eax
mov dword [esi + 0xc20c], eax
xor ebx, ebx
push 3
pop eax
cmp dword [esi + 0xc1e4], eax
jge 0x40afac
mov dword [esi + 0xc1e4], eax
mov eax, dword [esi + 0x4074]
cmp dword [esi + 0xc1e4], eax
jle 0x40afc0
mov dword [esi + 0xc1e4], eax
mov eax, dword [esi + 0xc1e8]
cmp eax, ebx
je 0x40afd0
mov dword [esi + 0xc1e4], eax
push ebx
push dword [ebp - 0x18]
call fcn.0040b338
test eax, eax
je 0x40afed
push 0x4e1
mov eax, str.VSoIoTcp.cpp
call fcn.004072fa
pop ecx
mov eax, dword [esi + 0xc1e8]
cmp eax, ebx
je 0x40affd
mov dword [esi + 0xc1e4], eax
mov eax, dword [esi + 0x4070]
imul eax, dword [esi + 0xc1e4]
cmp eax, dword [esi + 0xc200]
jle 0x40b044
inc dword [esi + 0xc208]
jmp 0x40b044
movzx eax, cx
push eax
movzx eax, dx
push eax
lea eax, [ebp - 0x101c]
push str.DATA_ACK__m_tcp_sn_send_ackusn_recv_ack:__d_d__EXPROID..._r_n
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
lea eax, [ebp - 0x101c]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
pop edi
pop esi
pop ebx
leave
ret 4