Function at 0x47c230
Capabilities:
Resolve dns
Set socket configuration

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x49a98b
mov eax, dword fs:[0]
push eax
sub esp, 0xc4
mov eax, dword [0x4d04c0]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
movzx eax, byte [esi + 0x60]
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.00453150
mov edi, eax
push str.UDP:_open_socket_for_host:
push dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
mov dword [ebp - 4], 0
call fcn.004156b0
add esp, 0x10
lea ecx, [esi + 0xa8]
cmp dword [esi + 0xbc], 0xf
jbe 0x47c29f
mov ecx, dword [esi + 0xa8]
push dword [esi + 0xb8]
push ecx
push eax
call fcn.00416020
push str.__port:
push eax
call fcn.004156b0
add esp, 0x14
lea ecx, [esi + 0xc0]
cmp dword [esi + 0xd4], 0xf
jbe 0x47c2cf
mov ecx, dword [esi + 0xc0]
push dword [esi + 0xd0]
push ecx
push eax
call fcn.00416020
push str.__filter:
push eax
call fcn.004156b0
add esp, 0x14
mov ecx, edi
cmp dword [edi + 0x14], 0xf
jbe 0x47c2f4
mov ecx, dword [edi]
push dword [edi + 0x10]
push ecx
push eax
call fcn.00416020
mov ecx, dword [ebp - 0x14]
add esp, 0xc
mov dword [ebp - 4], 0xffffffff
cmp ecx, 0xf
jbe 0x47c33e
mov edx, dword [ebp - 0x28]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x47c334
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x47c334
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.00489a49
add esp, 8
cmp byte [esi + 0x60], 0
je 0x47c3cf
lea eax, [ebp - 0x28]
push eax
lea ecx, [esi + 0x50]
call fcn.0046e390
mov edi, eax
push str.__allowed:_
push dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
mov dword [ebp - 4], 1
call fcn.004156b0
add esp, 8
mov ecx, edi
cmp dword [edi + 0x14], 0xf
jbe 0x47c37a
mov ecx, dword [edi]
push dword [edi + 0x10]
push ecx
push eax
call fcn.00416020
push 0x49e39c
push eax
call fcn.004156b0
mov ecx, dword [ebp - 0x14]
add esp, 0x14
mov dword [ebp - 4], 0xffffffff
cmp ecx, 0xf
jbe 0x47c3cf
mov edx, dword [ebp - 0x28]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x47c3c5
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x47c3c5
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.00489a49
add esp, 8
cmp byte [esi + 0xe1], 0
jne 0x47c3e2
cmp byte [esi + 0x34], 0
jne 0x47c3e2
xor al, al
jmp 0x47c3e7
mov eax, 1
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.00453150
mov edi, eax
push str.__JSON:
push dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
mov dword [ebp - 4], 2
call fcn.004156b0
add esp, 0x10
mov ecx, edi
cmp dword [edi + 0x14], 0xf
jbe 0x47c417
mov ecx, dword [edi]
push dword [edi + 0x10]
push ecx
push eax
call fcn.00416020
cmp byte [esi + 0x34], 0
mov edx, 0x49d779
mov ecx, str.__FULL_
cmove ecx, edx
push ecx
push eax
call fcn.004156b0
mov ecx, dword [ebp - 0x14]
add esp, 0x14
mov dword [ebp - 4], 0xffffffff
cmp ecx, 0xf
jbe 0x47c479
mov edx, dword [ebp - 0x28]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x47c46f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x47c46f
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.00489a49
add esp, 8
cmp byte [esi + 0xe0], 0
je 0x47c495
push str.__broadcast:_true
push dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.004156b0
add esp, 8
mov eax, dword [esi + 0xd8]
test eax, eax
jle 0x47c4bb
push eax
push str.__reset:
push dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.004156b0
add esp, 8
mov ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___int_]
cmp dword [esi + 0xf4], 0
je 0x47c4fc
push str.__uuid:
push dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.004156b0
add esp, 8
lea ecx, [esi + 0xe4]
cmp dword [esi + 0xf8], 0xf
jbe 0x47c4ec
mov ecx, dword [esi + 0xe4]
push dword [esi + 0xf4]
push ecx
push eax
call fcn.00416020
add esp, 0xc
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
push 0x416670
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
cmp dword [esi + 0xa0], 0xffffffff
jne 0x47c692
cmp dword [esi + 0xd4], 0xf
lea ecx, [esi + 0xc0]
xorps xmm0, xmm0
mov dword [ebp - 0xd0], 0
movlpd qword [ebp - 0xc0], xmm0
movlpd qword [ebp - 0xb8], xmm0
mov dword [ebp - 0xcc], 0
mov dword [ebp - 0xc8], 2
mov dword [ebp - 0xc4], 0x11
jbe 0x47c566
mov ecx, dword [ecx]
cmp dword [esi + 0xbc], 0xf
lea eax, [esi + 0xa8]
jbe 0x47c577
mov eax, dword [eax]
lea edi, [esi + 0xa4]
push edi
lea edx, [ebp - 0xd0]
push edx
push ecx
push eax
call dword [sym.imp.WS2_32.dll_getaddrinfo]
test eax, eax
jne 0x47c608
mov ecx, dword [edi]
test ecx, ecx
je 0x47c608
push dword [ecx + 0xc]
push dword [ecx + 8]
push dword [ecx + 4]
call dword [sym.imp.WS2_32.dll_socket]
mov dword [esi + 0xa0], eax
cmp eax, 0xffffffff
je 0x47c6ad
lea ecx, [ebp - 0xa4]
mov dword [ebp - 0xa4], 1
push ecx
push 0x8004667e
push eax
call dword [sym.imp.WS2_32.dll_ioctlsocket]
cmp dword [esi + 0xd8], 0
jle 0x47c5ec
push 0
call dword [sym.imp.api_ms_win_crt_time_l1_1_0.dll__time64]
add esp, 4
mov dword [esi + 0xdc], eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00489ca8
mov esp, ebp
pop ebp
ret
push eax
call fcn.0047dcd0
add esp, 4
lea ecx, [ebp - 0x28]
push eax
call fcn.004168f0
lea eax, [esi + 0xa8]
mov dword [ebp - 4], 3
push eax
lea eax, [ebp - 0x70]
push str.UDP_network_address_and_or_port_not_valid:
push eax
call fcn.00415ab0
push str._port
push eax
lea eax, [ebp - 0x58]
mov byte [ebp - 4], 4
push eax
call fcn.004159d0
lea ecx, [esi + 0xc0]
mov byte [ebp - 4], 5
push ecx
push eax
lea eax, [ebp - 0x40]
push eax
call fcn.00415970
push str._code:
push eax
lea eax, [ebp - 0x88]
mov byte [ebp - 4], 6
push eax
call fcn.004159d0
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 7
push ecx
push eax
lea eax, [ebp - 0xa0]
push eax
call fcn.00415970
add esp, 0x3c
mov byte [ebp - 4], 8
jmp 0x47c6f4
push str.UDP:_internal_error__socket_already_defined.
lea ecx, [ebp - 0x1c]
call fcn.00419540
push 0x4abd04
lea eax, [ebp - 0x1c]
push eax
call sub.VCRUNTIME140.dll__CxxThrowException
lea eax, [esi + 0xa8]
push eax
lea eax, [ebp - 0x40]
push str.cannot_create_socket_for_UDP
push eax
call fcn.00415ab0
push str._port
push eax
lea eax, [ebp - 0x58]
mov dword [ebp - 4], 9
push eax
call fcn.004159d0
lea ecx, [esi + 0xc0]
mov byte [ebp - 4], 0xa
push ecx
push eax
lea eax, [ebp - 0x70]
push eax
call fcn.00415970
add esp, 0x24
mov byte [ebp - 4], 0xb
push eax
lea ecx, [ebp - 0xb0]
call fcn.004194f0
push 0x4abd04
lea eax, [ebp - 0xb0]
push eax
call sub.VCRUNTIME140.dll__CxxThrowException
int3