Function at 0x140004230
Capabilities:
Encode data using xor
Receive data
Receive data on socket

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r13
push r14
push r15
sub rsp, 0x70
mov rax, qword [0x140238670]
xor rax, rsp
mov qword [rsp + 0x60], rax
xor edi, edi
mov dword [rsp + 0x20], r8d
mov r13d, r8d
mov qword [rsp + 0x28], rcx
mov rbp, rdx
xor r9d, r9d
lea rdx, [rsp + 0x30]
mov r15, rcx
lea r8d, [rdi + 8]
mov ebx, edi
call qword [sym.imp.WS2_32.dll_recv]
cmp eax, 8
jl 0x140004390
mov rax, qword [rsp + 0x30]
cmp rax, qword [0x14023a2a0]
je 0x14000432f
movzx eax, byte [rsp + 0x31]
lea rdx, [rsp + 0x37]
mov byte [rsp + 0x30], al
xor r9d, r9d
movzx eax, byte [rsp + 0x32]
mov rcx, r15
mov byte [rsp + 0x31], al
movzx eax, byte [rsp + 0x33]
mov byte [rsp + 0x32], al
lea r8d, [r9 + 1]
movzx eax, byte [rsp + 0x34]
mov byte [rsp + 0x33], al
movzx eax, byte [rsp + 0x35]
mov byte [rsp + 0x34], al
movzx eax, byte [rsp + 0x36]
mov byte [rsp + 0x35], al
movzx eax, byte [rsp + 0x37]
mov byte [rsp + 0x36], al
call qword [sym.imp.WS2_32.dll_recv]
cmp eax, 0xffffffff
jne 0x140004309
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x2733
jne 0x140004390
mov ecx, gethostbyname
call qword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x14000431d
test eax, eax
jne 0x14000431d
lea ecx, [rax + 0xa]
inc ebx
call qword [sym.imp.KERNEL32.dll_Sleep]
cmp ebx, 5
jg 0x140004390
mov rax, qword [rsp + 0x30]
cmp rax, qword [0x14023a2a0]
jne 0x140004292
mov ebx, edi
mov esi, edi
mov r14d, 4
nop dword [rax]
mov r8d, r14d
movsxd rax, ebx
lea rdx, [rsp + 0x58]
sub r8d, ebx
add rdx, rax
xor r9d, r9d
mov rcx, r15
call qword [sym.imp.WS2_32.dll_recv]
cmp eax, 0xffffffff
jne 0x14000437c
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x2733
jne 0x140004390
mov ecx, gethostbyname
call qword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x140004340
test eax, eax
jne 0x14000439c
lea ecx, [rax + 0xa]
inc esi
call qword [sym.imp.KERNEL32.dll_Sleep]
cmp esi, 5
jle 0x140004340
mov rax, 0xffffffffffffffff
jmp 0x140004501
add ebx, eax
cmp ebx, r14d
jl 0x140004340
jne 0x140004390
mov ebx, edi
mov esi, edi
nop dword [rax]
mov r8d, r14d
movsxd rax, ebx
lea rdx, [rsp + 0x50]
sub r8d, ebx
add rdx, rax
xor r9d, r9d
mov rcx, r15
call qword [sym.imp.WS2_32.dll_recv]
cmp eax, 0xffffffff
jne 0x1400043ec
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x2733
jne 0x140004390
mov ecx, gethostbyname
call qword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x1400043b0
test eax, eax
jne 0x14000440c
lea ecx, [rax + 0xa]
inc esi
call qword [sym.imp.KERNEL32.dll_Sleep]
cmp esi, 5
jle 0x1400043b0
mov rax, 0xffffffffffffffff
jmp 0x140004501
add ebx, eax
cmp ebx, r14d
jl 0x1400043b0
jne 0x140004390
mov ebx, dword [rsp + 0x58]
lea rax, [rsp + 0x50]
nop dword [rax]
nop word [rax + rax]
xor byte [rax], bl
lea rax, [rax + 1]
shr ebx, 8
xor ebx, 0x7359a7c3
lea ebx, [rbx + rbx*8]
sub r14, 1
jne 0x140004430
mov r14d, dword [rsp + 0x50]
lea eax, [r13 + 0xfd0]
cmp r14d, eax
jg 0x140004390
test r14d, r14d
js 0x140004390
mov ecx, r14d
mov qword [rsp + 0xc8], r12
add ecx, 0x2000
mov r13, 0xffffffffffffffff
cmovb rcx, r13
call fcn.14018f1ec
mov r12, rax
mov esi, edi
mov r15d, edi
nop
mov rcx, qword [rsp + 0x28]
mov r8d, r14d
movsxd rdx, esi
sub r8d, esi
add rdx, r12
xor r9d, r9d
cmp r8d, 0x2000
jle 0x1400044b3
mov r8d, 0x2000
call qword [sym.imp.WS2_32.dll_recv]
cmp eax, r13d
jne 0x1400044d8
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x2733
jne 0x1400044ee
mov ecx, gethostbyname
call qword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x140004490
test eax, eax
jne 0x14000451d
lea ecx, [rax + 0x1e]
inc r15d
call qword [sym.imp.KERNEL32.dll_Sleep]
cmp r15d, 0xf
jle 0x140004490
mov rcx, r12
call fcn.14018f1d8
mov eax, r13d
mov r12, qword [rsp + 0xc8]
mov rcx, qword [rsp + 0x60]
xor rcx, rsp
call fcn.140188cb0
add rsp, 0x70
pop r15
pop r14
pop r13
pop rdi
pop rsi
pop rbp
pop rbx
ret
add esi, eax
cmp esi, r14d
jne 0x140004490
test r14d, r14d
jle 0x140004558
mov rax, r12
mov rcx, r14
nop dword [rax]
nop word [rax + rax]
xor byte [rax], bl
lea rax, [rax + 1]
shr ebx, 8
xor ebx, 0x7359a7c3
lea ebx, [rbx + rbx*8]
sub rcx, 1
jne 0x140004540
movsxd rbx, dword [rsp + 0x20]
xor edx, edx
mov r8, rbx
mov rcx, rbp
call fcn.14018b430
mov r9d, ebx
mov r8d, r14d
mov rdx, rbp
mov rcx, r12
call fcn.140003690
mov ebx, eax
test eax, eax
jle 0x14000458f
xor byte [rbp], dil
lea rbp, [rbp + 1]
inc edi
cmp edi, ebx
jl 0x140004581
mov rcx, r12
call fcn.14018f1d8
mov eax, ebx
jmp 0x1400044f9