Function at 0x140038500
Capabilities:
Resolve dns

Disassembly:
mov qword [rsp + 8], rcx
push rdi
sub rsp, 0x940
mov rax, qword [0x1400e6480]
xor rax, rsp
mov qword [rsp + 0x930], rax
mov rcx, qword [rsp + 0x950]
call fcn.14000df90
mov qword [rsp + 0x40], rax
mov dword [rsp + 0x48], 0x80
lea rax, [rsp + 0x90]
mov rdi, rax
xor eax, eax
mov ecx, 0x80
rep stosb byte [rdi], al
mov rcx, qword [rsp + 0x950]
call fcn.14000df70
lea r8, [rsp + 0x48]
lea rdx, [rsp + 0x90]
mov ecx, eax
call fcn.140064330
test eax, eax
jge 0x14003859c
call fcn.1400826c8
mov ecx, dword [rax]
call fcn.14005f380
mov rdx, rax
lea rcx, str.getpeername_failed:__.100s
call fcn.140002df0
mov rcx, qword [rsp + 0x40]
call fcn.140077df8
jmp 0x1400387e2
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x90]
call fcn.14000d3f0
movzx eax, word [rsp + 0x90]
cmp eax, 0x17
jne 0x1400385c3
mov dword [rsp + 0x48], 0x1c
mov rdx, qword [rsp + 0x40]
lea rcx, str.Trying_to_reverse_map_address__.100s.
call fcn.140002e50
mov dword [rsp + 0x30], 4
mov dword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
mov r9d, 0x401
lea r8, [rsp + 0x110]
mov edx, dword [rsp + 0x48]
lea rcx, [rsp + 0x90]
call qword [sym.imp.WS2_32.dll_getnameinfo]
test eax, eax
je 0x140038620
mov rcx, qword [rsp + 0x40]
call fcn.140077df8
jmp 0x1400387e2
lea rax, [rsp + 0x60]
mov rdi, rax
xor eax, eax
mov ecx, 0x30
rep stosb byte [rdi], al
mov dword [rsp + 0x68], 2
mov dword [rsp + 0x60], 4
lea r9, [rsp + 0x50]
lea r8, [rsp + 0x60]
xor edx, edx
lea rcx, [rsp + 0x110]
call fcn.140069890
test eax, eax
jne 0x140038690
mov r8, qword [rsp + 0x40]
lea rdx, [rsp + 0x110]
lea rcx, str.Nasty_PTR_record___s__is_set_up_for__s__ignoring
call fcn.140002d90
mov rcx, qword [rsp + 0x50]
call fcn.140069820
mov rcx, qword [rsp + 0x40]
call fcn.140077df8
jmp 0x1400387e2
lea rcx, [rsp + 0x110]
call fcn.140004430
lea rax, [rsp + 0x60]
mov rdi, rax
xor eax, eax
mov ecx, 0x30
rep stosb byte [rdi], al
movzx eax, word [rsp + 0x90]
mov dword [rsp + 0x64], eax
mov dword [rsp + 0x68], 1
lea r9, [rsp + 0x58]
lea r8, [rsp + 0x60]
xor edx, edx
lea rcx, [rsp + 0x110]
call fcn.140069890
test eax, eax
je 0x140038707
mov r8, qword [rsp + 0x40]
lea rdx, [rsp + 0x110]
lea rcx, str.reverse_mapping_checking_getaddrinfo_for__.700s___s__failed.
call fcn.140002d90
mov rcx, qword [rsp + 0x40]
call fcn.140077df8
jmp 0x1400387e2
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x50], rax
jmp 0x140038721
mov rax, qword [rsp + 0x50]
mov rax, qword [rax + 0x28]
mov qword [rsp + 0x50], rax
cmp qword [rsp + 0x50], 0
je 0x14003879e
mov dword [rsp + 0x30], 2
mov dword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
mov r9d, 0x401
lea r8, [rsp + 0x520]
mov rax, qword [rsp + 0x50]
mov edx, dword [rax + 0x10]
mov rax, qword [rsp + 0x50]
mov rcx, qword [rax + 0x20]
call qword [sym.imp.WS2_32.dll_getnameinfo]
test eax, eax
jne 0x140038799
mov rax, qword [rsp + 0x40]
lea rcx, [rsp + 0x520]
sub rcx, rax
movzx edx, byte [rax]
cmp dl, byte [rax + rcx]
jne 0x14003878e
inc rax
test dl, dl
jne 0x14003877b
xor eax, eax
jmp 0x140038793
sbb eax, eax
or eax, 1
test eax, eax
jne 0x140038799
jmp 0x14003879e
jmp 0x140038713
mov rcx, qword [rsp + 0x58]
call fcn.140069820
cmp qword [rsp + 0x50], 0
jne 0x1400387d5
lea r8, [rsp + 0x110]
mov rdx, qword [rsp + 0x40]
lea rcx, str.Address__.100s_maps_to__.600s__but_this_does_not_map_back_to_the_address.
call fcn.140002d90
mov rcx, qword [rsp + 0x40]
call fcn.140077df8
jmp 0x1400387e2
lea rcx, [rsp + 0x110]
call fcn.140077df8
mov rcx, qword [rsp + 0x930]
xor rcx, rsp
call fcn.1400758f0
add rsp, 0x940
pop rdi
ret