Function at 0x140084ae0
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rbx
sub rsp, 0x28
mov rsi, rcx
mov rbx, rdx
test rbx, rbx
je 0x140084d6b
mov rdx, r8
lea rcx, [0x140207a28]
test rdx, rdx
cmove rdx, rcx
mov rcx, rbx
call fcn.1400aae00
mov rbx, rax
cmp byte [rbx], bl
mov ecx, 4
call fcn.1400ca000
mov rcx, rax
mov rdx, rbx
mov rax, qword [rax]
call qword [rax + 0x40]
mov ebx, eax
mov rcx, qword [rsi + 8]
lea rdx, [0x14025e5a0]
cmp qword [rcx], rdx
jne 0x140084c57
mov rcx, qword [rcx + 8]
lea rdx, [0x14026b440]
cmp qword [rcx], rdx
jne 0x140084b61
xor edx, edx
mov r8d, 0x7fffffff
call fcn.140140c70
jmp 0x140084c52
lea rax, [0x14026b498]
cmp qword [rcx], rax
jne 0x140084c45
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 0x140084c3d
cmp r8d, 2
jae 0x140084c3d
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 0x140084bda
shr rdx, 0x20
mov eax, edx
jmp 0x140084c52
xor edx, edx
mov r8d, 0x7fffffff
call fcn.140140ac0
jmp 0x140084d5c
mov rax, qword gs:[0x58]
mov ecx, dword [0x14041c448]
mov edx, reloc.WS2_32.dll_recv
add rdx, qword [rax + rcx*8]
mov rcx, rdx
mov rsi, qword [rcx]
test rsi, rsi
je 0x140084d91
mov rax, qword [rsi + 0xa0]
test rax, rax
jne 0x140084c8f
call fcn.1401409d0
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 0x140084d56
cmp ecx, 2
jae 0x140084d56
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 0x140084cf5
shr rdx, 0x20
mov eax, edx
add eax, ebx
jns 0x140084d64
neg eax
js 0x140084da2
add rsp, 0x28
pop rbx
pop rsi
ret
lea rcx, [0x14025c068]
call fcn.140005860
mov rsi, rax
mov rcx, rsi
lea rdx, [0x140232308]
call fcn.1400b4e70
mov rcx, rsi
call fcn.140005de0
lea rax, [0x140135cf0]
call rax
mov rsi, rax
jmp 0x140084c7e
call fcn.1400a7570
int3