Function at 0x41a3f0
Capabilities:
Create tcp socket
Create udp socket
Set socket configuration

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x100
push ebx
push esi
push edi
push ecx
lea edi, [ebp - 0x100]
mov ecx, 0x40
mov eax, 0xcccccccc
rep stosd dword es:[edi], eax
pop ecx
mov eax, dword [0x460280]
mov dword [ebp - 4], eax
mov dword [ebp - 0xc], ecx
mov esi, esp
push 0x11
push 2
push 2
call dword [sym.imp.WS2_32.dll_socket]
cmp esi, esp
call fcn.0043234a
mov ecx, dword [ebp - 0xc]
mov dword [ecx + 8], eax
push 0x10
push 0
lea eax, [ebp - 0x24]
push eax
call fcn.00432b00
add esp, 0xc
mov word [ebp - 0x24], 2
mov dword [ebp - 0x20], 0
mov word [ebp - 0x22], 0
mov esi, esp
push 0x10
lea eax, [ebp - 0x24]
push eax
mov ecx, dword [ebp - 0xc]
mov edx, dword [ecx + 8]
push edx
call dword [sym.imp.WS2_32.dll_bind]
cmp esi, esp
call fcn.0043234a
mov dword [ebp - 0x30], 1
mov esi, esp
push 4
lea eax, [ebp - 0x30]
push eax
push 0x20
push 0xffff
mov ecx, dword [ebp - 0xc]
mov edx, dword [ecx + 8]
push edx
call dword [sym.imp.WS2_32.dll_setsockopt]
cmp esi, esp
call fcn.0043234a
mov dword [ebp - 0x3c], eax
mov esi, esp
lea eax, [ebp - 0x30]
push eax
push 0x8004667e
mov ecx, dword [ebp - 0xc]
mov edx, dword [ecx + 8]
push edx
call dword [sym.imp.WS2_32.dll_ioctlsocket]
cmp esi, esp
call fcn.0043234a
mov dword [ebp - 0x3c], eax
mov ecx, dword [ebp - 0xc]
call fcn.004187f0
movzx eax, al
test eax, eax
jne 0x41a4ec
push str.search_device_fail__abort_r_n
push 0x40
push 0x462328
call fcn.00401280
add esp, 0xc
jmp 0x41a62f
mov ecx, dword [ebp - 0xc]
call fcn.00418d70
movzx eax, al
test eax, eax
jne 0x41a514
push str.prepare_get_description_xml_fail__abort_r_n
push 0x40
push 0x462328
call fcn.00401280
add esp, 0xc
jmp 0x41a62f
mov eax, dword [ebp - 0xc]
mov byte [eax + 0x46c], 1
mov eax, dword [ebp - 0xc]
mov byte [eax + 0x46d], 0
mov ecx, dword [ebp - 0xc]
call fcn.004197f0
movzx eax, al
test eax, eax
jne 0x41a550
push str.get_description_xml_fail__abort_r_n
push 0x40
push 0x462328
call fcn.00401280
add esp, 0xc
jmp 0x41a62f
mov ecx, dword [ebp - 0xc]
call fcn.00418f50
movzx eax, al
test eax, eax
jne 0x41a578
push str.prepare_get_external_ip_address_fail__abort_r_n
push 0x40
push 0x462328
call fcn.00401280
add esp, 0xc
jmp 0x41a62f
mov eax, dword [ebp - 0xc]
mov byte [eax + 0x46c], 1
mov eax, dword [ebp - 0xc]
mov byte [eax + 0x46d], 1
mov ecx, dword [ebp - 0xc]
call fcn.004197f0
movzx eax, al
test eax, eax
jne 0x41a5b1
push str.get_external_ip_address_fail__abort_r_n
push 0x40
push 0x462328
call fcn.00401280
add esp, 0xc
jmp 0x41a62f
push 0x457bb4
mov ax, word [0x462330]
push eax
push 1
mov ecx, dword [ebp - 0xc]
call fcn.004194e0
movzx ecx, al
test ecx, ecx
jne 0x41a5e4
push str.prepare_AddPortMappingHeader_fail__abort_r_n
push 0x40
push 0x462328
call fcn.00401280
add esp, 0xc
jmp 0x41a62f
mov eax, dword [ebp - 0xc]
mov byte [eax + 0x46c], 0
mov eax, dword [ebp - 0xc]
mov byte [eax + 0x46d], 0
mov ecx, dword [ebp - 0xc]
call fcn.004197f0
movzx eax, al
test eax, eax
jne 0x41a61b
push str.AddPortMappingHeader_fail__abort_r_n
push 0x40
push 0x462328
call fcn.00401280
add esp, 0xc
push str.AddPortMapping_success_r_n
push 0x40
push 0x462328
call fcn.00401280
add esp, 0xc
mov esi, esp
push 0
push 0
push 0x468
mov eax, dword [0x462378]
mov ecx, dword [eax + 4]
push ecx
call dword [sym.imp.USER32.dll_PostMessageA]
cmp esi, esp
call fcn.0043234a
push edx
mov ecx, ebp
push eax
lea edx, [0x41a67d]
call fcn.0043236d
pop eax
pop edx
mov ecx, dword [ebp - 4]
call fcn.00432663
pop edi
pop esi
pop ebx
add esp, 0x100
cmp ebp, esp
call fcn.0043234a
mov esp, ebp
pop ebp
ret