Function at 0x414423
Capabilities:
Send data
Send data on socket
Set socket configuration

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
cmp dword [ebp + 8], 0
je 0x414431
jmp 0x41444f
push 0x459fe4
push 0x459fe8
push 1
push 0x1dc
push 0x459fec
call fcn.0040111d
add esp, 0x14
cmp dword [ebp + 0xc], 0
je 0x414457
jmp 0x414475
push 0x45a004
push 0x45a008
push 1
push 0x1dd
push 0x45a00c
call fcn.0040111d
add esp, 0x14
cmp dword [ebp + 0x10], 0
jle 0x41447d
jmp 0x41449b
push str.toWrite___0
push 0x45a030
push 1
push 0x1de
push 0x45a034
call fcn.0040111d
add esp, 0x14
cmp dword [ebp + 0x14], 0
je 0x4144a3
jmp 0x4144c1
push 0x45a04c
push 0x45a054
push 1
push 0x1df
push 0x45a058
call fcn.0040111d
add esp, 0x14
mov eax, dword [ebp + 0x14]
mov dword [eax], 0
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0xac]
and edx, 0x40
test edx, edx
je 0x4144f8
mov eax, dword [ebp + 0x14]
push eax
push 0x10
mov ecx, dword [ebp + 8]
push ecx
call fcn.004016b3
add esp, 0xc
test eax, eax
jne 0x4144f8
or eax, 0xffffffff
jmp 0x414653
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0xac]
and eax, 4
test eax, eax
je 0x41457b
mov word [ebp - 0x10], 2
mov dword [ebp - 0xc], 0xffffffff
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0xa8]
and edx, 0xffff
push edx
call sub.WSOCK32.dll_htons
mov word [ebp - 0xe], ax
push 0x10
lea eax, [ebp - 0x10]
push eax
push 0
mov ecx, dword [ebp + 0x10]
push ecx
mov edx, dword [ebp + 0xc]
push edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xb0]
push ecx
call sub.WSOCK32.dll_sendto
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
jge 0x414579
lea edx, [ebp - 0x10]
push edx
push 0
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0xb0]
push eax
call fcn.00414657
add esp, 0x14
mov dword [ebp - 0x14], eax
jmp 0x4145f6
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0xac]
and edx, 0x20
test edx, edx
je 0x4145da
mov word [ebp - 0x10], 2
mov eax, dword [ebp + 8]
push eax
call sub.WSOCK32.dll_inet_addr
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0xa8]
and edx, 0xffff
push edx
call sub.WSOCK32.dll_htons
mov word [ebp - 0xe], ax
push 0x10
lea eax, [ebp - 0x10]
push eax
push 0
mov ecx, dword [ebp + 0x10]
push ecx
mov edx, dword [ebp + 0xc]
push edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xb0]
push ecx
call sub.WSOCK32.dll_sendto
mov dword [ebp - 0x14], eax
jmp 0x4145f6
push 0
mov edx, dword [ebp + 0x10]
push edx
mov eax, dword [ebp + 0xc]
push eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0xb0]
push edx
call sub.WSOCK32.dll_send
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
jge 0x41461f
call fcn.00401302
mov ecx, dword [ebp + 0x14]
mov dword [ecx], eax
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0xbc]
and al, 0xfd
mov ecx, dword [ebp + 8]
mov dword [ecx + 0xbc], eax
or eax, 0xffffffff
jmp 0x414653
cmp dword [ebp - 0x14], 0
jne 0x414650
mov edx, dword [ebp - 0x14]
cmp edx, dword [ebp + 0x10]
je 0x414650
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x2733
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0xbc]
and edx, 0xfffffffd
mov eax, dword [ebp + 8]
mov dword [eax + 0xbc], edx
or eax, 0xffffffff
jmp 0x414653
mov eax, dword [ebp - 0x14]
mov esp, ebp
pop ebp
ret