Function at 0x46bc50
Capabilities:
Resolve dns

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x484c8b
mov eax, dword fs:[0]
push eax
sub esp, 0xc4
mov eax, dword [0x4b3af4]
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 + 0x64]
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.00446830
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
lea ebx, [esi + 0x20]
call fcn.00413270
add esp, 0x10
mov ecx, ebx
cmp dword [ebx + 0x14], 0x10
jb 0x46bcb7
mov ecx, dword [ebx]
push dword [ebx + 0x10]
push ecx
push eax
call fcn.00413ba0
lea ecx, [esi + 0x38]
push str.__port:
push eax
mov dword [ebp - 0xa4], ecx
call fcn.00413270
add esp, 0x14
lea ecx, [esi + 0x38]
cmp dword [esi + 0x4c], 0x10
mov edx, eax
jb 0x46bce6
mov ecx, dword [esi + 0x38]
push dword [esi + 0x48]
push ecx
push edx
call fcn.00413ba0
push str.__filter:
push eax
call fcn.00413270
add esp, 0x14
mov ecx, edi
cmp dword [edi + 0x14], 0x10
jb 0x46bd08
mov ecx, dword [edi]
push dword [edi + 0x10]
push ecx
push eax
call fcn.00413ba0
mov ecx, dword [ebp - 0x14]
add esp, 0xc
mov dword [ebp - 4], 0xffffffff
cmp ecx, 0x10
jb 0x46bd52
mov edx, dword [ebp - 0x28]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x46bd48
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x46bd48
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.0047607b
add esp, 8
cmp byte [esi + 0x64], 0
je 0x46bde6
lea eax, [ebp - 0x28]
push eax
lea ecx, [esi + 0x58]
call fcn.004602b0
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.00413270
add esp, 8
mov ecx, edi
cmp dword [edi + 0x14], 0x10
jb 0x46bd8e
mov ecx, dword [edi]
push 0x48a48c
push dword [edi + 0x10]
push ecx
push eax
call fcn.00413ba0
add esp, 0xc
push eax
call fcn.00413270
mov ecx, dword [ebp - 0x14]
add esp, 8
mov dword [ebp - 4], 0xffffffff
cmp ecx, 0x10
jb 0x46bde6
mov edx, dword [ebp - 0x28]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x46bddc
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x46bddc
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.0047607b
add esp, 8
movzx eax, byte [esi + 0x69]
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.00446830
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.00413270
add esp, 0x10
mov ecx, edi
cmp dword [edi + 0x14], 0x10
jb 0x46be1a
mov ecx, dword [edi]
push dword [edi + 0x10]
push ecx
push eax
call fcn.00413ba0
mov ecx, dword [ebp - 0x14]
add esp, 0xc
mov dword [ebp - 4], 0xffffffff
cmp ecx, 0x10
jb 0x46be64
mov edx, dword [ebp - 0x28]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x46be5a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x46be5a
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.0047607b
add esp, 8
cmp byte [esi + 0x68], 0
je 0x46be7d
push str.__broadcast:_true
push dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.00413270
add esp, 8
mov eax, dword [esi + 0x50]
test eax, eax
jle 0x46bea0
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.00413270
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_]
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
push 0x4140e0
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 + 0x14], 0xffffffff
jne 0x46bff5
cmp dword [esi + 0x4c], 0x10
lea ecx, [esi + 0x38]
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
jb 0x46bf02
mov ecx, dword [esi + 0x38]
cmp dword [ebx + 0x14], 0x10
mov eax, ebx
jb 0x46bf0c
mov eax, dword [ebx]
lea edi, [esi + 0x18]
push edi
lea edx, [ebp - 0xd0]
push edx
push ecx
push eax
call dword [sym.imp.WS2_32.dll_getaddrinfo]
test eax, eax
jne 0x46bf74
mov ecx, dword [edi]
test ecx, ecx
je 0x46bf74
push dword [ecx + 0xc]
push dword [ecx + 8]
push dword [ecx + 4]
call dword [sym.imp.WS2_32.dll_socket]
mov dword [esi + 0x14], eax
cmp eax, 0xffffffff
je 0x46c010
cmp dword [esi + 0x50], 0
jle 0x46bf58
push 0
call dword [sym.imp.api_ms_win_crt_time_l1_1_0.dll__time64]
add esp, 4
mov dword [esi + 0x54], 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.004762da
mov esp, ebp
pop ebp
ret
push eax
call fcn.0046d670
add esp, 4
lea ecx, [ebp - 0x28]
push eax
call fcn.004143f0
push ebx
lea eax, [ebp - 0x70]
mov dword [ebp - 4], 3
push str.UDP_network_address_and_or_port_not_valid:
push eax
call fcn.00413670
push str._port
push eax
lea eax, [ebp - 0x58]
mov byte [ebp - 4], 4
push eax
call fcn.00413590
lea ecx, [esi + 0x38]
mov byte [ebp - 4], 5
push ecx
push eax
lea eax, [ebp - 0x40]
push eax
call fcn.00413530
push str._code:
push eax
lea eax, [ebp - 0x88]
mov byte [ebp - 4], 6
push eax
call fcn.00413590
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 7
push ecx
push eax
lea eax, [ebp - 0xa0]
push eax
call fcn.00413530
add esp, 0x3c
mov byte [ebp - 4], 8
jmp 0x46c051
push str.UDP:_internal_error__socket_already_defined.
lea ecx, [ebp - 0x1c]
call fcn.004160f0
push 0x493c0c
lea eax, [ebp - 0x1c]
push eax
call sub.VCRUNTIME140.dll__CxxThrowException
push ebx
lea eax, [ebp - 0x40]
push str.cannot_create_socket_for_UDP
push eax
call fcn.00413670
push str._port
push eax
lea eax, [ebp - 0x58]
mov dword [ebp - 4], 9
push eax
call fcn.00413590
mov ecx, dword [ebp - 0xa4]
push ecx
push eax
lea eax, [ebp - 0x70]
mov byte [ebp - 4], 0xa
push eax
call fcn.00413530
add esp, 0x24
mov byte [ebp - 4], 0xb
push eax
lea ecx, [ebp - 0xb0]
call fcn.004160a0
push 0x493c0c
lea eax, [ebp - 0xb0]
push eax
call sub.VCRUNTIME140.dll__CxxThrowException
int3