Function at 0x1401d1ed0
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 [0x14036a040]
xor rax, rsp
mov qword [rsp + 0x6f0], rax
mov rdi, r9
mov qword [rsp + 0x58], r9
mov rbx, r8
movsxd r12, edx
mov qword [rsp + 0x70], rcx
mov rax, qword [rsp + 0x760]
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x768]
mov qword [rsp + 0x68], rax
mov r13, qword [rsp + 0x778]
mov rsi, qword [rsp + 0x780]
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsp + 0x90], xmm0
mov qword [rsp + 0xa0], rax
lea r8, str.dns_over_udp
mov rdx, rsi
lea rcx, [rsp + 0x90]
call fcn.1400d9650
nop
mov rcx, rdi
call fcn.1400c9940
cmp eax, 0x200
jbe 0x1401d1f7e
lea rdx, str.DNS_request_is_greater_than_512_bytes.
jmp 0x1401d2457
test rbx, rbx
je 0x1401d2450
test r12d, r12d
jle 0x1401d2450
call fcn.1401a1530
test al, al
jne 0x1401d1fa5
lea rdx, str.WSAStartup_failed.
jmp 0x1401d2457
mov r9, rsi
mov r8, r13
mov r15d, dword [rsp + 0x770]
mov edx, r15d
mov rcx, rbx
call fcn.1401d33b0
test al, al
jne 0x1401d1fce
lea rdx, str.UDP_init_for_nameserver_1_failed.
jmp 0x1401d2457
xor ebp, ebp
mov r14d, ebp
mov dword [rsp + 0x50], ebp
mov rdi, r12
cmp r12d, 1
jne 0x1401d2038
mov qword [rsp + 0x20], rsi
mov r9, r13
mov r8d, r15d
mov rdx, qword [rsp + 0x58]
mov rcx, rbx
call fcn.1401d34a0
test al, al
jne 0x1401d213c
test r12d, r12d
je 0x1401d2460
nop dword [rax]
mov rcx, qword [rbx]
cmp rcx, 0xffffffffffffffff
je 0x1401d2026
call qword [sym.imp.WS2_32.dll_closesocket]
mov qword [rbx], 0xffffffffffffffff
add rbx, 0xb8
sub rdi, 1
jne 0x1401d2010
jmp 0x1401d2460
mov qword [rsp + 0x28], rsi
mov r9d, r15d
mov r8, qword [rsp + 0x58]
mov rdx, rbx
lea rcx, [rsp + 0x50]
mov qword [rsp + 0x20], r13
cmp dword [0x1403b16b8], 0xa
jne 0x1401d20c1
call fcn.1401d3a80
test al, al
jne 0x1401d2098
test r12d, r12d
je 0x1401d2460
nop dword [rax]
mov rcx, qword [rbx]
cmp rcx, 0xffffffffffffffff
je 0x1401d2086
call qword [sym.imp.WS2_32.dll_closesocket]
mov qword [rbx], 0xffffffffffffffff
add rbx, 0xb8
sub rdi, 1
jne 0x1401d2070
jmp 0x1401d2460
movsxd r14, dword [rsp + 0x50]
test r14d, r14d
jle 0x1401d20bd
imul rcx, r14, 0xb8
add rcx, 0x28
add rcx, rbx
call fcn.1400bcff0
mov rcx, rax
call fcn.14011ce00
mov eax, ebp
jmp 0x1401d2128
call fcn.1401d3780
test al, al
jne 0x1401d20fb
test r12d, r12d
je 0x1401d2460
mov rcx, qword [rbx]
cmp rcx, 0xffffffffffffffff
je 0x1401d20e9
call qword [sym.imp.WS2_32.dll_closesocket]
mov qword [rbx], 0xffffffffffffffff
add rbx, 0xb8
sub rdi, 1
jne 0x1401d20d3
jmp 0x1401d2460
movsxd r14, dword [rsp + 0x50]
test r14d, r14d
jle 0x1401d2120
imul rcx, r14, 0xb8
add rcx, 0x28
add rcx, rbx
call fcn.1400bcff0
mov rcx, rax
call fcn.14011ce00
mov eax, dword [0x1403b16b8]
inc eax
mov dword [0x1403b16b8], eax
cmp r12d, 2
jle 0x1401d213c
mov rcx, rsi
call fcn.14011c300
xor edx, edx
mov r8d, 0x640
lea rcx, [rsp + 0xb0]
call fcn.140098ad0
mov rdx, rsi
mov rcx, r13
call fcn.1401034b0
test al, al
je 0x1401d21a8
mov rax, qword [rsi]
mov rdx, qword [str.DNS_query_aborted_by_application.]
mov rcx, rsi
call qword [rax + 0x28]
test r12d, r12d
je 0x1401d2460
nop dword [rax]
mov rcx, qword [rbx]
cmp rcx, 0xffffffffffffffff
je 0x1401d2196
call qword [sym.imp.WS2_32.dll_closesocket]
mov qword [rbx], 0xffffffffffffffff
add rbx, 0xb8
sub rdi, 1
jne 0x1401d2180
jmp 0x1401d2460
movsxd rax, r14d
imul r15, rax, 0xb8
xor r9d, r9d
mov r8d, 0x640
lea rdx, [rsp + 0xb0]
mov rcx, qword [r15 + rbx]
call qword [sym.imp.WS2_32.dll_recv]
mov r10d, eax
mov dword [rsp + 0x50], eax
cmp eax, 0xffffffff
jne 0x1401d22d9
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x2743
jne 0x1401d223c
mov byte [r13 + 0x2c], 1
mov r8, rsi
xor edx, edx
mov ecx, eax
call fcn.1401a3fd0
mov rax, qword [rsi]
lea rdx, str.Failed_to_receive_DNS_query_response_on_UDP_socket.
mov rcx, rsi
call qword [rax + 0x28]
test r12d, r12d
je 0x1401d2460
mov rcx, qword [rbx]
cmp rcx, 0xffffffffffffffff
je 0x1401d222a
call qword [sym.imp.WS2_32.dll_closesocket]
mov qword [rbx], 0xffffffffffffffff
add rbx, 0xb8
sub rdi, 1
jne 0x1401d2214
jmp 0x1401d2460
cmp eax, 0x2733
je 0x1401d2298
mov r8, rsi
xor edx, edx
mov ecx, eax
call fcn.1401a3fd0
mov rax, qword [rsi]
lea rdx, str.Failed_to_receive_DNS_query_response_on_UDP_socket.
mov rcx, rsi
call qword [rax + 0x28]
test r12d, r12d
je 0x1401d2460
nop dword [rax + rax]
mov rcx, qword [rbx]
cmp rcx, 0xffffffffffffffff
je 0x1401d2286
call qword [sym.imp.WS2_32.dll_closesocket]
mov qword [rbx], 0xffffffffffffffff
add rbx, 0xb8
sub rdi, 1
jne 0x1401d2270
jmp 0x1401d2460
mov rax, qword [rsi]
lea rdx, str.Received_0_bytes.
mov rcx, rsi
call qword [rax + 0x28]
test r12d, r12d
je 0x1401d2460
mov rcx, qword [rbx]
cmp rcx, 0xffffffffffffffff
je 0x1401d22c7
call qword [sym.imp.WS2_32.dll_closesocket]
mov qword [rbx], 0xffffffffffffffff
add rbx, 0xb8
sub rdi, 1
jne 0x1401d22b1
jmp 0x1401d2460
test eax, eax
jne 0x1401d231e
mov rax, qword [rsi]
lea rdx, str.Received_0_response_from_recv.
mov rcx, rsi
call qword [rax + 0x28]
test r12d, r12d
je 0x1401d2460
mov rcx, qword [rbx]
cmp rcx, 0xffffffffffffffff
je 0x1401d230c
call qword [sym.imp.WS2_32.dll_closesocket]
mov qword [rbx], 0xffffffffffffffff
add rbx, 0xb8
sub rdi, 1
jne 0x1401d22f6
jmp 0x1401d2460
test r12d, r12d
je 0x1401d234e
mov r14, rbx
mov rcx, qword [r14]
cmp rcx, 0xffffffffffffffff
je 0x1401d233c
call qword [sym.imp.WS2_32.dll_closesocket]
mov qword [r14], 0xffffffffffffffff
add r14, 0xb8
sub rdi, 1
jne 0x1401d2326
mov r10d, dword [rsp + 0x50]
movsxd rax, dword [r15 + rbx + 0x10]
test eax, eax
jle 0x1401d2388
mov rcx, rax
lea rax, [rbx + 0x15]
add rax, r15
mov rdx, qword [rsp + 0xb1]
movzx r8d, byte [rsp + 0xb0]
cmp byte [rax - 1], r8b
jne 0x1401d237c
cmp byte [rax], dl
je 0x1401d2394
inc rbp
add rax, 2
cmp rbp, rcx
jl 0x1401d2372
lea rdx, str.Response_ID_not_equal_to_request_ID.
jmp 0x1401d2457
mov r9, rsi
mov r8d, r10d
lea rdx, [rsp + 0xb0]
mov rdi, qword [rsp + 0x60]
mov rcx, rdi
call fcn.140257b90
test al, al
je 0x1401d23ba
mov bl, 1
jmp 0x1401d2462
cmp byte [rdi + 9], 0
je 0x1401d243e
cmp byte [r13 + 0x29], 0
jne 0x1401d243e
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsp + 0x78], xmm0
mov qword [rsp + 0x88], rax
lea r8, str.fallbackToTcp
mov rdx, rsi
lea rcx, [rsp + 0x78]
call fcn.1400d9650
nop
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x40], r13
mov eax, dword [rsp + 0x770]
mov dword [rsp + 0x38], eax
mov rax, qword [rsp + 0x68]
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, r12d
mov rcx, qword [rsp + 0x70]
call fcn.1401d1a80
movzx ebx, al
lea rcx, [rsp + 0x78]
call fcn.1400d9770
jmp 0x1401d2462
mov rax, qword [rsi]
lea rdx, str.Received_invalid_or_incomplete_DNS_response.
mov rcx, rsi
call qword [rax + 0x30]
jmp 0x1401d2460
lea rdx, str.Invalid_args
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x28]
xor bl, bl
lea rcx, [rsp + 0x90]
call fcn.1400d9770
movzx eax, bl
mov rcx, qword [rsp + 0x6f0]
xor rcx, rsp
call fcn.14008b8a0
mov rbx, qword [rsp + 0x740]
add rsp, 0x700
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret