Function at 0x401cd0
Capabilities:
Send data
Send data on socket

Disassembly:
in eax, 0x5d
push ebp
mov ebp, esp
sub esp, 0x18
push esi
lea eax, [ebp - 0x18]
push edi
push eax
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
lea ecx, [ebp - 8]
lea edx, [ebp - 0x18]
push ecx
push edx
call dword [sym.imp.KERNEL32.dll_SystemTimeToFileTime]
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 8]
push 0
push 0x2710
push eax
push ecx
call fcn.00403810
mov esi, eax
mov edi, edx
jnp 0x401d23
jp 0x401d23
jns 0x401d8f
jns 0x401d91
jns 0x401d93
jns 0x401d95
jns 0x401d97
jns 0x401d99
jns 0x401d9b
jns 0x401cc5
mov eax, dword [0x40ad00]
test eax, eax
add byte [ebp - 0x3f7affc0], ch
jne 0x401d37
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x40ad00], eax
mov ecx, dword [0x40ad08]
push ebx
mov ebx, dword [0x40ad0c]
mov edx, ecx
or edx, ebx
pop ebx
jne 0x401d59
mov ecx, esi
mov dword [0x40ad0c], edi
mov dword [0x40ad08], ecx
sub eax, ecx
pop edi
add eax, esi
pop esi
mov esp, ebp
pop ebp
ret
adc eax, dword [eax]
add byte [eax], al
jp 0x401da6
or eax, 0x79000000
jns 0x401e15
add byte [eax], al
jns 0x401e14
jns 0x401e16
jns 0x401e17
jns 0x401e18
jns 0x401e19
jns 0x401e1a
jns 0x401e1b
jns 0x401e1c
jns 0x401e1d
jns 0x401e1e
jns 0x401e1f
jns 0x401e0d
mov ax, word [0x4062f4]
mov eax, dword [0x4062f4]
mov edi, dword [sym.imp.WS2_32.dll_htons]
push 0x100
mov word [ebx], ax
call edi
push 1
mov word [ebx + 2], ax
call edi
mov word [ebx + 4], ax
xor eax, eax
push 1
mov word [ebx + 6], ax
mov word [ebx + 8], ax
mov word [ebx + 0xa], ax
call edi
push 1
mov dword [ebp - 4], eax
call edi
mov edi, dword [ebp + 0x18]
mov dword [ebp - 8], eax
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edi, ecx
and ecx, 0xffff
add ecx, 2
push ecx
call dword [sym.imp.MSVCRT.dll_malloc]
mov esi, eax
add esp, 4
test esi, esi
mov dword [ebp - 0xc], esi
jne 0x401e16
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 0x18]
push ebp
sbb byte [ebx + 0x565702c7], al
add edi, 2
mov dword [edx], 0xe8525657
sub al, 0xfc
invalid
add dl, byte [edi + 0x56]
push edi
push esi
push edx
call fcn.00401a50
add esp, 0xc
test eax, eax
jne 0x401e32
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
jnp 0x401e52
jp 0x401e52
jns 0x401eb9
jns 0x401ebb
jns 0x401ebd
jns 0x401ebf
jns 0x401ec1
jns 0x401ec3
jns 0x401ec5
jns 0x401ec7
jns 0x401ec9
jns 0x401ecb
mov edi, esi
or ecx, 0xffffffff
xor eax, eax
add ebx, 0xc
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edi, ebx
mov eax, ecx
inc eax
mov dword [ebp + 0x18], eax
and eax, 0xffff
mov ecx, eax
add ebx, eax
mov edx, ecx
mov ax, word [ebp - 4]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
mov edx, dword [ebp - 0xc]
and ecx, 3
push edx
rep movsb byte es:[edi], byte [esi]
mov cx, word [ebp - 8]
mov word [ebx], ax
mov word [ebx + 2], cx
call dword [sym.imp.MSVCRT.dll_free]
add esp, 4
lea eax, [ebp + 8]
mov ecx, dword [0x4062f0]
mov edx, dword [0x4062fc]
push 0x10
push eax
mov eax, dword [ebp + 0x18]
push 0
add ax, 0x10
and eax, 0xffff
push eax
inc dword [eax]
add byte [eax + 0x51], dl
push ecx
push edx
call dword [sym.imp.WS2_32.dll_sendto]
add al, 0x43
inc eax
add byte [ebx], dh
leave
xor ecx, ecx
cmp eax, 0xffffffff
setne cl
pop edi
pop esi
mov eax, ecx
pop ebx
mov esp, ebp
dec dword [edi]
xchg ebp, eax
rcr dword [edi + 0x5e], 0x8b
rcr dword [ebx - 0x75], 0xe5
pop ebp
ret