Function at 0x140146bd0
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 [0x1402bc7c0]
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.140051790
nop
mov rcx, rdi
call fcn.140041a70
cmp eax, 0x200
jbe 0x140146c83
lea rdx, str.DNS_request_is_greater_than_512_bytes.
jmp 0x140147217
test rbx, rbx
je 0x140147210
test r12d, r12d
jle 0x140147210
call fcn.140118700
test al, al
jne 0x140146caa
lea rdx, str.WSAStartup_failed.
jmp 0x140147217
mov r9, rsi
mov r8, r15
mov r13d, dword [rsp + 0x770]
mov edx, r13d
mov rcx, rbx
call fcn.140148080
test al, al
jne 0x140146cd3
lea rdx, str.UDP_init_for_nameserver_1_failed.
jmp 0x140147217
xor ebp, ebp
mov r14d, ebp
mov dword [rsp + 0x50], ebp
mov rdi, r12
cmp r12d, 1
jne 0x140146e4c
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.1401486d0
test al, al
jne 0x140146d3b
lea rdx, str.1st_UDP_send_for_nameserver_1_failed.
jmp 0x140146e12
mov rdx, rsi
mov rcx, r15
call fcn.140079fd0
test al, al
jne 0x140146e1b
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.140148820
test al, al
jne 0x140146f4d
cmp byte [r15 + 0x29], bpl
jne 0x140146e1b
cmp byte [r15 + 0x2a], bpl
jne 0x140146e1b
mov r12d, dword [rsp + 0x60]
test r12d, r12d
jne 0x140146da4
lea rdx, str.DNS_timeout.
jmp 0x140146e12
mov qword [rsp + 0x20], rsi
mov r9, r15
mov r8d, r13d
mov rdx, qword [rsp + 0x58]
mov rcx, rbx
call fcn.1401486d0
test al, al
jne 0x140146dc9
lea rdx, str.2nd_UDP_send_for_nameserver_1_failed.
jmp 0x140146e12
mov rdx, rsi
mov rcx, r15
call fcn.140079fd0
test al, al
jne 0x140146e1b
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.140148820
test al, al
jne 0x140146f4d
cmp byte [r15 + 0x29], bpl
jne 0x140146e1b
cmp byte [r15 + 0x2a], bpl
jne 0x140146e1b
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 0x140147220
mov rcx, qword [rbx]
cmp rcx, 0xffffffffffffffff
je 0x140146e3a
call qword [sym.imp.WS2_32.dll_closesocket]
mov qword [rbx], 0xffffffffffffffff
add rbx, 0xb0
sub rdi, 1
jne 0x140146e24
jmp 0x140147220
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 [0x1402c1c18], 0xa
jne 0x140146ed2
call fcn.140148460
test al, al
jne 0x140146ea9
test r12d, r12d
je 0x140147220
mov rcx, qword [rbx]
cmp rcx, 0xffffffffffffffff
je 0x140146e97
call qword [sym.imp.WS2_32.dll_closesocket]
mov qword [rbx], 0xffffffffffffffff
add rbx, 0xb0
sub rdi, 1
jne 0x140146e81
jmp 0x140147220
movsxd r14, dword [rsp + 0x50]
test r14d, r14d
jle 0x140146ece
imul rcx, r14, 0xb0
add rcx, 0x20
add rcx, rbx
call fcn.1400351b0
mov rcx, rax
call fcn.140094640
mov eax, ebp
jmp 0x140146f39
call fcn.140148170
test al, al
jne 0x140146f0c
test r12d, r12d
je 0x140147220
mov rcx, qword [rbx]
cmp rcx, 0xffffffffffffffff
je 0x140146efa
call qword [sym.imp.WS2_32.dll_closesocket]
mov qword [rbx], 0xffffffffffffffff
add rbx, 0xb0
sub rdi, 1
jne 0x140146ee4
jmp 0x140147220
movsxd r14, dword [rsp + 0x50]
test r14d, r14d
jle 0x140146f31
imul rcx, r14, 0xb0
add rcx, 0x20
add rcx, rbx
call fcn.1400351b0
mov rcx, rax
call fcn.140094640
mov eax, dword [0x1402c1c18]
inc eax
mov dword [0x1402c1c18], eax
cmp r12d, 2
jle 0x140146f4d
mov rcx, rsi
call fcn.140093d30
xor edx, edx
mov r8d, 0x640
lea rcx, [rsp + 0xb0]
call fcn.140010d60
mov rdx, rsi
mov rcx, r15
call fcn.140079fd0
test al, al
je 0x140146fb8
mov rax, qword [rsi]
mov rdx, qword [str.DNS_query_aborted_by_application.]
mov rcx, rsi
call qword [rax + 0x28]
test rdi, rdi
je 0x140147220
nop word [rax + rax]
mov rcx, qword [rbx]
cmp rcx, 0xffffffffffffffff
je 0x140146fa6
call qword [sym.imp.WS2_32.dll_closesocket]
mov qword [rbx], 0xffffffffffffffff
add rbx, 0xb0
sub rdi, 1
jne 0x140146f90
jmp 0x140147220
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 0x140147089
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x2733
je 0x140147048
mov r8, rsi
xor edx, edx
mov ecx, eax
call fcn.14011b100
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 0x140147220
nop dword [rax + rax]
mov rcx, qword [rbx]
cmp rcx, 0xffffffffffffffff
je 0x140147036
call qword [sym.imp.WS2_32.dll_closesocket]
mov qword [rbx], 0xffffffffffffffff
add rbx, 0xb0
sub rdi, 1
jne 0x140147020
jmp 0x140147220
mov rax, qword [rsi]
lea rdx, str.Received_0_bytes.
mov rcx, rsi
call qword [rax + 0x28]
test rdi, rdi
je 0x140147220
mov rcx, qword [rbx]
cmp rcx, 0xffffffffffffffff
je 0x140147077
call qword [sym.imp.WS2_32.dll_closesocket]
mov qword [rbx], 0xffffffffffffffff
add rbx, 0xb0
sub rdi, 1
jne 0x140147061
jmp 0x140147220
test r13d, r13d
jne 0x1401470cf
mov rax, qword [rsi]
lea rdx, str.Received_0_response_from_recv.
mov rcx, rsi
call qword [rax + 0x28]
test rdi, rdi
je 0x140147220
mov rcx, qword [rbx]
cmp rcx, 0xffffffffffffffff
je 0x1401470bd
call qword [sym.imp.WS2_32.dll_closesocket]
mov qword [rbx], 0xffffffffffffffff
add rbx, 0xb0
sub rdi, 1
jne 0x1401470a7
jmp 0x140147220
test rdi, rdi
je 0x1401470fa
mov r14, rbx
mov rcx, qword [r14]
cmp rcx, 0xffffffffffffffff
je 0x1401470ed
call qword [sym.imp.WS2_32.dll_closesocket]
mov qword [r14], 0xffffffffffffffff
add r14, 0xb0
sub rdi, 1
jne 0x1401470d7
movsxd rax, dword [r12 + rbx + 0x10]
test eax, eax
jle 0x140147136
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 0x14014712a
cmp byte [rax], dl
je 0x140147142
inc rbp
add rax, 2
cmp rbp, rcx
jl 0x140147120
lea rdx, str.Response_ID_not_equal_to_request_ID.
jmp 0x140147217
mov r9, rsi
mov r8d, r13d
lea rdx, [rsp + 0xb0]
mov rdi, qword [rsp + 0x68]
mov rcx, rdi
call fcn.1401cb870
test al, al
je 0x140147168
mov bl, 1
jmp 0x140147222
cmp byte [rdi + 9], 0
je 0x1401471fe
cmp byte [r15 + 0x29], 0
jne 0x1401471fe
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.140051790
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.140146780
movzx ebx, al
lea rcx, [rsp + 0x80]
call fcn.1400518b0
jmp 0x140147222
mov rax, qword [rsi]
lea rdx, str.Received_invalid_or_incomplete_DNS_response.
mov rcx, rsi
call qword [rax + 0x30]
jmp 0x140147220
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.1400518b0
movzx eax, bl
mov rcx, qword [rsp + 0x6f0]
xor rcx, rsp
call fcn.1401d75d0
mov rbx, qword [rsp + 0x740]
add rsp, 0x700
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret