Function at 0x18004edf0
Capabilities:
Resolve dns

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rbp
push rdi
push r14
lea rbp, [rsp - 0x47]
sub rsp, 0x90
xor eax, eax
mov ebx, r9d
mov r14, r8
mov qword [rdx], rax
mov qword [rdx + 8], rax
movzx eax, byte [rcx]
mov rdi, rdx
mov rsi, rcx
test al, al
jne 0x18004ef3d
xor eax, eax
mov qword [rbp + 0xf], rax
mov qword [rbp + 0x17], rax
mov qword [rbp + 0x1f], rax
mov qword [rbp + 0x27], rax
mov qword [rbp + 0x2f], rax
mov qword [rbp + 0x37], rax
mov eax, 2
mov dword [rbp + 0x13], ebx
mov dword [rbp + 0xf], 1
mov dword [rbp + 0x17], eax
call sym.extension.dll_PyEval_SaveThread
mov rcx, qword [0x18050def0]
mov edx, 1
mov rbx, rax
call sym.extension.dll_PyThread_acquire_lock
lea r9, [rbp + 7]
lea r8, [rbp + 0xf]
lea rdx, [0x18031972c]
xor ecx, ecx
call qword [sym.imp.WS2_32.dll_getaddrinfo]
mov rcx, rbx
mov esi, eax
call sym.extension.dll_PyEval_RestoreThread
mov rcx, qword [0x18050def0]
call sym.extension.dll_PyThread_release_lock
test esi, esi
je 0x18004eeaf
mov ecx, esi
call fcn.18004ebb0
or eax, 0xffffffff
jmp 0x18004ef8e
mov rsi, qword [rbp + 7]
mov eax, dword [rsi + 4]
cmp eax, 2
je 0x18004eeeb
cmp eax, 0x17
je 0x18004eee4
mov rcx, rsi
call qword [sym.imp.WS2_32.dll_freeaddrinfo]
mov rcx, qword [0x18050ded0]
lea rdx, str.unsupported_address_family
call sym.extension.dll_PyErr_SetString
or eax, 0xffffffff
jmp 0x18004ef8e
mov ebx, reloc.WS2_32.dll_recv
jmp 0x18004eef0
mov ebx, 4
cmp qword [rsi + 0x28], 0
je 0x18004ef18
mov rcx, rsi
call qword [sym.imp.WS2_32.dll_freeaddrinfo]
mov rcx, qword [0x18050ded0]
lea rdx, str.wildcard_resolved_to_multiple_address
call sym.extension.dll_PyErr_SetString
or eax, 0xffffffff
jmp 0x18004ef8e
cmp qword [rsi + 0x10], r14
mov rdx, qword [rsi + 0x20]
mov rcx, rdi
cmovb r14, qword [rsi + 0x10]
mov r8, r14
call fcn.180230800
mov rcx, rsi
call qword [sym.imp.WS2_32.dll_freeaddrinfo]
mov eax, ebx
jmp 0x18004ef8e
cmp al, 0x3c
jne 0x18004efa6
lea rdx, str._broadcast_
call fcn.180235250
test eax, eax
jne 0x18004efa6
test ebx, 0xfffffffd
je 0x18004ef71
mov rcx, qword [0x18050ded0]
lea rdx, str.address_family_mismatched
call sym.extension.dll_PyErr_SetString
or eax, 0xffffffff
jmp 0x18004ef8e
xor eax, eax
mov qword [rdi], rax
mov qword [rdi + 8], rax
mov eax, 2
mov word [rdi], ax
mov dword [rdi + 4], 0xffffffff
mov eax, 4
lea r11, [rsp + 0x90]
mov rbx, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rsp, r11
pop r14
pop rdi
pop rbp
ret
lea rax, [rbp + 0x67]
lea r9, [rbp - 5]
lea r8, [rbp - 9]
mov qword [rsp + 0x30], rax
lea rax, [rbp + 3]
lea rdx, str._d._d._d._d_c
mov qword [rsp + 0x28], rax
lea rax, [rbp - 1]
mov rcx, rsi
mov qword [rsp + 0x20], rax
call fcn.18023d4c4
cmp eax, 4
jne 0x18004f030
mov ecx, dword [rbp - 9]
cmp ecx, 0xff
ja 0x18004f030
mov eax, dword [rbp - 5]
cmp eax, 0xff
ja 0x18004f030
mov edx, dword [rbp - 1]
cmp edx, 0xff
ja 0x18004f030
mov r8d, dword [rbp + 3]
cmp r8d, 0xff
ja 0x18004f030
shl ecx, 8
or ecx, eax
shl ecx, 8
or ecx, edx
shl ecx, 8
or ecx, r8d
call qword [sym.imp.WS2_32.dll_htonl]
mov dword [rdi + 4], eax
mov eax, 2
mov word [rdi], ax
jmp 0x18004ef89
xor eax, eax
mov qword [rbp + 0xf], rax
mov dword [rbp + 0x13], ebx
mov qword [rbp + 0x17], rax
mov qword [rbp + 0x1f], rax
mov qword [rbp + 0x27], rax
mov qword [rbp + 0x2f], rax
mov qword [rbp + 0x37], rax
call sym.extension.dll_PyEval_SaveThread
mov rcx, qword [0x18050def0]
mov edx, 1
mov rbx, rax
call sym.extension.dll_PyThread_acquire_lock
lea r9, [rbp + 7]
lea r8, [rbp + 0xf]
xor edx, edx
mov rcx, rsi
call qword [sym.imp.WS2_32.dll_getaddrinfo]
mov rcx, rbx
mov esi, eax
call sym.extension.dll_PyEval_RestoreThread
mov rcx, qword [0x18050def0]
call sym.extension.dll_PyThread_release_lock
test esi, esi
jne 0x18004eea0
mov rbx, qword [rbp + 7]
mov rcx, rdi
cmp qword [rbx + 0x10], r14
mov rdx, qword [rbx + 0x20]
cmovb r14, qword [rbx + 0x10]
mov r8, r14
call fcn.180230800
mov rcx, rbx
call qword [sym.imp.WS2_32.dll_freeaddrinfo]
movzx eax, word [rdi]
cmp eax, 2
je 0x18004ef89
cmp eax, 0x17
je 0x18004f0e8
mov rcx, qword [0x18050ded0]
lea rdx, str.unknown_address_family
call sym.extension.dll_PyErr_SetString
or eax, 0xffffffff
jmp 0x18004ef8e
mov eax, reloc.WS2_32.dll_recv
jmp 0x18004ef8e