Function at 0x140085c20
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rbx
sub rsp, 0x28
mov rsi, rcx
mov rbx, rdx
test rbx, rbx
je 0x140085eab
mov rdx, r8
lea rcx, [0x140205638]
test rdx, rdx
cmove rdx, rcx
mov rcx, rbx
call fcn.1400b57a0
mov rbx, rax
cmp byte [rbx], bl
mov ecx, 4
call fcn.1400cf4a0
mov rcx, rax
mov rdx, rbx
mov rax, qword [rax]
call qword [rax + 0x40]
mov ebx, eax
mov rcx, qword [rsi + 8]
lea rdx, [0x14025f1b0]
cmp qword [rcx], rdx
jne 0x140085d97
mov rcx, qword [rcx + 8]
lea rdx, [0x14026c688]
cmp qword [rcx], rdx
jne 0x140085ca1
xor edx, edx
mov r8d, 0x7fffffff
call fcn.140146290
jmp 0x140085d92
lea rax, [0x14026c6e0]
cmp qword [rcx], rax
jne 0x140085d85
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 0x140085d7d
cmp r8d, 2
jae 0x140085d7d
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 0x140085d1a
shr rdx, 0x20
mov eax, edx
jmp 0x140085d92
xor edx, edx
mov r8d, 0x7fffffff
call fcn.1401460e0
jmp 0x140085e9c
mov rax, qword gs:[0x58]
mov ecx, dword [0x140421578]
mov edx, reloc.WS2_32.dll_recv
add rdx, qword [rax + rcx*8]
mov rcx, rdx
mov rsi, qword [rcx]
test rsi, rsi
je 0x140085ed1
mov rax, qword [rsi + 0xa0]
test rax, rax
jne 0x140085dcf
call fcn.140145ff0
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 0x140085e96
cmp ecx, 2
jae 0x140085e96
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 0x140085e35
shr rdx, 0x20
mov eax, edx
add eax, ebx
jns 0x140085ea4
neg eax
js 0x140085ee2
add rsp, 0x28
pop rbx
pop rsi
ret
lea rcx, [0x14025ca38]
call fcn.1400058f0
mov rsi, rax
mov rcx, rsi
lea rdx, [0x1402320c0]
call fcn.1400bf810
mov rcx, rsi
call fcn.140005e70
lea rax, [0x14013b330]
call rax
mov rsi, rax
jmp 0x140085dbe
call fcn.1400b1eb0
int3