Function at 0x140149ec0
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 [0x1402bf7c0]
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.140054ae0
nop
mov rcx, rdi
call fcn.140044dc0
cmp eax, 0x200
jbe 0x140149f73
lea rdx, str.DNS_request_is_greater_than_512_bytes.
jmp 0x14014a507
test rbx, rbx
je 0x14014a500
test r12d, r12d
jle 0x14014a500
call fcn.14011b9f0
test al, al
jne 0x140149f9a
lea rdx, str.WSAStartup_failed.
jmp 0x14014a507
mov r9, rsi
mov r8, r15
mov r13d, dword [rsp + 0x770]
mov edx, r13d
mov rcx, rbx
call fcn.14014b370
test al, al
jne 0x140149fc3
lea rdx, str.UDP_init_for_nameserver_1_failed.
jmp 0x14014a507
xor ebp, ebp
mov r14d, ebp
mov dword [rsp + 0x50], ebp
mov rdi, r12
cmp r12d, 1
jne 0x14014a13c
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.14014b9c0
test al, al
jne 0x14014a02b
lea rdx, str.1st_UDP_send_for_nameserver_1_failed.
jmp 0x14014a102
mov rdx, rsi
mov rcx, r15
call fcn.14007d2c0
test al, al
jne 0x14014a10b
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.14014bb10
test al, al
jne 0x14014a23d
cmp byte [r15 + 0x29], bpl
jne 0x14014a10b
cmp byte [r15 + 0x2a], bpl
jne 0x14014a10b
mov r12d, dword [rsp + 0x60]
test r12d, r12d
jne 0x14014a094
lea rdx, str.DNS_timeout.
jmp 0x14014a102
mov qword [rsp + 0x20], rsi
mov r9, r15
mov r8d, r13d
mov rdx, qword [rsp + 0x58]
mov rcx, rbx
call fcn.14014b9c0
test al, al
jne 0x14014a0b9
lea rdx, str.2nd_UDP_send_for_nameserver_1_failed.
jmp 0x14014a102
mov rdx, rsi
mov rcx, r15
call fcn.14007d2c0
test al, al
jne 0x14014a10b
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.14014bb10
test al, al
jne 0x14014a23d
cmp byte [r15 + 0x29], bpl
jne 0x14014a10b
cmp byte [r15 + 0x2a], bpl
jne 0x14014a10b
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 0x14014a510
mov rcx, qword [rbx]
cmp rcx, 0xffffffffffffffff
je 0x14014a12a
call qword [sym.imp.WS2_32.dll_closesocket]
mov qword [rbx], 0xffffffffffffffff
add rbx, 0xb0
sub rdi, 1
jne 0x14014a114
jmp 0x14014a510
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 [0x1402c4c58], 0xa
jne 0x14014a1c2
call fcn.14014b750
test al, al
jne 0x14014a199
test r12d, r12d
je 0x14014a510
mov rcx, qword [rbx]
cmp rcx, 0xffffffffffffffff
je 0x14014a187
call qword [sym.imp.WS2_32.dll_closesocket]
mov qword [rbx], 0xffffffffffffffff
add rbx, 0xb0
sub rdi, 1
jne 0x14014a171
jmp 0x14014a510
movsxd r14, dword [rsp + 0x50]
test r14d, r14d
jle 0x14014a1be
imul rcx, r14, 0xb0
add rcx, 0x20
add rcx, rbx
call fcn.140038500
mov rcx, rax
call fcn.140097930
mov eax, ebp
jmp 0x14014a229
call fcn.14014b460
test al, al
jne 0x14014a1fc
test r12d, r12d
je 0x14014a510
mov rcx, qword [rbx]
cmp rcx, 0xffffffffffffffff
je 0x14014a1ea
call qword [sym.imp.WS2_32.dll_closesocket]
mov qword [rbx], 0xffffffffffffffff
add rbx, 0xb0
sub rdi, 1
jne 0x14014a1d4
jmp 0x14014a510
movsxd r14, dword [rsp + 0x50]
test r14d, r14d
jle 0x14014a221
imul rcx, r14, 0xb0
add rcx, 0x20
add rcx, rbx
call fcn.140038500
mov rcx, rax
call fcn.140097930
mov eax, dword [0x1402c4c58]
inc eax
mov dword [0x1402c4c58], eax
cmp r12d, 2
jle 0x14014a23d
mov rcx, rsi
call fcn.140097020
xor edx, edx
mov r8d, 0x640
lea rcx, [rsp + 0xb0]
call fcn.1400140b0
mov rdx, rsi
mov rcx, r15
call fcn.14007d2c0
test al, al
je 0x14014a2a8
mov rax, qword [rsi]
mov rdx, qword [str.DNS_query_aborted_by_application.]
mov rcx, rsi
call qword [rax + 0x28]
test rdi, rdi
je 0x14014a510
nop word [rax + rax]
mov rcx, qword [rbx]
cmp rcx, 0xffffffffffffffff
je 0x14014a296
call qword [sym.imp.WS2_32.dll_closesocket]
mov qword [rbx], 0xffffffffffffffff
add rbx, 0xb0
sub rdi, 1
jne 0x14014a280
jmp 0x14014a510
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 0x14014a379
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x2733
je 0x14014a338
mov r8, rsi
xor edx, edx
mov ecx, eax
call fcn.14011e3f0
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 0x14014a510
nop dword [rax + rax]
mov rcx, qword [rbx]
cmp rcx, 0xffffffffffffffff
je 0x14014a326
call qword [sym.imp.WS2_32.dll_closesocket]
mov qword [rbx], 0xffffffffffffffff
add rbx, 0xb0
sub rdi, 1
jne 0x14014a310
jmp 0x14014a510
mov rax, qword [rsi]
lea rdx, str.Received_0_bytes.
mov rcx, rsi
call qword [rax + 0x28]
test rdi, rdi
je 0x14014a510
mov rcx, qword [rbx]
cmp rcx, 0xffffffffffffffff
je 0x14014a367
call qword [sym.imp.WS2_32.dll_closesocket]
mov qword [rbx], 0xffffffffffffffff
add rbx, 0xb0
sub rdi, 1
jne 0x14014a351
jmp 0x14014a510
test r13d, r13d
jne 0x14014a3bf
mov rax, qword [rsi]
lea rdx, str.Received_0_response_from_recv.
mov rcx, rsi
call qword [rax + 0x28]
test rdi, rdi
je 0x14014a510
mov rcx, qword [rbx]
cmp rcx, 0xffffffffffffffff
je 0x14014a3ad
call qword [sym.imp.WS2_32.dll_closesocket]
mov qword [rbx], 0xffffffffffffffff
add rbx, 0xb0
sub rdi, 1
jne 0x14014a397
jmp 0x14014a510
test rdi, rdi
je 0x14014a3ea
mov r14, rbx
mov rcx, qword [r14]
cmp rcx, 0xffffffffffffffff
je 0x14014a3dd
call qword [sym.imp.WS2_32.dll_closesocket]
mov qword [r14], 0xffffffffffffffff
add r14, 0xb0
sub rdi, 1
jne 0x14014a3c7
movsxd rax, dword [r12 + rbx + 0x10]
test eax, eax
jle 0x14014a426
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 0x14014a41a
cmp byte [rax], dl
je 0x14014a432
inc rbp
add rax, 2
cmp rbp, rcx
jl 0x14014a410
lea rdx, str.Response_ID_not_equal_to_request_ID.
jmp 0x14014a507
mov r9, rsi
mov r8d, r13d
lea rdx, [rsp + 0xb0]
mov rdi, qword [rsp + 0x68]
mov rcx, rdi
call fcn.1401ceb60
test al, al
je 0x14014a458
mov bl, 1
jmp 0x14014a512
cmp byte [rdi + 9], 0
je 0x14014a4ee
cmp byte [r15 + 0x29], 0
jne 0x14014a4ee
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.140054ae0
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.140149a70
movzx ebx, al
lea rcx, [rsp + 0x80]
call fcn.140054c00
jmp 0x14014a512
mov rax, qword [rsi]
lea rdx, str.Received_invalid_or_incomplete_DNS_response.
mov rcx, rsi
call qword [rax + 0x30]
jmp 0x14014a510
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.140054c00
movzx eax, bl
mov rcx, qword [rsp + 0x6f0]
xor rcx, rsp
call fcn.1401da8c0
mov rbx, qword [rsp + 0x740]
add rsp, 0x700
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret