Function at 0x140143a20
Capabilities:
Receive data
Receive data on socket

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x700
mov rax, qword [0x1402b87c0]
xor rax, rsp
mov qword [rsp + 0x6f0], rax
mov rdi, r9
mov qword [rsp + 0x58], r9
mov rbx, r8
movsxd r12, edx
mov dword [rsp + 0x64], r12d
mov qword [rsp + 0x78], rcx
mov rax, qword [rsp + 0x760]
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x768]
mov qword [rsp + 0x70], rax
mov r15, qword [rsp + 0x778]
mov rsi, qword [rsp + 0x780]
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsp + 0x98], xmm0
mov qword [rsp + 0xa8], rax
lea r8, str.dns_over_udp
mov rdx, rsi
lea rcx, [rsp + 0x98]
call fcn.14004ed30
nop
mov rcx, rdi
call fcn.14003f010
cmp eax, 0x200
jbe 0x140143ad3
lea rdx, str.DNS_request_is_greater_than_512_bytes.
jmp 0x140144067
test rbx, rbx
je 0x140144060
test r12d, r12d
jle 0x140144060
call fcn.140115550
test al, al
jne 0x140143afa
lea rdx, str.WSAStartup_failed.
jmp 0x140144067
mov r9, rsi
mov r8, r15
mov r13d, dword [rsp + 0x770]
mov edx, r13d
mov rcx, rbx
call fcn.140144ed0
test al, al
jne 0x140143b23
lea rdx, str.UDP_init_for_nameserver_1_failed.
jmp 0x140144067
xor ebp, ebp
mov r14d, ebp
mov dword [rsp + 0x50], ebp
mov rdi, r12
cmp r12d, 1
jne 0x140143c9c
mov r13d, 0x7d0
mov eax, dword [rsp + 0x770]
test eax, eax
cmovne r13d, eax
mov r12d, 0x5dc
cmp r13d, r12d
cmovb r12d, r13d
mov eax, r13d
sub eax, r12d
mov dword [rsp + 0x60], eax
mov qword [rsp + 0x20], rsi
mov r9, r15
mov r8d, r13d
mov rdx, qword [rsp + 0x58]
mov rcx, rbx
call fcn.140145520
test al, al
jne 0x140143b8b
lea rdx, str.1st_UDP_send_for_nameserver_1_failed.
jmp 0x140143c62
mov rdx, rsi
mov rcx, r15
call fcn.140077070
test al, al
jne 0x140143c6b
mov dword [rsp + 0x50], 0xffffffff
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x20], r15
mov r9d, r12d
lea r8, [rsp + 0x50]
mov rdx, rbx
mov ecx, 1
call fcn.140145670
test al, al
jne 0x140143d9d
cmp byte [r15 + 0x29], bpl
jne 0x140143c6b
cmp byte [r15 + 0x2a], bpl
jne 0x140143c6b
mov r12d, dword [rsp + 0x60]
test r12d, r12d
jne 0x140143bf4
lea rdx, str.DNS_timeout.
jmp 0x140143c62
mov qword [rsp + 0x20], rsi
mov r9, r15
mov r8d, r13d
mov rdx, qword [rsp + 0x58]
mov rcx, rbx
call fcn.140145520
test al, al
jne 0x140143c19
lea rdx, str.2nd_UDP_send_for_nameserver_1_failed.
jmp 0x140143c62
mov rdx, rsi
mov rcx, r15
call fcn.140077070
test al, al
jne 0x140143c6b
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x20], r15
mov r9d, r12d
lea r8, [rsp + 0x50]
mov rdx, rbx
mov ecx, 1
call fcn.140145670
test al, al
jne 0x140143d9d
cmp byte [r15 + 0x29], bpl
jne 0x140143c6b
cmp byte [r15 + 0x2a], bpl
jne 0x140143c6b
lea rdx, str.Waited__but_no_data_ready_on_UDP_socket.
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x28]
test rdi, rdi
je 0x140144070
mov rcx, qword [rbx]
cmp rcx, 0xffffffffffffffff
je 0x140143c8a
call qword [sym.imp.WS2_32.dll_closesocket]
mov qword [rbx], 0xffffffffffffffff
add rbx, 0xb0
sub rdi, 1
jne 0x140143c74
jmp 0x140144070
mov qword [rsp + 0x28], rsi
mov r9d, r13d
mov r8, qword [rsp + 0x58]
mov rdx, rbx
lea rcx, [rsp + 0x50]
mov qword [rsp + 0x20], r15
cmp dword [0x1402bda08], 0xa
jne 0x140143d22
call fcn.1401452b0
test al, al
jne 0x140143cf9
test r12d, r12d
je 0x140144070
mov rcx, qword [rbx]
cmp rcx, 0xffffffffffffffff
je 0x140143ce7
call qword [sym.imp.WS2_32.dll_closesocket]
mov qword [rbx], 0xffffffffffffffff
add rbx, 0xb0
sub rdi, 1
jne 0x140143cd1
jmp 0x140144070
movsxd r14, dword [rsp + 0x50]
test r14d, r14d
jle 0x140143d1e
imul rcx, r14, 0xb0
add rcx, 0x20
add rcx, rbx
call fcn.140032750
mov rcx, rax
call fcn.1400916e0
mov eax, ebp
jmp 0x140143d89
call fcn.140144fc0
test al, al
jne 0x140143d5c
test r12d, r12d
je 0x140144070
mov rcx, qword [rbx]
cmp rcx, 0xffffffffffffffff
je 0x140143d4a
call qword [sym.imp.WS2_32.dll_closesocket]
mov qword [rbx], 0xffffffffffffffff
add rbx, 0xb0
sub rdi, 1
jne 0x140143d34
jmp 0x140144070
movsxd r14, dword [rsp + 0x50]
test r14d, r14d
jle 0x140143d81
imul rcx, r14, 0xb0
add rcx, 0x20
add rcx, rbx
call fcn.140032750
mov rcx, rax
call fcn.1400916e0
mov eax, dword [0x1402bda08]
inc eax
mov dword [0x1402bda08], eax
cmp r12d, 2
jle 0x140143d9d
mov rcx, rsi
call fcn.140090dd0
xor edx, edx
mov r8d, 0x640
lea rcx, [rsp + 0xb0]
call fcn.140011940
mov rdx, rsi
mov rcx, r15
call fcn.140077070
test al, al
je 0x140143e08
mov rax, qword [rsi]
mov rdx, qword [str.DNS_query_aborted_by_application.]
mov rcx, rsi
call qword [rax + 0x28]
test rdi, rdi
je 0x140144070
nop word [rax + rax]
mov rcx, qword [rbx]
cmp rcx, 0xffffffffffffffff
je 0x140143df6
call qword [sym.imp.WS2_32.dll_closesocket]
mov qword [rbx], 0xffffffffffffffff
add rbx, 0xb0
sub rdi, 1
jne 0x140143de0
jmp 0x140144070
movsxd rax, r14d
imul r12, rax, 0xb0
xor r9d, r9d
mov r8d, 0x640
lea rdx, [rsp + 0xb0]
mov rcx, qword [r12 + rbx]
call qword [sym.imp.WS2_32.dll_recv]
mov r13d, eax
cmp eax, 0xffffffff
jne 0x140143ed9
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x2733
je 0x140143e98
mov r8, rsi
xor edx, edx
mov ecx, eax
call fcn.140117f50
mov rax, qword [rsi]
lea rdx, str.Failed_to_receive_DNS_query_response_on_UDP_socket.
mov rcx, rsi
call qword [rax + 0x28]
test rdi, rdi
je 0x140144070
nop dword [rax + rax]
mov rcx, qword [rbx]
cmp rcx, 0xffffffffffffffff
je 0x140143e86
call qword [sym.imp.WS2_32.dll_closesocket]
mov qword [rbx], 0xffffffffffffffff
add rbx, 0xb0
sub rdi, 1
jne 0x140143e70
jmp 0x140144070
mov rax, qword [rsi]
lea rdx, str.Received_0_bytes.
mov rcx, rsi
call qword [rax + 0x28]
test rdi, rdi
je 0x140144070
mov rcx, qword [rbx]
cmp rcx, 0xffffffffffffffff
je 0x140143ec7
call qword [sym.imp.WS2_32.dll_closesocket]
mov qword [rbx], 0xffffffffffffffff
add rbx, 0xb0
sub rdi, 1
jne 0x140143eb1
jmp 0x140144070
test r13d, r13d
jne 0x140143f1f
mov rax, qword [rsi]
lea rdx, str.Received_0_response_from_recv.
mov rcx, rsi
call qword [rax + 0x28]
test rdi, rdi
je 0x140144070
mov rcx, qword [rbx]
cmp rcx, 0xffffffffffffffff
je 0x140143f0d
call qword [sym.imp.WS2_32.dll_closesocket]
mov qword [rbx], 0xffffffffffffffff
add rbx, 0xb0
sub rdi, 1
jne 0x140143ef7
jmp 0x140144070
test rdi, rdi
je 0x140143f4a
mov r14, rbx
mov rcx, qword [r14]
cmp rcx, 0xffffffffffffffff
je 0x140143f3d
call qword [sym.imp.WS2_32.dll_closesocket]
mov qword [r14], 0xffffffffffffffff
add r14, 0xb0
sub rdi, 1
jne 0x140143f27
movsxd rax, dword [r12 + rbx + 0x10]
test eax, eax
jle 0x140143f86
mov rcx, rax
lea rax, [rbx + 0x15]
add rax, r12
mov rdx, qword [rsp + 0xb1]
movzx r8d, byte [rsp + 0xb0]
nop
cmp byte [rax - 1], r8b
jne 0x140143f7a
cmp byte [rax], dl
je 0x140143f92
inc rbp
add rax, 2
cmp rbp, rcx
jl 0x140143f70
lea rdx, str.Response_ID_not_equal_to_request_ID.
jmp 0x140144067
mov r9, rsi
mov r8d, r13d
lea rdx, [rsp + 0xb0]
mov rdi, qword [rsp + 0x68]
mov rcx, rdi
call fcn.1401c8540
test al, al
je 0x140143fb8
mov bl, 1
jmp 0x140144072
cmp byte [rdi + 9], 0
je 0x14014404e
cmp byte [r15 + 0x29], 0
jne 0x14014404e
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsp + 0x80], xmm0
mov qword [rsp + 0x90], rax
lea r8, str.fallbackToTcp
mov rdx, rsi
lea rcx, [rsp + 0x80]
call fcn.14004ed30
nop
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x40], r15
mov eax, dword [rsp + 0x770]
mov dword [rsp + 0x38], eax
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], rdi
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x20], rax
xor r9d, r9d
mov r8, rbx
mov edx, dword [rsp + 0x64]
mov rcx, qword [rsp + 0x78]
call fcn.1401435d0
movzx ebx, al
lea rcx, [rsp + 0x80]
call fcn.14004ee50
jmp 0x140144072
mov rax, qword [rsi]
lea rdx, str.Received_invalid_or_incomplete_DNS_response.
mov rcx, rsi
call qword [rax + 0x30]
jmp 0x140144070
lea rdx, str.Invalid_args
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x28]
xor bl, bl
lea rcx, [rsp + 0x98]
call fcn.14004ee50
movzx eax, bl
mov rcx, qword [rsp + 0x6f0]
xor rcx, rsp
call fcn.1401d42a0
mov rbx, qword [rsp + 0x740]
add rsp, 0x700
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret