Function at 0x18004e160
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 7]
sub rsp, 0x98
mov rax, qword [0x180364978]
xor rax, rsp
mov qword [rbp - 9], rax
mov r10, r8
mov esi, edx
mov dword [rbp - 0x71], esi
mov rdi, rcx
mov qword [rbp - 0x61], rcx
mov rbx, qword [rbp + 0x77]
mov qword [rbp - 0x59], rbx
mov r15d, edx
and r15d, 0xf
mov dword [rbp - 0x6d], r15d
mov cl, byte [rbp + 0x87]
test cl, cl
jne 0x18004e1c2
test r15d, r15d
je 0x18004e1c2
mov ebx, 1
jmp 0x18004e43c
lea eax, [r9 - 0x10]
test eax, 0xffffffe7
jne 0x18004e437
cmp r9d, 0x28
je 0x18004e437
mov r14d, reloc.WS2_32.dll_recv
test cl, cl
je 0x18004e1fc
mov eax, esi
sub eax, r15d
add eax, r14d
cmp dword [rbp + 0x7f], eax
jae 0x18004e201
mov ebx, 3
jmp 0x18004e43c
cmp dword [rbp + 0x7f], esi
jmp 0x18004e1f0
mov r8d, r9d
mov rdx, r10
lea rcx, [rbp - 0x51]
call fcn.18001a094
nop
xorps xmm0, xmm0
movups xmmword [rbp - 0x21], xmm0
mov r13d, r14d
sub r13b, r15b
mov dword [rbp - 0x69], r13d
mov r8, r14
cmp esi, r14d
jae 0x18004e23a
movzx edx, r13b
lea rcx, [rbp - 0x21]
call fcn.1800ade70
mov r8, rsi
mov rdx, rdi
lea rcx, [rbp - 0x21]
call fcn.1800ad7c0
mov rax, qword [rbp + 0x6f]
test rax, rax
je 0x18004e261
movdqu xmm1, xmmword [rax]
movdqu xmm0, xmmword [rbp - 0x21]
pxor xmm1, xmm0
movdqu xmmword [rbp - 0x21], xmm1
mov r8, rbx
lea rdx, [rbp - 0x21]
lea rcx, [rbp - 0x51]
call fcn.18004e46c
mov eax, esi
shr eax, 4
lea r12d, [rax - 1]
mov ebx, 1
cmp eax, ebx
jbe 0x18004e2f7
mov edi, r14d
mov r13d, r12d
mov r15, qword [rbp - 0x59]
mov rsi, qword [rbp - 0x61]
movsxd r14, edi
lea rdx, [r14 + rsi]
mov r8d, reloc.WS2_32.dll_recv
lea rcx, [rbp - 0x21]
call fcn.1800ad7c0
xor edx, edx
lea rcx, [rbp - 0x21]
mov r8, r14
sub r8, rcx
add r8, r15
lea rcx, [rbp - 0x21]
add rcx, rdx
mov al, byte [rcx + r8 - 0x10]
xor byte [rcx], al
add rdx, rbx
cmp rdx, 0x10
jl 0x18004e2b6
lea r8, [r14 + r15]
lea rdx, [rbp - 0x21]
lea rcx, [rbp - 0x51]
call fcn.18004e46c
mov r14d, reloc.WS2_32.dll_recv
add edi, r14d
sub r13, rbx
jne 0x18004e291
mov esi, dword [rbp - 0x71]
mov r15d, dword [rbp - 0x6d]
mov r13d, dword [rbp - 0x69]
cmp byte [rbp + 0x87], 0
je 0x18004e3f9
cmp esi, r14d
jb 0x18004e3f9
mov rcx, r14
call fcn.1800ac284
mov rdi, rax
mov qword [rbp - 0x39], rax
lea r14, [rax + 0x10]
mov qword [rbp - 0x29], r14
mov r8d, reloc.WS2_32.dll_recv
mov dl, r13b
mov rcx, rax
call fcn.1800300a8
mov qword [rbp - 0x31], r14
mov ecx, reloc.WS2_32.dll_recv
call fcn.1800ac284
mov r13, rax
lea rdx, [rax + 0x10]
mov rcx, rax
call fcn.180018d70
mov r8d, r15d
mov edx, esi
sub rdx, r8
add rdx, qword [rbp - 0x61]
mov rcx, rdi
call fcn.1800ad7c0
mov rcx, rdi
shl r12d, 4
mov r8d, r12d
sub r8, rdi
mov r12, qword [rbp - 0x59]
add r8, r12
mov edx, reloc.WS2_32.dll_recv
mov al, byte [r8 + rcx]
xor byte [rcx], al
add rcx, rbx
sub rdx, rbx
jne 0x18004e37f
mov r8, r13
mov rdx, rdi
lea rcx, [rbp - 0x51]
call fcn.18004e46c
sub esi, r15d
mov ecx, esi
add rcx, r12
mov ebx, reloc.WS2_32.dll_recv
mov r8d, ebx
mov rdx, r13
call fcn.1800ad7c0
test r13, r13
je 0x18004e3c4
mov edx, ebx
mov rcx, r13
call fcn.1800ac2c0
nop
test rdi, rdi
je 0x18004e3f9
sub r14, rdi
cmp r14, 0x1000
jb 0x18004e3ed
add r14, 0x27
mov rcx, qword [rdi - 8]
sub rdi, rcx
lea rax, [rdi - 8]
cmp rax, 0x1f
ja 0x18004e45e
mov rdi, rcx
mov rdx, r14
mov rcx, rdi
call fcn.1800ac2c0
nop
mov rcx, qword [rbp - 0x51]
test rcx, rcx
je 0x18004e433
mov rdx, qword [rbp - 0x41]
sub rdx, rcx
and rdx, 0xfffffffffffffff0
mov rax, rcx
cmp rdx, 0x1000
jb 0x18004e42e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18004e464
call fcn.1800ac2c0
xor eax, eax
jmp 0x18004e43e
mov ebx, 2
mov eax, ebx
mov rcx, qword [rbp - 9]
xor rcx, rsp
call fcn.1800ac760
add rsp, 0x98
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
call fcn.1800b36a4
nop
call fcn.1800b36a4
int3