Function at 0x40a5c5
Capabilities:
Print debug messages

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1008
call fcn.004153f0
push ebx
push edi
mov ebx, ecx
mov edi, edx
cmp ebx, dword [edi + 0x4070]
jle 0x40a62c
push 0x375
mov eax, str.VSoIoTcp.cpp
call fcn.004072fa
cmp ebx, dword [edi + 0x4070]
pop ecx
jle 0x40a62c
push 0x376
mov eax, str.VSoIoTcp.cpp
call fcn.004072fa
cmp ebx, dword [edi + 0x4070]
pop ecx
jle 0x40a62c
push 0x377
mov eax, str.VSoIoTcp.cpp
call fcn.004072fa
cmp ebx, dword [edi + 0x4070]
pop ecx
jg 0x40a8e0
mov eax, dword [edi + 0x406c]
cmp eax, 5
je 0x40a640
cmp eax, 6
jne 0x40a8e0
movzx eax, word [esi + 0x12]
movzx ecx, word [edi + 0xc1ce]
mov edx, eax
sub edx, ecx
test dx, dx
jle 0x40a6c0
lea eax, [edi + 0x11260]
add dword [eax], 1
push 0
pop ebx
adc dword [eax + 4], ebx
mov al, byte [esi + 0x11]
mov byte [ebp - 4], al
test al, 4
je 0x40a674
mov eax, str.SEND_REPEAT_FAST
jmp 0x40a67c
push dword [ebp - 4]
call fcn.00409777
push eax
movzx eax, word [edi + 0xc1ce]
push eax
movzx eax, word [edi + 0xc1cc]
push eax
movzx eax, word [esi + 0x12]
push eax
lea eax, [ebp - 0x1008]
push 0x41a600
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x18
push 0x240010
push ebx
lea eax, [ebp - 0x1008]
push eax
push ebx
call dword [sym.imp.USER32.dll_MessageBoxA]
jmp 0x40a8be
movzx ecx, word [edi + 0xc1cc]
mov edx, eax
sub edx, ecx
test dx, dx
jg 0x40a713
lea eax, [edi + 0x11260]
add dword [eax], 1
adc dword [eax + 4], 0
mov al, byte [esi + 0x11]
mov byte [ebp - 4], al
test al, 4
je 0x40a6ee
mov eax, str.SEND_REPEAT_FAST
jmp 0x40a6f6
push dword [ebp - 4]
call fcn.00409777
push eax
movzx eax, word [edi + 0xc1ce]
push eax
movzx eax, word [edi + 0xc1cc]
push eax
movzx eax, word [esi + 0x12]
push eax
push 0x41a62c
jmp 0x40a76a
push dword [edi + 0x4070]
lea ecx, [edi + 0x8160]
push ecx
call fcn.0040c818
test eax, eax
jne 0x40a78c
lea eax, [edi + 0x11260]
add dword [eax], 1
adc dword [eax + 4], 0
mov al, byte [esi + 0x11]
mov byte [ebp - 4], al
test al, 4
je 0x40a747
mov eax, str.SEND_REPEAT_FAST
jmp 0x40a74f
push dword [ebp - 4]
call fcn.00409777
push eax
movzx eax, word [edi + 0xc1ce]
push eax
movzx eax, word [edi + 0xc1cc]
push eax
movzx eax, word [esi + 0x12]
push eax
push str.RECV_DATA_
lea eax, [ebp - 0x1008]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x18
lea eax, [ebp - 0x1008]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
jmp 0x40a8be
movzx ecx, word [edi + 0xc1c6]
movzx edx, cx
mov dword [ebp - 4], edx
movzx edx, word [esi + 0x14]
sub ecx, edx
test cx, cx
jge 0x40a7ab
mov word [edi + 0xc1c6], dx
movzx ecx, word [esi + 0x12]
mov dx, word [edi + 0xc1d0]
sub dx, cx
jns 0x40a7c2
mov word [edi + 0xc1d0], cx
and dword [eax + 0x14], 0
lea ecx, [ebx - 0x16]
push ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ecx
add eax, 0x18
push esi
push eax
call fcn.00412cf0
movzx eax, word [edi + 0xc1cc]
movzx ebx, ax
add esp, 0xc
mov dword [ebp - 8], ebx
lea ecx, [eax + 1]
lea edx, [edi + 0x8160]
jmp 0x40a805
inc word [edi + 0xc1cc]
movzx ecx, word [edi + 0xc1cc]
inc cx
call fcn.0040c967
test eax, eax
jne 0x40a7f5
mov ax, word [edi + 0xc1cc]
sub ax, bx
test ax, ax
jle 0x40a838
mov eax, edi
call fcn.0040a03a
test eax, eax
je 0x40a838
push 0x3b5
mov eax, str.VSoIoTcp.cpp
call fcn.004072fa
pop ecx
mov al, byte [esi + 0x10]
xor ebx, ebx
inc ebx
cmp al, bl
jb 0x40a846
cmp al, 6
jbe 0x40a856
push 0x3b9
mov eax, str.VSoIoTcp.cpp
call fcn.004072fa
pop ecx
mov al, byte [esi + 0x10]
cmp al, bl
jb 0x40a861
cmp al, 6
jbe 0x40a871
push 0x3ba
mov eax, str.VSoIoTcp.cpp
call fcn.004072fa
pop ecx
mov al, byte [esi + 0x10]
cmp al, bl
jb 0x40a87c
cmp al, 6
jbe 0x40a88c
push 0x3bb
mov eax, str.VSoIoTcp.cpp
call fcn.004072fa
pop ecx
lea eax, [edi + 0xc214]
inc dword [eax]
movzx ecx, byte [esi + 0x10]
mov eax, dword [eax]
cmp eax, ecx
jge 0x40a8be
mov ax, word [edi + 0xc1c6]
sub ax, word [ebp - 4]
cmp ax, bx
jne 0x40a8be
mov ax, word [edi + 0xc1cc]
sub ax, word [ebp - 8]
cmp ax, bx
jle 0x40a8e0
and dword [edi + 0xc214], 0
mov eax, esi
call fcn.0040b666
test eax, eax
je 0x40a8e0
push 0x3d6
mov eax, str.VSoIoTcp.cpp
call fcn.004072fa
pop ecx
pop edi
pop ebx
leave
ret