Function at 0x14003cf40
Capabilities:
Resolve dns

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x168
mov rdi, qword [sym.imp.libssp_0.dll___stack_chk_guard]
mov rax, qword [rdi]
mov qword [rsp + 0x158], rax
mov rax, qword [0x14009f0d0]
mov r14, rcx
mov dword [rsp + 0x1b8], edx
mov rbp, r8
mov ecx, dword [rax]
test ecx, ecx
jne 0x14003d4ab
mov eax, dword [r14]
cmp eax, 2
je 0x14003d299
ja 0x14003cfd8
test eax, eax
je 0x14003d037
lea rax, str.unix_sockets_are_not_available_on_windows
mov r8d, 0x441
mov rcx, rbp
mov qword [rsp + 0x20], rax
lea r9, str.unix_listen_saddr
lea rdx, str..._util_qemu_sockets.c
call dbg.error_setg_internal
call qword [sym.imp.msvcrt.dll__errno]
mov dword [rax], 0x81
mov ebx, 0xffffffff
jmp 0x14003d009
cmp eax, 3
jne 0x14003d696
mov rcx, qword [r14 + 8]
mov rdx, rbp
call dbg.socket_get_fd
mov ebx, eax
test eax, eax
js 0x14003cfcd
mov edx, dword [rsp + 0x1b8]
mov ecx, eax
call dbg.qemu_listen_wrap
test eax, eax
jne 0x14003d624
mov rdi, qword [sym.imp.libssp_0.dll___stack_chk_guard]
mov rax, qword [rsp + 0x158]
sub rax, qword [rdi]
jne 0x14003d664
mov eax, ebx
add rsp, 0x168
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
movzx r15d, byte [r14 + 0x23]
lea rcx, [r14 + 8]
mov qword [rsp + 0x78], 0
test r15b, r15b
jne 0x14003d59b
pxor xmm0, xmm0
cmp byte [r14 + 0x18], 0
mov dword [rsp + 0x80], 1
movups xmmword [rsp + 0x94], xmm0
movups xmmword [rsp + 0x84], xmm0
movups xmmword [rsp + 0xa0], xmm0
jne 0x14003d2c6
lea rdx, [rsp + 0x78]
call dbg.inet_ai_family_from_address
mov rdx, qword [rsp + 0x78]
mov dword [rsp + 0x88], 1
mov dword [rsp + 0x84], eax
test rdx, rdx
jne 0x14003d5c8
mov rcx, qword [r14 + 8]
test rcx, rcx
je 0x14003d669
mov rdx, qword [r14 + 0x10]
test rdx, rdx
je 0x14003d2e1
lea rbx, [rsp + 0xb0]
mov r8, rdx
mov edx, 0x21
mov rcx, rbx
call sym.pstrcpy
cmp byte [rsp + 0xb0], 0
mov rcx, qword [r14 + 8]
je 0x14003d594
mov rdx, rbx
xor eax, eax
cmp byte [rcx], 0
lea r9, [rsp + 0x70]
cmove rcx, rax
lea r8, [rsp + 0x80]
call qword [sym.imp.WS2_32.dll_getaddrinfo]
test eax, eax
jne 0x14003d5d5
mov r13, qword [rsp + 0x70]
test r13, r13
je 0x14003d588
lea rax, [rsp + 0x110]
mov qword [rsp + 0x58], rbp
mov rdi, qword [sym.imp.msvcrt.dll__errno]
mov r12d, r15d
mov qword [rsp + 0x50], rax
lea rax, [rsp + 0xe0]
mov r15, r13
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x48]
mov rcx, qword [r15 + 0x20]
mov r9d, 0x41
mov rdx, qword [r15 + 0x10]
mov r8, qword [rsp + 0x50]
mov dword [rsp + 0x30], 0xa
mov dword [rsp + 0x28], 0x20
mov qword [rsp + 0x20], rax
call qword [sym.imp.WS2_32.dll_getnameinfo]
mov ecx, dword [r15 + 4]
cmp ecx, 2
je 0x14003d418
cmp ecx, 0x17
je 0x14003d418
cmp byte [r14 + 0x1a], 0
je 0x14003d526
movzx r13d, word [r14 + 0x1c]
xor r8d, r8d
nop
mov dword [rsp + 0x44], r8d
mov esi, r8d
mov rbp, r15
nop dword [rax + rax]
cmp ecx, 2
je 0x14003d1ca
cmp ecx, 0x17
jne 0x14003d1dd
mov rbx, qword [rbp + 0x20]
mov ecx, esi
call qword [sym.imp.WS2_32.dll_htons]
mov word [rbx + 2], ax
mov ecx, dword [rbp + 4]
mov edx, dword [rbp + 8]
mov r8d, dword [rbp + 0xc]
call dbg.qemu_socket
mov ebx, eax
test eax, eax
js 0x14003d2f0
mov ecx, eax
call dbg.socket_set_fast_reuse
cmp byte [r14 + 0x1e], 0
je 0x14003d408
cmp byte [r14 + 0x1f], 0
mov eax, 1
je 0x14003d228
cmp byte [r14 + 0x20], 0
je 0x14003d228
movzx eax, byte [r14 + 0x21]
xor eax, 1
movzx eax, al
nop dword [rax + rax]
lea r12, [rsp + 0x6c]
jmp 0x14003d270
mov rdx, qword [rbp + 0x20]
mov r8d, dword [rbp + 0x10]
mov ecx, ebx
call dbg.qemu_bind_wrap
mov r15d, eax
test eax, eax
je 0x14003d390
cmp dword [rbp + 4], 0x17
jne 0x14003d310
call rdi
cmp dword [rax], 0x64
jne 0x14003d310
mov edx, dword [rsp + 0x6c]
mov eax, 1
test edx, edx
jne 0x14003d310
cmp dword [rbp + 4], 0x17
mov dword [rsp + 0x6c], eax
jne 0x14003d230
mov r9, r12
mov r8d, 0x1b
mov edx, 0x29
mov ecx, ebx
mov dword [rsp + 0x20], 4
call dbg.qemu_setsockopt_wrap
jmp 0x14003d230
lea rax, str.socket_family_AF_VSOCK_unsupported
mov r8d, 0x374
mov rcx, rbp
mov qword [rsp + 0x20], rax
lea r9, str.vsock_unsupported
lea rdx, str..._util_qemu_sockets.c
call dbg.error_setg_internal
jmp 0x14003cfcd
cmp byte [r14 + 0x19], 0
je 0x14003d084
mov dword [rsp + 0x80], 0xd
jmp 0x14003d084
mov byte [rsp + 0xb0], 0
jmp 0x14003d0f5
mov eax, dword [rsp + 0x44]
cmp esi, eax
jne 0x14003d454
add esi, 1
cmp esi, r13d
jg 0x14003d33d
mov ecx, dword [rbp + 4]
jmp 0x14003d1c0
test r15d, r15d
jns 0x14003d390
mov r12, qword [sym.imp.msvcrt.dll__errno]
call r12
cmp dword [rax], 0x64
jne 0x14003d541
mov ecx, ebx
add esi, 1
mov r12d, 1
call dbg.qemu_closesocket_wrap
cmp esi, r13d
jle 0x14003d304
mov r15, rbp
mov r15, qword [r15 + 0x28]
test r15, r15
jne 0x14003d153
mov rbp, qword [rsp + 0x58]
test r12b, r12b
je 0x14003d588
lea rbx, str.Failed_to_find_an_available_port
mov r15, qword [sym.imp.msvcrt.dll__errno]
call r15
mov qword [rsp + 0x28], rbx
lea r9, str.inet_listen_saddr
mov r8d, 0x150
mov eax, dword [rax]
mov dword [rsp + 0x20], eax
jmp 0x14003d482
mov edx, dword [rsp + 0x1b8]
mov ecx, ebx
call dbg.qemu_listen_wrap
test eax, eax
je 0x14003d531
mov r12, qword [sym.imp.msvcrt.dll__errno]
call r12
cmp dword [rax], 0x64
je 0x14003d328
mov rbp, qword [rsp + 0x58]
lea rdi, str.Failed_to_listen_on_socket
mov r15, r12
call r12
mov qword [rsp + 0x28], rdi
lea r9, str.inet_listen_saddr
mov r8d, 0x143
mov eax, dword [rax]
mov dword [rsp + 0x20], eax
mov rcx, rbp
lea rdx, str..._util_qemu_sockets.c
call dbg.error_setg_errno_internal
call r15
mov ecx, ebx
mov esi, dword [rax]
call dbg.qemu_closesocket_wrap
jmp 0x14003d496
movzx eax, byte [r14 + 0x20]
jmp 0x14003d228
mov rax, qword [r15 + 0x20]
movzx ecx, word [rax + 2]
call qword [sym.imp.WS2_32.dll_ntohs]
cmp byte [r14 + 0x1a], 0
movzx r8d, ax
jne 0x14003d43d
mov ecx, dword [r15 + 4]
mov r13d, r8d
jmp 0x14003d1b0
movzx r13d, word [r14 + 0x1c]
cmp r13d, r8d
jl 0x14003d340
mov ecx, dword [r15 + 4]
jmp 0x14003d1b0
mov rbp, qword [rsp + 0x58]
mov r15, qword [sym.imp.msvcrt.dll__errno]
lea rdi, str.Failed_to_recreate_failed_listening_socket
call r15
mov qword [rsp + 0x28], rdi
lea r9, str.inet_listen_saddr
mov r8d, 0x131
mov eax, dword [rax]
mov dword [rsp + 0x20], eax
lea rdx, str..._util_qemu_sockets.c
mov rcx, rbp
call dbg.error_setg_errno_internal
call r15
mov esi, dword [rax]
mov rcx, qword [rsp + 0x70]
call qword [sym.imp.WS2_32.dll_freeaddrinfo]
call r15
mov dword [rax], esi
jmp 0x14003cfcd
mov rax, qword [str.dP_v_]
cmp word [rax], 0
je 0x14003cf83
mov rax, qword [0x14009ed50]
mov eax, dword [rax]
test ah, 0x80
je 0x14003cf83
mov rax, qword [str.Y3_v_]
cmp byte [rax], 0
je 0x14003d570
lea rcx, [rsp + 0x80]
xor edx, edx
call sym.gettimeofday
movsxd rsi, dword [rsp + 0x84]
movsxd rbx, dword [rsp + 0x80]
call sym.qemu_get_thread_id
lea rcx, str._d__zu._06zu:socket_listen_backlog:__d_n
mov edx, eax
mov eax, dword [rsp + 0x1b8]
mov r9, rsi
mov r8, rbx
mov dword [rsp + 0x20], eax
call dbg.qemu_log
jmp 0x14003cf83
xor r8d, r8d
xor r13d, r13d
jmp 0x14003d1b0
mov rcx, qword [rsp + 0x70]
call qword [sym.imp.WS2_32.dll_freeaddrinfo]
jmp 0x14003d009
mov rbp, qword [rsp + 0x58]
lea rdi, str.Failed_to_bind_socket
mov r15, r12
call r12
mov qword [rsp + 0x28], rdi
lea r9, str.inet_listen_saddr
mov r8d, 0x13b
mov eax, dword [rax]
mov dword [rsp + 0x20], eax
jmp 0x14003d3e3
mov edx, dword [rsp + 0x1b8]
lea rcx, str.socket_listen_backlog:__d_n
call dbg.qemu_log
jmp 0x14003cf83
lea rbx, str.Failed_to_create_a_socket
jmp 0x14003d362
xor edx, edx
jmp 0x14003d0f5
lea rax, str.keep_alive_option_is_not_supported_for_passive_sockets
mov r8d, 0xe1
mov rcx, rbp
mov qword [rsp + 0x20], rax
lea r9, str.inet_listen_saddr
lea rdx, str..._util_qemu_sockets.c
call dbg.error_setg_internal
jmp 0x14003cfcd
mov rcx, rbp
call sym.error_propagate
jmp 0x14003cfcd
mov ecx, eax
call sym.gai_strerrorA
lea r9, str.inet_listen_saddr
mov r8d, 0x112
mov rcx, rbp
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0xb0]
lea rdx, str..._util_qemu_sockets.c
mov qword [rsp + 0x30], rax
mov rax, qword [r14 + 8]
mov qword [rsp + 0x28], rax
lea rax, str.address_resolution_failed_for__s:_s:__s
mov qword [rsp + 0x20], rax
call dbg.error_setg_internal
jmp 0x14003cfcd
call qword [sym.imp.msvcrt.dll__errno]
lea rdi, str.Failed_to_listen_on_fd_socket
mov rcx, rbp
lea r9, global___func__.242
mov qword [rsp + 0x28], rdi
mov eax, dword [rax]
mov r8d, 0x4f5
lea rdx, str..._util_qemu_sockets.c
mov dword [rsp + 0x20], eax
call dbg.error_setg_errno_internal
mov ecx, ebx
call dbg.qemu_closesocket_wrap
jmp 0x14003cfcd
call sym.__stack_chk_fail
lea rax, str.host_not_specified
mov r8d, 0xf4
mov rcx, rbp
mov qword [rsp + 0x20], rax
lea r9, str.inet_listen_saddr
lea rdx, str..._util_qemu_sockets.c
call dbg.error_setg_internal
jmp 0x14003cfcd
call sym.abort
nop
nop dword [rax]