Function at 0x1400f32f0
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
push r14
sub rsp, 0xa0
mov rax, qword [0x1409c0280]
xor rax, rsp
mov qword [rsp + 0x60], rax
mov rsi, rcx
mov dword [rsp + 0x30], r9d
mov ecx, r9d
mov qword [rsp + 0x38], r8
mov r14d, edx
call fcn.1400df580
movsxd rdi, eax
test eax, eax
js 0x1400f3699
lea ecx, [rdi*2 + 2]
cmp r14d, ecx
jb 0x1400f3699
mov rax, qword [0x140a04578]
mov ecx, r14d
mov qword [rsp + 0x98], rbx
mov qword [rsp + 0x90], rbp
test rax, rax
je 0x1400f3361
call rax
jmp 0x1400f3366
call fcn.140182c38
mov rbx, rax
test rax, rax
jne 0x1400f3376
lea eax, [rbx - 0x7d]
jmp 0x1400f3572
mov qword [rsp + 0x88], r12
mov r8, r14
xor edx, edx
mov qword [rsp + 0x80], r13
mov rcx, rbx
call fcn.14016ad60
mov r13d, dword [rsp + 0xe0]
lea eax, [rdi + 1]
movsxd rdx, eax
mov r12d, r14d
sub r12d, edi
mov dword [rsp + 0x20], edi
dec r12d
add rdx, rsi
mov r8d, r12d
mov r9, rbx
mov ecx, r13d
call fcn.1400f2990
mov ebp, eax
test eax, eax
je 0x1400f33e9
mov rdx, qword [0x140a04568]
mov rcx, rbx
test rdx, rdx
je 0x1400f33dd
call rdx
mov eax, ebp
jmp 0x1400f3562
call fcn.14017d748
mov eax, ebp
jmp 0x1400f3562
xor ebp, ebp
mov qword [rsp + 0x78], r15
mov r8d, ebp
test edi, edi
je 0x1400f3524
cmp edi, 8
jb 0x1400f34f8
lea edx, [rdi - 1]
mov eax, edi
add rdx, rbx
lea rcx, [rsi + 1]
add rax, rsi
cmp rbx, rax
ja 0x1400f3421
cmp rdx, rcx
jae 0x1400f34f8
cmp edi, 0x40
jb 0x1400f34bd
mov r9d, edi
mov r11d, edi
and r9d, 0x3f
sub r11d, r9d
mov r10d, reloc.WS2_32.dll_recvfrom
nop dword [rax]
mov edx, r8d
lea eax, [r10 - 0x10]
movdqu xmm1, xmmword [rax + rsi]
mov eax, r10d
lea ecx, [r10 - 1]
add r8d, 0x40
movdqu xmm0, xmmword [rdx + rbx]
pxor xmm1, xmm0
movdqu xmmword [rdx + rbx], xmm1
lea edx, [r10 + 0xf]
movdqu xmm0, xmmword [rcx + rbx]
movdqu xmm1, xmmword [rax + rsi]
lea eax, [r10 + 0x10]
pxor xmm1, xmm0
movdqu xmmword [rcx + rbx], xmm1
movdqu xmm0, xmmword [rdx + rbx]
movdqu xmm1, xmmword [rax + rsi]
lea eax, [r10 + 0x20]
pxor xmm1, xmm0
movdqu xmmword [rdx + rbx], xmm1
lea edx, [r10 + 0x1f]
add r10d, 0x40
movdqu xmm0, xmmword [rdx + rbx]
movdqu xmm1, xmmword [rax + rsi]
pxor xmm1, xmm0
movdqu xmmword [rdx + rbx], xmm1
cmp r8d, r11d
jb 0x1400f3440
cmp r9d, 8
jb 0x1400f34f3
mov eax, edi
mov r9d, edi
and eax, 7
sub r9d, eax
nop dword [rax + rax]
mov edx, r8d
lea eax, [r8 + 1]
movq xmm1, qword [rax + rsi]
add r8d, 8
movq xmm0, qword [rdx + rbx]
pxor xmm1, xmm0
movq qword [rdx + rbx], xmm1
cmp r8d, r9d
jb 0x1400f34d0
cmp r8d, edi
jae 0x1400f3524
mov edx, r8d
lea r9d, [r8 + 1]
add rdx, rbx
add r9, rsi
mov eax, edi
sub eax, r8d
mov r8d, eax
nop dword [rax]
movzx eax, byte [r9]
lea r9, [r9 + 1]
xor byte [rdx], al
lea rdx, [rdx + 1]
sub r8, 1
jne 0x1400f3510
lea r9, [rdi + rbx]
mov dword [rsp + 0x20], r12d
mov r8d, edi
mov rdx, rbx
mov ecx, r13d
call fcn.1400f2990
mov r13d, eax
test eax, eax
je 0x1400f359b
mov rdx, qword [0x140a04568]
mov rcx, rbx
test rdx, rdx
je 0x1400f3555
call rdx
jmp 0x1400f355a
call fcn.14017d748
mov eax, r13d
mov r15, qword [rsp + 0x78]
mov r12, qword [rsp + 0x88]
mov r13, qword [rsp + 0x80]
mov rbx, qword [rsp + 0x98]
mov rbp, qword [rsp + 0x90]
mov rcx, qword [rsp + 0x60]
xor rcx, rsp
call fcn.140167e90
add rsp, 0xa0
pop r14
pop rdi
pop rsi
ret
test r12d, r12d
je 0x1400f35c7
mov ecx, edi
mov r9d, r12d
nop word [rax + rax]
lea r8d, [rcx + 1]
mov eax, ecx
movzx ecx, byte [rax + rbx]
xor byte [r8 + rsi], cl
mov ecx, r8d
sub r9, 1
jne 0x1400f35b0
mov rax, qword [0x140a04568]
mov rcx, rbx
test rax, rax
je 0x1400f35da
call rax
jmp 0x1400f35df
call fcn.14017d748
lea ebx, [rdi*2 + 1]
cmp ebx, r14d
jae 0x1400f35ff
mov edx, ebx
add rdx, rsi
cmp byte [rdx], bpl
jne 0x1400f35ff
inc ebx
inc rdx
cmp ebx, r14d
jb 0x1400f35f0
mov ecx, dword [rsp + 0x30]
lea r9, [rsp + 0x40]
xor r8d, r8d
mov dword [rsp + 0x20], edi
xor edx, edx
call fcn.1400df690
test eax, eax
jne 0x1400f355d
test edi, edi
jle 0x1400f3650
lea rcx, [rsp + 0x40]
mov r8, rdi
sub r8, rcx
mov rdx, rbp
add r8, rsi
lea rax, [rsp + 0x40]
add rax, rdx
inc rdx
movzx ecx, byte [rax + r8 + 1]
movzx eax, byte [rax]
xor ecx, eax
or ebp, ecx
cmp rdx, rdi
jl 0x1400f3633
movzx ecx, byte [rsi]
movzx edx, byte [rbx + rsi]
xor edx, 1
add edx, ebp
add edx, ecx
lea eax, [rdx - 1]
not edx
shr eax, 0x1f
shr edx, 0x1f
neg al
neg dl
movsx ecx, al
movsx eax, dl
lea edx, [rbx + 1]
and ecx, eax
mov rax, qword [rsp + 0x38]
and edx, ecx
not ecx
and ecx, r14d
or edx, ecx
mov ecx, edx
add rcx, rsi
sub r14d, edx
mov qword [rax], rcx
mov eax, r14d
jmp 0x1400f355d
mov eax, 0xffffff53
jmp 0x1400f3582