Function at 0x1401e84d0
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 [0x1403dd7c0]
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.1400f6560
nop
mov rcx, rdi
call fcn.1400e6840
cmp eax, 0x200
jbe 0x1401e8583
lea rdx, str.DNS_request_is_greater_than_512_bytes.
jmp 0x1401e8b17
test rbx, rbx
je 0x1401e8b10
test r12d, r12d
jle 0x1401e8b10
call fcn.1401be7f0
test al, al
jne 0x1401e85aa
lea rdx, str.WSAStartup_failed.
jmp 0x1401e8b17
mov r9, rsi
mov r8, r15
mov r13d, dword [rsp + 0x770]
mov edx, r13d
mov rcx, rbx
call fcn.1401e9980
test al, al
jne 0x1401e85d3
lea rdx, str.UDP_init_for_nameserver_1_failed.
jmp 0x1401e8b17
xor ebp, ebp
mov r14d, ebp
mov dword [rsp + 0x50], ebp
mov rdi, r12
cmp r12d, 1
jne 0x1401e874c
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.1401e9fd0
test al, al
jne 0x1401e863b
lea rdx, str.1st_UDP_send_for_nameserver_1_failed.
jmp 0x1401e8712
mov rdx, rsi
mov rcx, r15
call fcn.14011ed90
test al, al
jne 0x1401e871b
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.1401ea120
test al, al
jne 0x1401e884d
cmp byte [r15 + 0x29], bpl
jne 0x1401e871b
cmp byte [r15 + 0x2a], bpl
jne 0x1401e871b
mov r12d, dword [rsp + 0x60]
test r12d, r12d
jne 0x1401e86a4
lea rdx, str.DNS_timeout.
jmp 0x1401e8712
mov qword [rsp + 0x20], rsi
mov r9, r15
mov r8d, r13d
mov rdx, qword [rsp + 0x58]
mov rcx, rbx
call fcn.1401e9fd0
test al, al
jne 0x1401e86c9
lea rdx, str.2nd_UDP_send_for_nameserver_1_failed.
jmp 0x1401e8712
mov rdx, rsi
mov rcx, r15
call fcn.14011ed90
test al, al
jne 0x1401e871b
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.1401ea120
test al, al
jne 0x1401e884d
cmp byte [r15 + 0x29], bpl
jne 0x1401e871b
cmp byte [r15 + 0x2a], bpl
jne 0x1401e871b
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 0x1401e8b20
mov rcx, qword [rbx]
cmp rcx, 0xffffffffffffffff
je 0x1401e873a
call qword [sym.imp.WS2_32.dll_closesocket]
mov qword [rbx], 0xffffffffffffffff
add rbx, 0xb0
sub rdi, 1
jne 0x1401e8724
jmp 0x1401e8b20
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 [0x14047aa38], 0xa
jne 0x1401e87d2
call fcn.1401e9d60
test al, al
jne 0x1401e87a9
test r12d, r12d
je 0x1401e8b20
mov rcx, qword [rbx]
cmp rcx, 0xffffffffffffffff
je 0x1401e8797
call qword [sym.imp.WS2_32.dll_closesocket]
mov qword [rbx], 0xffffffffffffffff
add rbx, 0xb0
sub rdi, 1
jne 0x1401e8781
jmp 0x1401e8b20
movsxd r14, dword [rsp + 0x50]
test r14d, r14d
jle 0x1401e87ce
imul rcx, r14, 0xb0
add rcx, 0x20
add rcx, rbx
call fcn.1400d9f80
mov rcx, rax
call fcn.14013a730
mov eax, ebp
jmp 0x1401e8839
call fcn.1401e9a70
test al, al
jne 0x1401e880c
test r12d, r12d
je 0x1401e8b20
mov rcx, qword [rbx]
cmp rcx, 0xffffffffffffffff
je 0x1401e87fa
call qword [sym.imp.WS2_32.dll_closesocket]
mov qword [rbx], 0xffffffffffffffff
add rbx, 0xb0
sub rdi, 1
jne 0x1401e87e4
jmp 0x1401e8b20
movsxd r14, dword [rsp + 0x50]
test r14d, r14d
jle 0x1401e8831
imul rcx, r14, 0xb0
add rcx, 0x20
add rcx, rbx
call fcn.1400d9f80
mov rcx, rax
call fcn.14013a730
mov eax, dword [0x14047aa38]
inc eax
mov dword [0x14047aa38], eax
cmp r12d, 2
jle 0x1401e884d
mov rcx, rsi
call fcn.140139e20
xor edx, edx
mov r8d, 0x640
lea rcx, [rsp + 0xb0]
call fcn.1400b5b30
mov rdx, rsi
mov rcx, r15
call fcn.14011ed90
test al, al
je 0x1401e88b8
mov rax, qword [rsi]
mov rdx, qword [str.x2._]
mov rcx, rsi
call qword [rax + 0x28]
test rdi, rdi
je 0x1401e8b20
nop word [rax + rax]
mov rcx, qword [rbx]
cmp rcx, 0xffffffffffffffff
je 0x1401e88a6
call qword [sym.imp.WS2_32.dll_closesocket]
mov qword [rbx], 0xffffffffffffffff
add rbx, 0xb0
sub rdi, 1
jne 0x1401e8890
jmp 0x1401e8b20
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 0x1401e8989
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x2733
je 0x1401e8948
mov r8, rsi
xor edx, edx
mov ecx, eax
call fcn.1401c11f0
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 0x1401e8b20
nop dword [rax + rax]
mov rcx, qword [rbx]
cmp rcx, 0xffffffffffffffff
je 0x1401e8936
call qword [sym.imp.WS2_32.dll_closesocket]
mov qword [rbx], 0xffffffffffffffff
add rbx, 0xb0
sub rdi, 1
jne 0x1401e8920
jmp 0x1401e8b20
mov rax, qword [rsi]
lea rdx, str.Received_0_bytes.
mov rcx, rsi
call qword [rax + 0x28]
test rdi, rdi
je 0x1401e8b20
mov rcx, qword [rbx]
cmp rcx, 0xffffffffffffffff
je 0x1401e8977
call qword [sym.imp.WS2_32.dll_closesocket]
mov qword [rbx], 0xffffffffffffffff
add rbx, 0xb0
sub rdi, 1
jne 0x1401e8961
jmp 0x1401e8b20
test r13d, r13d
jne 0x1401e89cf
mov rax, qword [rsi]
lea rdx, str.Received_0_response_from_recv.
mov rcx, rsi
call qword [rax + 0x28]
test rdi, rdi
je 0x1401e8b20
mov rcx, qword [rbx]
cmp rcx, 0xffffffffffffffff
je 0x1401e89bd
call qword [sym.imp.WS2_32.dll_closesocket]
mov qword [rbx], 0xffffffffffffffff
add rbx, 0xb0
sub rdi, 1
jne 0x1401e89a7
jmp 0x1401e8b20
test rdi, rdi
je 0x1401e89fa
mov r14, rbx
mov rcx, qword [r14]
cmp rcx, 0xffffffffffffffff
je 0x1401e89ed
call qword [sym.imp.WS2_32.dll_closesocket]
mov qword [r14], 0xffffffffffffffff
add r14, 0xb0
sub rdi, 1
jne 0x1401e89d7
movsxd rax, dword [r12 + rbx + 0x10]
test eax, eax
jle 0x1401e8a36
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 0x1401e8a2a
cmp byte [rax], dl
je 0x1401e8a42
inc rbp
add rax, 2
cmp rbp, rcx
jl 0x1401e8a20
lea rdx, str.Response_ID_not_equal_to_request_ID.
jmp 0x1401e8b17
mov r9, rsi
mov r8d, r13d
lea rdx, [rsp + 0xb0]
mov rdi, qword [rsp + 0x68]
mov rcx, rdi
call fcn.14026d170
test al, al
je 0x1401e8a68
mov bl, 1
jmp 0x1401e8b22
cmp byte [rdi + 9], 0
je 0x1401e8afe
cmp byte [r15 + 0x29], 0
jne 0x1401e8afe
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.1400f6560
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.1401e8080
movzx ebx, al
lea rcx, [rsp + 0x80]
call fcn.1400f6680
jmp 0x1401e8b22
mov rax, qword [rsi]
lea rdx, str.Received_invalid_or_incomplete_DNS_response.
mov rcx, rsi
call qword [rax + 0x30]
jmp 0x1401e8b20
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.1400f6680
movzx eax, bl
mov rcx, qword [rsp + 0x6f0]
xor rcx, rsp
call fcn.140278f40
mov rbx, qword [rsp + 0x740]
add rsp, 0x700
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret