Function at 0x1400848c0
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rbx
sub rsp, 0x28
mov rsi, rcx
mov rbx, rdx
test rbx, rbx
je 0x140084b4b
mov rdx, r8
lea rcx, [0x140206a28]
test rdx, rdx
cmove rdx, rcx
mov rcx, rbx
call fcn.1400aa7a0
mov rbx, rax
cmp byte [rbx], bl
mov ecx, 4
call fcn.1400c99a0
mov rcx, rax
mov rdx, rbx
mov rax, qword [rax]
call qword [rax + 0x40]
mov ebx, eax
mov rcx, qword [rsi + 8]
lea rdx, [0x14025d3d0]
cmp qword [rcx], rdx
jne 0x140084a37
mov rcx, qword [rcx + 8]
lea rdx, [0x14026a250]
cmp qword [rcx], rdx
jne 0x140084941
xor edx, edx
mov r8d, 0x7fffffff
call fcn.140140450
jmp 0x140084a32
lea rax, [0x14026a2a8]
cmp qword [rcx], rax
jne 0x140084a25
mov rdx, qword [rcx + 8]
mov r8, qword [rcx + 0x10]
mov rax, qword [rcx + 0x18]
mov r10, qword [rcx + 0x20]
lea r9, [r8 + r8*4]
rol r9, 7
lea r9, [r9 + r9*8]
mov r11, r8
shl r11, 0x11
xor rax, rdx
xor r10, r8
xor r8, rax
xor rdx, r10
xor rax, r11
rol r10, 0x2d
mov qword [rcx + 8], rdx
mov qword [rcx + 0x10], r8
mov qword [rcx + 0x18], rax
mov qword [rcx + 0x20], r10
shr r9, 0x20
mov eax, r9d
mov rdx, rax
shl rdx, 0x1f
sub rdx, rax
mov r8d, edx
cmp r8d, 0x7fffffff
jae 0x140084a1d
cmp r8d, 2
jae 0x140084a1d
mov rdx, qword [rcx + 8]
mov r8, qword [rcx + 0x10]
mov rax, qword [rcx + 0x18]
mov r10, qword [rcx + 0x20]
lea r9, [r8 + r8*4]
rol r9, 7
lea r9, [r9 + r9*8]
mov r11, r8
shl r11, 0x11
xor rax, rdx
xor r10, r8
xor r8, rax
xor rdx, r10
xor rax, r11
rol r10, 0x2d
mov qword [rcx + 8], rdx
mov qword [rcx + 0x10], r8
mov qword [rcx + 0x18], rax
mov qword [rcx + 0x20], r10
shr r9, 0x20
mov edx, r9d
mov r8, rdx
shl r8, 0x1f
sub r8, rdx
mov rdx, r8
mov r8d, edx
cmp r8d, 2
jb 0x1400849ba
shr rdx, 0x20
mov eax, edx
jmp 0x140084a32
xor edx, edx
mov r8d, 0x7fffffff
call fcn.1401402a0
jmp 0x140084b3c
mov rax, qword gs:[0x58]
mov ecx, dword [0x140418318]
mov edx, reloc.WS2_32.dll_recv
add rdx, qword [rax + rcx*8]
mov rcx, rdx
mov rsi, qword [rcx]
test rsi, rsi
je 0x140084b71
mov rax, qword [rsi + 0xa0]
test rax, rax
jne 0x140084a6f
call fcn.1401401b0
mov rcx, qword [rax + 8]
mov rdx, qword [rax + 0x10]
mov r8, qword [rax + 0x18]
mov r10, qword [rax + 0x20]
lea r9, [rdx + rdx*4]
rol r9, 7
lea r9, [r9 + r9*8]
mov r11, rdx
shl r11, 0x11
xor r8, rcx
xor r10, rdx
xor rdx, r8
xor rcx, r10
xor r8, r11
rol r10, 0x2d
mov qword [rax + 8], rcx
mov qword [rax + 0x10], rdx
mov qword [rax + 0x18], r8
mov qword [rax + 0x20], r10
shr r9, 0x20
mov ecx, r9d
mov rdx, rcx
shl rdx, 0x1f
sub rdx, rcx
mov ecx, edx
cmp ecx, 0x7fffffff
jae 0x140084b36
cmp ecx, 2
jae 0x140084b36
mov rdx, qword [rax + 8]
mov rcx, qword [rax + 0x10]
mov r8, qword [rax + 0x18]
mov r10, qword [rax + 0x20]
lea r9, [rcx + rcx*4]
rol r9, 7
lea r9, [r9 + r9*8]
mov r11, rcx
shl r11, 0x11
xor r8, rdx
xor r10, rcx
xor rcx, r8
xor rdx, r10
xor r8, r11
rol r10, 0x2d
mov qword [rax + 8], rdx
mov qword [rax + 0x10], rcx
mov qword [rax + 0x18], r8
mov qword [rax + 0x20], r10
shr r9, 0x20
mov edx, r9d
mov rcx, rdx
shl rcx, 0x1f
sub rcx, rdx
mov rdx, rcx
mov ecx, edx
cmp ecx, 2
jb 0x140084ad5
shr rdx, 0x20
mov eax, edx
add eax, ebx
jns 0x140084b44
neg eax
js 0x140084b82
add rsp, 0x28
pop rbx
pop rsi
ret
lea rcx, [0x14025ae98]
call fcn.140005840
mov rsi, rax
mov rcx, rsi
lea rdx, [0x1402312a0]
call fcn.1400b4810
mov rcx, rsi
call fcn.140005dc0
lea rax, [0x1401354d0]
call rax
mov rsi, rax
jmp 0x140084a5e
call fcn.1400a6f10
int3