Function at 0x1400f6d90
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rsi
push rdi
push r13
lea rbp, [rsp - 0x318]
sub rsp, 0x418
mov rax, qword [0x1409c0280]
xor rax, rsp
mov qword [rbp + 0x2e0], rax
mov qword [rsp + 0x40], rcx
mov rax, r9
mov qword [rsp + 0x48], rax
mov r13d, r8d
mov rdi, rdx
mov rsi, rcx
test rdx, rdx
je 0x1400f72f3
test rax, rax
je 0x1400f72f3
test rcx, rcx
je 0x1400f72f3
cmp dword [rcx + 0x18], 0
je 0x1400f72f3
mov edx, dword [rcx + 0x1c]
lea r9, [rcx + 0x1c]
mov qword [rsp + 0x410], rbx
lea rbx, [rcx + 0x70]
mov r8, rbx
mov qword [rsp + 0x38], rbx
mov rcx, rbx
call fcn.1400e0af0
test eax, eax
jne 0x1400f72ec
cmp dword [r9], 8
jb 0x1400f72ec
mov r10d, dword [rsi + 0x18]
xorps xmm0, xmm0
mov qword [rsp + 0x408], r12
mov qword [rsp + 0x400], r14
mov qword [rsp + 0x3f8], r15
xor r15d, r15d
mov dword [rsp + 0x34], r10d
movups xmmword [rbp + 0x2a0], xmm0
movups xmmword [rbp + 0x2b0], xmm0
test r10d, r10d
js 0x1400f72a9
cmp dword [rbp + 0x360], r15d
jl 0x1400f72a9
lea ecx, [rax + 3]
call fcn.1400df580
mov esi, eax
test eax, eax
js 0x1400f72ae
lea edx, [r15 + 3]
lea rcx, [rsp + 0x50]
call fcn.1400df7e0
test eax, eax
je 0x1400f6e9c
mov esi, eax
jmp 0x1400f72ae
xor r12d, r12d
mov dword [rsp + 0x30], r10d
test r10d, r10d
jle 0x1400f6f8e
nop dword [rax]
mov r14d, esi
test r15d, r15d
je 0x1400f6ed4
mov r8d, esi
lea rdx, [rbp + 0x2c0]
lea rcx, [rsp + 0x50]
call fcn.1400f1d60
test eax, eax
jne 0x1400f6f9d
mov r8d, dword [rbp + 0x360]
lea rcx, [rsp + 0x50]
mov rdx, qword [rsp + 0x48]
call fcn.1400f1d60
test eax, eax
jne 0x1400f6f9d
test rbx, rbx
je 0x1400f6f10
lea r8d, [rax + 8]
mov rdx, rbx
lea rcx, [rsp + 0x50]
call fcn.1400f1d60
test eax, eax
jne 0x1400f6f9d
lea r8, [rbp + 0x2c0]
mov edx, 3
lea rcx, [rsp + 0x50]
call fcn.1400df920
test eax, eax
jne 0x1400f6f9d
mov ecx, dword [rsp + 0x30]
test ecx, ecx
je 0x1400f6f69
mov eax, dword [rsp + 0x34]
lea rdx, [rbp + 0x2c0]
cmp ecx, esi
mov ebx, esi
cmovl ebx, ecx
sub eax, ecx
cdqe
lea rcx, [rbp + 0x2a0]
add rcx, rax
movsxd r8, ebx
call fcn.14016a6b0
sub dword [rsp + 0x30], ebx
add r15d, ebx
sub r14d, ebx
mov rbx, qword [rsp + 0x38]
test r12d, r12d
je 0x1400f6f80
test r14d, r14d
je 0x1400f6f80
cmp r12d, r14d
cmovl r14d, r12d
add r15d, r14d
sub r12d, r14d
mov r10d, dword [rsp + 0x34]
cmp r15d, r10d
jl 0x1400f6eb0
cmp r15d, r10d
je 0x1400f6fa8
mov esi, 0xffffff7c
jmp 0x1400f72ae
mov esi, eax
test eax, eax
je 0x1400f6faa
jmp 0x1400f72ae
xor esi, esi
mov r14, qword [rsp + 0x40]
cmp dword [r14 + 0x14], 8
jne 0x1400f6ff8
test rbx, rbx
je 0x1400f6fc0
mov rax, qword [rbx]
jmp 0x1400f6fc2
xor eax, eax
lea r8, [rsp + 0x60]
mov qword [rsp + 0x50], rax
mov edx, 1
lea rcx, [rbp + 0x2a0]
call fcn.1400f5540
mov esi, eax
test eax, eax
jne 0x1400f6ff8
mov r9d, r13d
lea rcx, [rsp + 0x50]
mov r8, rdi
mov rdx, rdi
call fcn.1400f6a90
mov esi, eax
cmp dword [r14 + 0x14], 7
jne 0x1400f714c
lea r8, [rbp + 0x100]
mov qword [rbp + 0x290], 0
mov edx, 1
lea rcx, [rbp + 0x2b0]
call fcn.1400f5540
mov esi, eax
test eax, eax
jne 0x1400f714c
lea r8, [rbp + 0x180]
xor edx, edx
lea rcx, [rbp + 0x2a8]
call fcn.1400f5540
mov esi, eax
test eax, eax
jne 0x1400f714c
lea r8, [rbp + 0x200]
lea edx, [rax + 1]
lea rcx, [rbp + 0x2a0]
call fcn.1400f5540
mov esi, eax
test eax, eax
jne 0x1400f714c
test rbx, rbx
je 0x1400f7079
mov r14, qword [rbx]
jmp 0x1400f707c
xor r14d, r14d
mov r15d, r13d
mov qword [rbp + 0x280], r14
shr r15d, 3
test r15d, r15d
je 0x1400f7145
lea rbx, [rdi + 2]
nop word [rax + rax]
mov r12, qword [rbx - 2]
lea r8, [rbx - 2]
lea rdx, [rbp + 0x288]
mov qword [rbp + 0x288], r12
lea rcx, [rbp + 0x100]
dec r15d
call fcn.1400f68d0
lea rcx, [rbp + 0x280]
lea rax, [rbx - 2]
or rax, rcx
test al, 7
jne 0x1400f70e0
xor qword [rbx - 2], r14
jmp 0x1400f7129
movzx eax, byte [rbp + 0x281]
xor byte [rbx - 1], al
movzx eax, byte [rbp + 0x282]
xor byte [rbx], al
movzx eax, byte [rbp + 0x283]
xor byte [rbx + 1], al
movzx eax, byte [rbp + 0x284]
xor byte [rbx + 2], al
movzx eax, byte [rbp + 0x285]
xor byte [rbx + 3], al
movzx eax, byte [rbp + 0x286]
xor byte [rbx + 4], al
movzx eax, byte [rbp + 0x287]
xor byte [rbx - 2], r14b
xor byte [rbx + 5], al
add rbx, 8
mov qword [rbp + 0x280], r12
mov r14, r12
test r15d, r15d
jne 0x1400f70a0
mov rbx, qword [rsp + 0x38]
mov r14, qword [rsp + 0x40]
xor esi, esi
cmp dword [r14 + 0x14], 2
jne 0x1400f72ae
mov r8d, dword [r14 + 0x18]
test rbx, rbx
je 0x1400f72a9
lea eax, [r8 - 0x10]
mov qword [rbp + 0xf8], 0
test eax, 0xffffffe7
jne 0x1400f72a9
cmp r8d, 0x28
je 0x1400f72a9
mov eax, r8d
mov dword [rbp + 0xd4], r8d
shr eax, 2
lea rdx, [rbp + 0x2a0]
add eax, 6
mov dword [rsp + 0x20], 1
mov r9, rbx
mov dword [rbp + 0xd0], eax
lea rcx, [rbp - 0x20]
call fcn.1400f0260
mov esi, eax
test eax, eax
jne 0x1400f72ae
test r13b, 0xf
jne 0x1400f72a9
shr r13d, 4
test r13d, r13d
je 0x1400f72a5
lea rbx, [rbp + 0xd8]
sub rbx, rdi
nop dword [rax]
nop dword [rax + rax]
movups xmm0, xmmword [rdi]
mov r8, rdi
lea rdx, [rbp + 0xe8]
lea rcx, [rbp - 0x20]
dec r13d
movups xmmword [rbp + 0xe8], xmm0
call fcn.1400efc30
lea rcx, [rbp + 0xd8]
mov rax, rdi
or rax, rcx
test al, 7
jne 0x1400f7238
mov rax, qword [rbp + 0xd8]
xor qword [rdi], rax
mov rax, qword [rbp + 0xe0]
xor qword [rdi + 8], rax
jmp 0x1400f7286
lea rax, [rbp + 0xe7]
cmp rdi, rax
ja 0x1400f7272
lea rax, [rdi + 0xf]
lea rcx, [rbp + 0xd8]
cmp rax, rcx
jb 0x1400f7272
mov rax, rdi
mov edx, reloc.WS2_32.dll_recv
nop dword [rax]
movzx ecx, byte [rbx + rax]
xor byte [rax], cl
lea rax, [rax + 1]
sub rdx, 1
jne 0x1400f7260
jmp 0x1400f7286
movdqu xmm0, xmmword [rdi]
movdqu xmm1, xmmword [rbp + 0xd8]
pxor xmm1, xmm0
movdqu xmmword [rdi], xmm1
movups xmm0, xmmword [rbp + 0xe8]
add rdi, 0x10
sub rbx, 0x10
movups xmmword [rbp + 0xd8], xmm0
test r13d, r13d
jne 0x1400f71f0
xor esi, esi
jmp 0x1400f72ae
mov esi, 0xffffff53
mov r14, qword [rsp + 0x400]
mov eax, esi
mov r12, qword [rsp + 0x408]
mov r15, qword [rsp + 0x3f8]
mov rbx, qword [rsp + 0x410]
mov rcx, qword [rbp + 0x2e0]
xor rcx, rsp
call fcn.140167e90
add rsp, 0x418
pop r13
pop rdi
pop rsi
pop rbp
ret
mov eax, 0xffffff7c
jmp 0x1400f72c8
mov eax, 0xffffff53
jmp 0x1400f72d0