Function at 0x14000154f
Capabilities:
Resolve dns

Disassembly:
push rbp
sub rsp, 0x180
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x110], rcx
mov dword [rbp + 0x118], edx
mov qword [rbp + 0x120], r8
mov qword [rbp + 0x128], r9
mov dword [rbp + 0xfc], 0
mov rax, qword [rbp + 0x130]
mov dword [rax], 0
mov rax, qword [rbp + 0x128]
mov word [rax], 0
mov rax, qword [rbp + 0x110]
add rax, 3
movzx eax, byte [rax]
cmp al, 1
jne 0x1400015f6
mov rax, qword [rbp + 0x110]
add rax, 4
mov edx, dword [rax]
mov rax, qword [rbp + 0x120]
mov dword [rax], edx
mov rax, qword [rbp + 0x110]
movzx edx, word [rax + 8]
mov rax, qword [rbp + 0x128]
mov word [rax], dx
mov rax, qword [rbp + 0x130]
mov dword [rax], 4
mov dword [rbp + 0xfc], 1
jmp 0x140001841
mov rax, qword [rbp + 0x110]
add rax, 3
movzx eax, byte [rax]
cmp al, 3
jne 0x1400017da
cmp dword [rbp + 0x118], 4
jle 0x140001841
mov rax, qword [rbp + 0x110]
add rax, 4
movzx eax, byte [rax]
mov byte [rbp + 0xef], al
movzx eax, byte [rbp + 0xef]
add eax, 6
cmp dword [rbp + 0x118], eax
jle 0x140001841
movzx ecx, byte [rbp + 0xef]
mov rax, qword [rbp + 0x110]
lea rdx, [rax + 5]
lea rax, [rbp - 0x60]
mov r8, rcx
mov rcx, rax
call sub.msvcrt.dll_memcpy
movzx eax, byte [rbp + 0xef]
cdqe
mov byte [rbp + rax - 0x60], 0
mov qword [rbp + 0xa8], 0
lea rax, [rbp + 0xb0]
mov r8d, 0x30
mov edx, 0
mov rcx, rax
call sub.msvcrt.dll_memset
mov dword [rbp + 0xb8], 1
mov dword [rbp + 0xbc], 6
lea rcx, [rbp + 0xa8]
lea rdx, [rbp + 0xb0]
lea rax, [rbp - 0x60]
mov r9, rcx
mov r8, rdx
mov edx, 0
mov rcx, rax
mov rax, qword [sym.imp.WS2_32.dll_getaddrinfo]
call rax
mov dword [rbp + 0xe8], eax
cmp dword [rbp + 0xe8], 0
jne 0x140001841
mov rax, qword [rbp + 0xa8]
test rax, rax
je 0x140001841
mov rax, qword [rbp + 0xa8]
mov rax, qword [rax + 0x20]
test rax, rax
je 0x1400017c5
mov rax, qword [rbp + 0xa8]
mov rax, qword [rax + 0x20]
add rax, 2
add rax, 2
mov qword [rbp + 0xf0], rax
mov rax, qword [rbp + 0x130]
mov dword [rax], 4
mov dword [rbp + 0xfc], 1
movzx eax, byte [rbp + 0xef]
lea rdx, [rax + 5]
mov rax, qword [rbp + 0x110]
add rax, rdx
movzx edx, word [rax]
mov rax, qword [rbp + 0x128]
mov word [rax], dx
mov rax, qword [rbp + 0xa8]
mov rax, qword [rax + 0x10]
cmp rax, 0x1c
jne 0x1400017a0
mov rax, qword [rbp + 0x130]
mov dword [rax], reloc.WS2_32.dll_recv
mov dword [rbp + 0xfc], 4
mov rax, qword [rbp + 0xa8]
mov rax, qword [rax + 0x20]
add rax, 2
add rax, 6
mov qword [rbp + 0xf0], rax
mov rax, qword [rbp + 0x130]
mov eax, dword [rax]
movsxd rcx, eax
mov rdx, qword [rbp + 0xf0]
mov rax, qword [rbp + 0x120]
mov r8, rcx
mov rcx, rax
call sub.msvcrt.dll_memcpy
mov rax, qword [rbp + 0xa8]
mov rcx, rax
mov rax, qword [sym.imp.WS2_32.dll_freeaddrinfo]
call rax
jmp 0x140001841
mov rax, qword [rbp + 0x110]
add rax, 3
movzx eax, byte [rax]
cmp al, 4
jne 0x140001841
cmp dword [rbp + 0x118], 0x15
jle 0x140001841
mov rax, qword [rbp + 0x130]
mov dword [rax], reloc.WS2_32.dll_recv
mov rax, qword [rbp + 0x110]
add rax, 4
mov rdx, qword [rax + 8]
mov rax, qword [rax]
mov rcx, qword [rbp + 0x120]
mov qword [rcx], rax
mov qword [rcx + 8], rdx
mov rax, qword [rbp + 0x110]
movzx edx, word [rax + 0x14]
mov rax, qword [rbp + 0x128]
mov word [rax], dx
mov dword [rbp + 0xfc], 4
mov eax, dword [rbp + 0xfc]
add rsp, 0x180
pop rbp
ret