Function at 0x14023ca50
Capabilities:
Resolve dns

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x218
mov al, byte [rcx + 0x28]
mov rbx, rcx
test al, al
jne 0x14023d61c
call fcn.1401cfee0
cmp dword [rbx + 0x140], 0
je 0x14023cd43
movzx edx, word [rbx + 0x188]
lea r12, [rsp + 0x180]
lea rdi, [rsp + 0x1a0]
mov rcx, r12
lea rsi, [rsp + 0x1d0]
call fcn.1403a9960
mov ecx, 0xc
xor eax, eax
lea rdx, [rbx + 0x148]
rep stosd dword [rdi], eax
mov rcx, rsi
call fcn.1403939d0
lea rdi, [rsp + 0x1f0]
mov rdx, r12
mov rcx, rdi
call fcn.1403939d0
xor r13d, r13d
mov rcx, r12
xor r15d, r15d
xor r14d, r14d
lea rbp, [rsp + 0x160]
mov qword [rsp + 0x1b0], r13
movabs rax, 0x600000001
mov qword [rsp + 0x1a0], 0x400
mov qword [rsp + 0x1a8], rax
mov qword [rsp + 0x1b8], r13
mov qword [rsp + 0x1c0], r13
mov qword [rsp + 0x1c8], r13
call fcn.1403907e0
mov rdx, rdi
mov rcx, rbp
mov dword [rsp + 0x130], r14d
mov qword [rsp + 0x138], r15
mov qword [rsp + 0x140], r15
mov qword [rsp + 0x118], r15
call fcn.1403939d0
jmp 0x14023cb69
mov rdx, rsi
mov rcx, r12
mov r14, qword [rsp + 0x160]
call fcn.1403939d0
mov r13, qword [rsp + 0x180]
test r13, r13
je 0x14023cb93
cmp byte [r13], 0
jne 0x14023cb93
xor r13d, r13d
test r14, r14
je 0x14023cba1
cmp byte [r14], 0
jne 0x14023cba1
xor r14d, r14d
xor ecx, ecx
call qword [sym.imp.WSOCK32.dll_WSASetLastError]
lea r9, [rsp + 0x118]
lea r8, [rsp + 0x1a0]
mov rdx, r14
mov rcx, r13
call qword [sym.imp.WS2_32.dll_getaddrinfo]
lea r14, [rsp + 0x130]
mov edx, eax
mov rcx, r14
call fcn.140286120
mov rcx, r12
call fcn.1403907e0
mov rcx, rbp
call fcn.1403907e0
mov rcx, r14
mov rdx, r14
lea r8, [0x14050af60]
mov r13, qword [rsp + 0x118]
call fcn.1402c4e30
mov rcx, r14
call fcn.1402ee430
test al, al
je 0x14023cc29
xor ebp, ebp
mov qword [rsp + 0x148], rbp
mov qword [rsp + 0x150], rbp
mov qword [rsp + 0x158], rbp
jmp 0x14023cc6a
mov rdx, rdi
mov rcx, rbp
call fcn.1403939d0
mov rdx, rsi
mov rcx, r12
call fcn.1403939d0
mov rdx, qword [rsp + 0x118]
lea rcx, [rsp + 0x148]
mov r9, rbp
mov r8, r12
call fcn.140280b40
mov rcx, r12
call fcn.1403907e0
mov rcx, rbp
call fcn.1403907e0
test r13, r13
je 0x14023cc78
mov rcx, r13
call qword [sym.imp.WS2_32.dll_freeaddrinfo]
mov rcx, r14
lea rbp, [rsp + 0x150]
call fcn.1402ee430
test al, al
je 0x14023cce2
jmp 0x14023cd2b
mov ecx, 0x1c
call fcn.1403cd4b0
mov rcx, qword [rsp + 0x148]
imul rdx, qword [rsp + 0x158], 0x60
add rdx, qword [rcx]
mov rcx, qword [rbx + 0x1e0]
movups xmm0, xmmword [rdx]
movups xmm1, xmmword [rdx + 0xc]
mov qword [rbx + 0x1e0], rax
movups xmmword [rax], xmm0
movups xmmword [rax + 0xc], xmm1
test rcx, rcx
je 0x14023cd2b
mov edx, 0x1c
call fcn.1403cd470
mov rcx, rbp
call fcn.140369730
mov rcx, rdi
call fcn.1403907e0
mov rcx, rsi
call fcn.1403907e0
mov r13, qword [0x1404d9270]
lea rcx, [rsp + 0x60]
lea rdx, [r13 + 0x158]
call fcn.1402d2600
mov rsi, qword [rsp + 0x60]
test rsi, rsi
jne 0x14023cd74
lea rcx, [rsp + 0x68]
call fcn.1402c2f20
jmp 0x14023d61c
lea rax, [rsi + 0x50]
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x48]
cmp rsi, rax
je 0x14023d549
mov rcx, qword [rsi]
test rcx, rcx
je 0x14023d540
cmp dword [rcx], 1
jne 0x14023d540
cmp byte [rcx + 0x71], 0
je 0x14023d540
cmp dword [rcx + 0x60], 0
je 0x14023d540
test byte [rcx + 0x70], 1
je 0x14023cdf1
mov rax, qword [rsi]
mov rdx, qword [rbx + 0x1e8]
mov ebp, dword [rax + 0x60]
test rdx, rdx
je 0x14023ce0e
lea rdi, [rsp + 0x1a0]
mov rcx, rdi
call fcn.1402e6450
lea rcx, [rsp + 0x180]
mov r8d, ebp
mov rdx, rdi
call fcn.1402813c0
jmp 0x14023ce45
cmp dword [rcx + 4], 0
jne 0x14023d090
add rcx, 4
call fcn.1402e65b0
test al, al
jne 0x14023d090
jmp 0x14023cdba
xor eax, eax
lea rdi, [rsp + 0x182]
mov ecx, 0x1a
rep stosb byte [rdi], al
movzx ecx, bp
mov word [rsp + 0x180], 2
call qword [sym.imp.WSOCK32.dll_htons]
xor r11d, r11d
mov word [rsp + 0x182], ax
mov dword [rsp + 0x184], r11d
mov ecx, 0xa0
call fcn.1403cd4b0
lea rdx, [rbx + 0x38]
mov rcx, rax
mov rdi, rax
call fcn.14028cb70
xor r9d, r9d
xor r10d, r10d
mov edx, 2
mov eax, 0x17
lea rbp, [rsp + 0x70]
mov rcx, qword [rdi]
mov dword [rsp + 0x70], r9d
lea r8, [rsp + 0x5c]
cmp word [rsp + 0x180], 2
mov r9, rbp
mov qword [rsp + 0x78], r10
cmove eax, edx
lea rdx, [rdi + 8]
mov qword [rsp + 0x80], r10
mov dword [rsp + 0x5c], eax
call fcn.1402b2560
lea r12, [rsp + 0x1a0]
lea r15, [0x14043cda2]
mov rcx, rbp
mov qword [rsp + 0x1b0], 0x126
lea r14, [0x14043cde3]
mov r8, r12
lea rdx, [0x14043cbe6]
mov qword [rsp + 0x1a0], r15
mov qword [rsp + 0x1a8], r14
call fcn.140287cc0
mov rcx, qword [rdi + 8]
mov qword [rsp + 0x30], rbp
lea rdx, [rdi + 0x10]
mov r9d, 4
mov qword [rsp + 0x28], 4
mov r8d, 0xffff
mov qword [rsp + 0x20], r12
mov dword [rsp + 0x1a0], 1
call fcn.1402850d0
lea r8, [0x14050b560]
mov rdx, rbp
mov rcx, rbp
call fcn.1402c4e30
mov r8, r12
mov rcx, rbp
lea rdx, [0x14043ce12]
mov qword [rsp + 0x1a0], r15
mov qword [rsp + 0x1a8], r14
mov qword [rsp + 0x1b0], 0x12b
call fcn.140287cc0
lea rax, [rsp + 0x180]
mov rcx, qword [rdi + 8]
mov r8, rbp
mov rdx, rax
mov qword [rsp + 0x40], rax
call fcn.1402b2300
mov r8, r12
lea rdx, [0x14043ce1d]
mov rcx, rbp
mov qword [rsp + 0x1a0], r15
mov qword [rsp + 0x1a8], r14
mov qword [rsp + 0x1b0], 0x12e
call fcn.140287cc0
mov rcx, qword [rdi + 8]
mov r8, rbp
mov edx, 0x7fffffff
call fcn.140287400
mov r8, r12
lea rdx, [0x14043ce22]
mov rcx, rbp
mov qword [rsp + 0x1a0], r15
mov qword [rsp + 0x1a8], r14
mov qword [rsp + 0x1b0], 0x131
call fcn.140287cc0
lea rcx, [rbx + 0xd0]
mov rdx, rdi
call fcn.140370050
mov rcx, qword [rsp + 0x40]
mov rdx, rbx
call fcn.1403bc2e0
jmp 0x14023d01e
mov rdx, qword [rsp + 0x40]
lea rax, [0x14023af80]
xor r8d, r8d
lea rcx, [rsp + 0x1b0]
mov qword [rsp + 0x1a0], rax
mov r9, qword [rbx + 0xd0]
lea rbp, [rsp + 0x1b8]
lea rdi, [rsp + 0x188]
mov qword [rsp + 0x1a8], r8
mov r8, r12
call fcn.140355d50
mov rax, qword [rsp + 0x180]
mov rcx, r9
mov qword [rsp + 0x1c0], rbx
lea rdx, [rax + 0x68]
call fcn.14027f760
mov rcx, rbp
call fcn.140369730
mov rcx, rdi
jmp 0x14023d53b
mov rcx, qword [rsi]
test byte [rcx + 0x70], 2
je 0x14023d0a8
test byte [r13 + 0x1aa], 0x1a
jne 0x14023d0c5
jmp 0x14023d540
cmp dword [rcx + 4], 1
jne 0x14023d540
add rcx, 4
call fcn.1402e65b0
test al, al
jne 0x14023d540
jmp 0x14023d099
mov ecx, 0xa0
call fcn.1403cd4b0
lea rdx, [rbx + 0x38]
mov rcx, rax
mov rdi, rax
call fcn.14028cb70
mov rdx, rdi
lea rcx, [rbx + 0xd8]
lea rdi, [rsp + 0x88]
call fcn.140370050
mov rax, qword [rbx + 0xd8]
xor ecx, ecx
xor edx, edx
mov qword [rsp + 0x90], rcx
lea rbp, [rsp + 0x1a0]
mov r9, rdi
mov qword [rsp + 0x98], rcx
mov rcx, qword [rax]
mov r8, rbp
mov dword [rsp + 0x88], edx
lea rdx, [rax + 8]
mov dword [rsp + 0x1a0], 0x17
call fcn.1402b2560
lea r12, [0x14043cda2]
lea rdx, [0x14043cbe6]
mov rcx, rdi
mov qword [rsp + 0xb0], 0x1e2
lea r8, [rsp + 0xa0]
mov qword [rsp + 0xa0], r12
mov qword [rsp + 0xa8], rdx
call fcn.140287cc0
mov rax, qword [rbx + 0xd8]
xor r15d, r15d
xor r14d, r14d
mov r9d, 0x1b
lea rdi, [rsp + 0xb8]
mov r8d, 0x29
mov dword [rsp + 0x1a0], 1
mov rcx, qword [rax + 8]
mov qword [rsp + 0x30], rdi
lea rdx, [rax + 0x10]
mov qword [rsp + 0x28], 4
mov qword [rsp + 0x20], rbp
mov dword [rsp + 0xb8], r14d
mov qword [rsp + 0xc0], r15
mov qword [rsp + 0xc8], r15
call fcn.1402850d0
lea r8, [0x14050b540]
mov rdx, rdi
mov rcx, rdi
call fcn.1402c4e30
lea r14, [0x14043ce12]
lea rax, [0x14043ce29]
mov rcx, rdi
lea r8, [rsp + 0xd0]
mov rdx, r14
mov qword [rsp + 0xd0], r12
mov qword [rsp + 0xd8], rax
mov qword [rsp + 0xe0], 0x332
call fcn.140287cc0
mov rax, qword [rbx + 0xd8]
xor edi, edi
xor r11d, r11d
mov r9d, 4
mov qword [rsp + 0xf0], rdi
mov r8d, 0xffff
mov qword [rsp + 0xf8], rdi
mov rcx, qword [rax + 8]
lea rdi, [rsp + 0xe8]
lea rdx, [rax + 0x10]
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x28], 4
mov qword [rsp + 0x20], rbp
mov dword [rsp + 0x1a0], 1
mov dword [rsp + 0xe8], r11d
call fcn.1402850d0
lea r8, [0x14050b560]
mov rdx, rdi
mov rcx, rdi
call fcn.1402c4e30
lea r15, [rsp + 0x160]
mov rdx, r14
mov rcx, rdi
lea rax, [0x14043ce6a]
mov r8, r15
mov qword [rsp + 0x160], r12
mov qword [rsp + 0x168], rax
mov qword [rsp + 0x170], 0x332
call fcn.140287cc0
mov rax, qword [rsi]
lea rdi, [rsp + 0x162]
mov ecx, 0x1a
mov edx, dword [rax + 0x60]
xor eax, eax
rep stosb byte [rdi], al
mov word [rsp + 0x160], 0x17
movzx ecx, dx
call qword [sym.imp.WSOCK32.dll_htons]
mov rdx, qword [rbx + 0x1f8]
xor r10d, r10d
mov word [rsp + 0x162], ax
mov qword [rsp + 0x164], r10
mov qword [rsp + 0x16c], r10
mov qword [rsp + 0x174], r10
test rdx, rdx
je 0x14023d33a
test byte [r13 + 0x1aa], 0x10
je 0x14023d34b
mov rdx, qword [rbx + 0x208]
test rdx, rdx
jne 0x14023d392
jmp 0x14023d3e1
mov rax, qword [rsi]
lea rdi, [rsp + 0x180]
mov rcx, rdi
mov r14d, dword [rax + 0x60]
call fcn.1402e6450
mov rdx, rdi
mov rcx, rbp
mov r8d, r14d
call fcn.1402813c0
movaps xmm2, xmmword [rsp + 0x1a0]
movups xmm3, xmmword [rsp + 0x1ac]
movaps xmmword [rsp + 0x160], xmm2
movups xmmword [rsp + 0x16c], xmm3
jmp 0x14023d3e1
test byte [r13 + 0x1aa], 0xa
jne 0x14023d3e1
mov rax, qword [rsi]
lea rdi, [rsp + 0x180]
mov rcx, rdi
mov r14d, dword [rax + 0x60]
call fcn.1402e6450
mov rdx, rdi
mov rcx, rbp
mov r8d, r14d
call fcn.1402813c0
movaps xmm4, xmmword [rsp + 0x1a0]
movups xmm5, xmmword [rsp + 0x1ac]
movaps xmmword [rsp + 0x160], xmm4
movups xmmword [rsp + 0x16c], xmm5
mov rax, qword [rbx + 0xd8]
xor r8d, r8d
xor r9d, r9d
mov rdx, r15
lea rdi, [rsp + 0x100]
mov dword [rsp + 0x100], r8d
mov rcx, qword [rax + 8]
mov r8, rdi
mov qword [rsp + 0x108], r9
mov qword [rsp + 0x110], r9
call fcn.1402b2300
lea rdx, [0x14043ce1d]
lea r8, [rsp + 0x118]
mov rcx, rdi
mov qword [rsp + 0x118], r12
mov qword [rsp + 0x120], rdx
mov qword [rsp + 0x128], 0x241
call fcn.140287cc0
mov rax, qword [rbx + 0xd8]
xor ecx, ecx
xor edx, edx
lea rdi, [rsp + 0x130]
mov qword [rsp + 0x138], rcx
mov r8, rdi
mov qword [rsp + 0x140], rcx
mov rcx, qword [rax + 8]
mov dword [rsp + 0x130], edx
mov edx, 0x7fffffff
call fcn.140287400
lea rdx, [0x14043ce22]
lea r8, [rsp + 0x148]
mov rcx, rdi
mov qword [rsp + 0x148], r12
mov qword [rsp + 0x150], rdx
mov qword [rsp + 0x158], 0x270
call fcn.140287cc0
lea rdi, [rsp + 0x180]
mov rdx, rbx
mov rcx, rdi
call fcn.1403bc2e0
lea rax, [0x14023b1c0]
mov rdx, rdi
mov r8, rbp
mov r9, qword [rbx + 0xd8]
mov qword [rsp + 0x1a0], rax
lea rcx, [rsp + 0x1b0]
xor eax, eax
lea r14, [rsp + 0x1b8]
mov qword [rsp + 0x1a8], rax
lea r12, [rsp + 0x188]
call fcn.140355d50
mov rax, qword [rsp + 0x180]
mov rcx, r9
mov qword [rsp + 0x1c0], rbx
lea rdx, [rax + 0x68]
call fcn.14027f760
mov rcx, r14
call fcn.140369730
mov rcx, r12
call fcn.140369730
add rsi, 0x10
jmp 0x14023cd7d
mov rcx, rbx
call fcn.14023c540
jmp 0x14023cd65
add rsp, 0x218
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret