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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x428
mov eax, dword [0x41e004]
xor eax, ebp
mov dword [ebp - 8], eax
mov eax, dword [ebp + 8]
push ebx
push esi
push edi
mov edi, dword [sym.imp.WS2_32.dll_htons]
mov esi, ecx
push 1
mov ebx, edx
mov dword [ebp - 0x424], esi
mov dword [ebp - 0x418], eax
call edi
push 8
mov word [ebp - 0x3f4], ax
call edi
push 3
mov word [ebp - 0x3f2], ax
call edi
push 4
mov word [ebp - 0x3e0], ax
call edi
push 0
mov word [ebp - 0x3de], ax
call dword [sym.imp.WS2_32.dll_htonl]
mov dword [ebp - 0x3dc], eax
xorps xmm0, xmm0
mov eax, 2
movlpd qword [ebp - 0x3fc], xmm0
push 0xd96
mov word [ebp - 0x404], ax
call edi
push esi
mov word [ebp - 0x402], ax
call dword [sym.imp.WS2_32.dll_inet_addr]
mov dword [ebp - 0x400], eax
push dword [ebp - 0x402]
call dword [sym.imp.WS2_32.dll_ntohs]
movzx eax, ax
push eax
push esi
push str.Send_To__s:_d_n
call fcn.00401870
add esp, 0xc
lea eax, [ebp - 0x404]
push 0x10
push eax
push 0
push 0x1c
lea eax, [ebp - 0x3f4]
push eax
push dword [0x41e8b0]
call dword [sym.imp.WS2_32.dll_sendto]
mov eax, dword [ebp - 0x418]
mov ecx, ebx
mov edx, eax
call fcn.00401630
cmp dword [ebx + 4], 0
jne 0x40132e
push str.____STUN_prohibited_n
call fcn.00401870
add esp, 4
xor al, al
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.004018f4
mov esp, ebp
pop ebp
ret
push dword [ebp - 0x402]
call dword [sym.imp.WS2_32.dll_ntohs]
movzx eax, ax
push eax
push esi
push str.__Send_To__s:_d__Change_IP__Change_Port__n
call fcn.00401870
add esp, 0xc
push 6
call dword [sym.imp.WS2_32.dll_htonl]
push 0x10
mov dword [ebp - 0x3dc], eax
lea eax, [ebp - 0x404]
push eax
push 0
push 0x1c
lea eax, [ebp - 0x3f4]
push eax
push dword [0x41e8b0]
call dword [sym.imp.WS2_32.dll_sendto]
lea edx, [ebp - 0x40c]
mov dword [ebp - 0x414], 0
lea ecx, [ebp - 0x414]
mov dword [ebp - 0x410], 0
mov dword [ebp - 0x40c], 0
mov dword [ebp - 0x408], 0
call fcn.00401630
mov ecx, dword [ebp - 0x418]
mov eax, 0
cmp dword [ebp - 0x410], 0
mov esi, str.Full_Cone_NAT
cmove esi, eax
mov ax, word [ecx + 2]
mov word [ebp - 0x402], ax
mov eax, dword [ecx + 4]
mov dword [ebp - 0x400], eax
push dword [ebp - 0x402]
call dword [sym.imp.WS2_32.dll_ntohs]
movzx eax, ax
push eax
mov eax, dword [ebp - 0x418]
push dword [eax + 4]
call dword [sym.imp.WS2_32.dll_inet_ntoa]
push eax
push str.__Send_To__s:_d__Changed_Address__n
call fcn.00401870
add esp, 0xc
mov dword [ebp - 0x3dc], 0
lea eax, [ebp - 0x404]
push 0x10
push eax
push 0
push 0x1c
lea eax, [ebp - 0x3f4]
push eax
push dword [0x41e8b0]
call dword [sym.imp.WS2_32.dll_sendto]
lea edx, [ebp - 0x40c]
mov dword [ebp - 0x420], 0
lea ecx, [ebp - 0x420]
mov dword [ebp - 0x41c], 0
mov dword [ebp - 0x40c], 0
mov dword [ebp - 0x408], 0
call fcn.00401630
cmp dword [ebp - 0x41c], 0
jne 0x401528
test esi, esi
mov eax, str.Braindead_Firewall_Rules
push 0xd96
cmovne eax, esi
mov esi, eax
call edi
mov word [ebp - 0x402], ax
push dword [ebp - 0x402]
call dword [sym.imp.WS2_32.dll_ntohs]
movzx eax, ax
push eax
mov eax, dword [ebp - 0x418]
push dword [eax + 4]
call dword [sym.imp.WS2_32.dll_inet_ntoa]
push eax
push str.__Send_To__s:_d__Changed_Address__n
call fcn.00401870
add esp, 0xc
mov dword [ebp - 0x3dc], 0
lea eax, [ebp - 0x404]
push 0x10
push eax
push 0
push 0x1c
lea eax, [ebp - 0x3f4]
push eax
push dword [0x41e8b0]
call dword [sym.imp.WS2_32.dll_sendto]
lea edx, [ebp - 0x40c]
mov dword [ebp - 0x414], 0
lea ecx, [ebp - 0x414]
mov dword [ebp - 0x410], 0
mov dword [ebp - 0x40c], 0
mov dword [ebp - 0x408], 0
call fcn.00401630
mov eax, dword [ebx]
lea ecx, [ebp - 0x420]
cmp eax, dword [ecx]
jne 0x40153c
mov eax, dword [ebx + 4]
cmp eax, dword [ecx + 4]
je 0x401548
test esi, esi
mov eax, str.Symmetric_NAT
cmovne eax, esi
mov esi, eax
push 0xd96
call edi
mov edi, dword [ebp - 0x424]
push edi
mov word [ebp - 0x402], ax
call dword [sym.imp.WS2_32.dll_inet_addr]
mov dword [ebp - 0x400], eax
push dword [ebp - 0x402]
call dword [sym.imp.WS2_32.dll_ntohs]
movzx eax, ax
push eax
push edi
push str.__Send_To__s:_d__Change_Port__n
call fcn.00401870
add esp, 0xc
push 2
call dword [sym.imp.WS2_32.dll_htonl]
push 0x10
mov dword [ebp - 0x3dc], eax
lea eax, [ebp - 0x404]
push eax
push 0
push 0x1c
lea eax, [ebp - 0x3f4]
push eax
push dword [0x41e8b0]
call dword [sym.imp.WS2_32.dll_sendto]
lea edx, [ebp - 0x40c]
mov dword [ebp - 0x414], 0
lea ecx, [ebp - 0x414]
mov dword [ebp - 0x410], 0
mov dword [ebp - 0x40c], 0
mov dword [ebp - 0x408], 0
call fcn.00401630
test esi, esi
jne 0x401606
cmp dword [ebp - 0x410], 0
mov esi, str.Port_Restricted_Cone_NAT
mov eax, str.Restricted_Cone_NAT
cmovne esi, eax
push esi
push str._n_____s_n_n_n
call fcn.00401870
mov ecx, dword [ebp - 8]
add esp, 8
xor ecx, ebp
mov al, 1
pop edi
pop esi
pop ebx
call fcn.004018f4
mov esp, ebp
pop ebp
ret