Function at 0x1401024f0
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 0x20], r9
mov qword [rax + 0x18], r8
mov qword [rax + 8], rcx
push rbx
push rdi
push r12
sub rsp, 0x90
mov qword [rax - 0x20], rsi
mov qword [rax - 0x30], r14
mov eax, dword [r9 + 0x34]
xor ebx, ebx
mov r12, r9
mov r14, r8
mov rdi, rdx
mov dword [rsp + 0x30], ebx
test eax, eax
jne 0x140102567
cmp dword [r9 + 0x38], ebx
jne 0x140102567
mov edx, dword [r9 + 0x30]
lea rcx, [r9 + 0x20]
call fcn.1400a5120
test eax, eax
jne 0x14010256d
lea r9, [0x14019b678]
lea ecx, [rbx + 3]
lea r8d, [rbx + 0x6d]
mov edx, 0x81
mov dword [rsp + 0x20], 0x108
call fcn.140073540
inc dword [r12 + 0x34]
jmp 0x14010256d
inc eax
mov dword [r9 + 0x34], eax
mov rcx, r12
call fcn.1400a5050
mov rsi, rax
mov qword [rsp + 0x50], rax
test rax, rax
je 0x1401029ec
mov rcx, r12
call fcn.1400a5050
mov qword [rsp + 0x40], rax
test rax, rax
je 0x1401029ec
mov rcx, r12
call fcn.1400a5050
mov qword [rsp + 0x38], rax
test rax, rax
je 0x1401029ec
mov rcx, r12
call fcn.1400a5050
mov rbx, rax
mov qword [rsp + 0x48], rax
test rax, rax
je 0x1401029e8
mov rdx, rdi
mov rdi, qword [rsp + 0x38]
mov r8, r14
mov rcx, rdi
call fcn.140101cd0
test eax, eax
je 0x1401029e8
cmp dword [rdi + 8], 0
je 0x1401029e8
mov rdx, r14
mov rcx, rbx
call fcn.14006e840
test rax, rax
je 0x1401029e8
mov qword [rsp + 0xb8], rbp
mov rcx, rdi
mov qword [rsp + 0x80], r13
mov qword [rsp + 0x70], r15
call fcn.14006e400
mov rcx, rbx
mov ebp, eax
call fcn.14006e400
movsxd r13, dword [r14 + 8]
mov dword [rsp + 0x34], eax
cmp r13d, dword [rdi + 0xc]
jle 0x140102644
mov edx, r13d
mov rcx, rdi
call fcn.14006e780
movsxd rdx, dword [rdi + 8]
mov rbx, qword [rdi]
mov r15, r13
cmp rdx, r13
jge 0x140102667
mov rcx, r13
lea rdi, [rbx + rdx*8]
sub rcx, rdx
xor eax, eax
rep stosq qword [rdi], rax
mov rdi, qword [rsp + 0x38]
mov dword [rdi + 8], r13d
cmp r13d, dword [rsi + 0xc]
jle 0x14010267c
mov edx, r13d
mov rcx, rsi
call fcn.14006e780
mov rsi, qword [rsi]
mov eax, 1
mov qword [rsi], rax
cmp rax, r13
jge 0x14010269c
xor ecx, ecx
nop
mov qword [rsi + rax*8], rcx
inc rax
cmp rax, r13
jl 0x140102690
mov rax, qword [rsp + 0x50]
mov r9, qword [rsp + 0x40]
mov dword [rax + 8], r13d
cmp r13d, dword [r9 + 0xc]
jle 0x1401026c0
mov edx, r13d
mov rcx, r9
call fcn.14006e780
mov r9, qword [rsp + 0x40]
mov r11, qword [r9]
xor eax, eax
mov qword [rsp + 0x60], r11
test r13d, r13d
jle 0x1401026e0
nop
mov qword [r11 + rax*8], 0
inc rax
cmp rax, r13
jl 0x1401026d0
mov r8, qword [rsp + 0x48]
mov dword [r9 + 8], r13d
mov r12, qword [r8]
mov qword [rsp + 0x58], r12
test ebp, ebp
je 0x1401027e3
nop dword [rax]
mov rdi, qword [rbx]
test dil, 1
jne 0x1401027c7
mov rax, qword [rsi]
mov rcx, qword [r14]
xor r15d, r15d
mov rdx, qword [rcx]
mov r9, rax
lea ecx, [r13 - 1]
and r9d, 1
movsxd r10, ecx
neg r9
and rdx, r9
xor rax, rdx
test ecx, ecx
jle 0x1401027b1
mov r12, qword [rsp + 0xc0]
mov r11, rbx
mov r14, 0xfffffffffffffff8
sub r11, rsi
lea r8, [rsi + 8]
mov r15, r10
sub r14, rsi
nop dword [rax]
nop word [rax + rax]
mov rcx, qword [r11 + r8]
shr rdi, 1
shr rax, 1
shl rcx, 0x3f
lea rdx, [r14 + r8]
lea r8, [r8 + 8]
or rcx, rdi
mov rdi, qword [r11 + r8 - 8]
mov qword [r11 + r8 - 0x10], rcx
mov rcx, qword [r12]
mov rdx, qword [rdx + rcx + 8]
and rdx, r9
xor rdx, qword [r8 - 8]
mov rcx, rdx
shl rcx, 0x3f
or rcx, rax
mov rax, rdx
mov qword [r8 - 0x10], rcx
dec r10
jne 0x140102760
mov r14, qword [rsp + 0xc0]
shr rdi, 1
shr rax, 1
mov qword [rbx + r15*8], rdi
mov qword [rsi + r15*8], rax
dec ebp
jne 0x140102700
mov r11, qword [rsp + 0x60]
mov r12, qword [rsp + 0x58]
mov rdi, qword [rsp + 0x38]
mov r8, qword [rsp + 0x48]
mov r9, qword [rsp + 0x40]
mov r15, r13
cmp ebp, 0x40
jg 0x1401027f2
cmp qword [rbx], 1
je 0x14010297c
mov ecx, dword [rsp + 0x34]
cmp ebp, ecx
jge 0x14010282f
mov rax, qword [rsp + 0x50]
mov rbx, r12
mov r12, qword [rdi]
mov rsi, r11
mov r11, qword [rax]
mov dword [rsp + 0x34], ebp
mov ebp, ecx
mov qword [rsp + 0x38], r8
mov qword [rsp + 0x48], rdi
mov qword [rsp + 0x60], r11
mov qword [rsp + 0x50], r9
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x58], r12
xor edx, edx
test r13d, r13d
jle 0x1401028e6
cmp r13d, 2
jb 0x1401028e6
lea eax, [r13 - 1]
xor edi, edi
movsxd rcx, eax
lea r10, [r11 + rcx*8]
lea rax, [rsi + rcx*8]
cmp rsi, r10
ja 0x140102863
cmp rax, r11
jae 0x1401028e6
lea r8, [rbx + rcx*8]
cmp rsi, r8
ja 0x140102871
cmp rax, rbx
jae 0x1401028e6
lea r9, [r12 + rcx*8]
cmp rsi, r9
ja 0x14010287f
cmp rax, r12
jae 0x1401028e6
cmp rbx, r10
ja 0x140102889
cmp r8, r11
jae 0x1401028e6
cmp rbx, r9
ja 0x140102893
cmp r8, r12
jae 0x1401028e6
mov eax, r13d
and eax, 0x80000001
jge 0x1401028a4
dec eax
or eax, 0xfffffffe
inc eax
mov ecx, r13d
sub ecx, eax
nop dword [rax]
movsxd rax, edi
add edi, 2
add rdx, 2
movdqu xmm0, xmmword [rbx + rax*8]
movdqu xmm1, xmmword [r12 + rax*8]
pxor xmm1, xmm0
movdqu xmmword [rbx + rax*8], xmm1
movdqu xmm1, xmmword [r11 + rax*8]
movdqu xmm0, xmmword [rsi + rax*8]
pxor xmm1, xmm0
movdqu xmmword [rsi + rax*8], xmm1
cmp edi, ecx
jl 0x1401028b0
cmp rdx, r15
jge 0x14010291f
mov rdi, r12
mov r8, r11
mov r9, rsi
sub rdi, rbx
sub r8, rbx
sub r9, rbx
lea rcx, [rbx + rdx*8]
mov rax, qword [rdi + rcx]
inc rdx
lea rcx, [rcx + 8]
xor qword [rcx - 8], rax
mov rax, qword [r8 + rcx - 8]
xor qword [r9 + rcx - 8], rax
cmp rdx, r15
jl 0x140102901
mov rdi, qword [rsp + 0x38]
mov r8, qword [rsp + 0x48]
mov r9, qword [rsp + 0x40]
cmp ebp, dword [rsp + 0x34]
jne 0x1401026f1
lea eax, [rbp - 1]
cdq
and edx, 0x3f
add eax, edx
sar eax, 6
movsxd rdi, eax
mov rdx, rdi
mov rcx, qword [rbx + rdi*8]
test rcx, rcx
jne 0x140102967
test rdx, rdx
je 0x140102967
mov rcx, qword [rbx + rdx*8 - 8]
dec rdx
dec edi
test rcx, rcx
je 0x140102953
call fcn.14006e2f0
shl edi, 6
lea ebp, [rdi + rax]
mov rdi, qword [rsp + 0x38]
jmp 0x1401026f1
mov rdi, qword [rsp + 0x50]
mov r15, qword [rsp + 0x70]
mov r13, qword [rsp + 0x80]
mov edx, dword [rdi + 8]
mov rbp, qword [rsp + 0xb8]
mov r12, qword [rsp + 0xc8]
test edx, edx
jle 0x1401029c7
lea eax, [rdx - 1]
movsxd rcx, eax
mov rax, qword [rdi]
lea rcx, [rax + rcx*8]
mov rax, qword [rcx]
lea rcx, [rcx - 8]
test rax, rax
jne 0x1401029c4
dec edx
test edx, edx
jg 0x1401029b2
mov dword [rdi + 8], edx
mov rcx, qword [rsp + 0xb0]
mov rdx, rdi
call fcn.14006e840
mov ebx, dword [rsp + 0x30]
test rax, rax
mov eax, 1
cmovne ebx, eax
jmp 0x1401029ec
mov ebx, dword [rsp + 0x30]
mov ecx, dword [r12 + 0x34]
mov r14, qword [rsp + 0x78]
mov rsi, qword [rsp + 0x88]
test ecx, ecx
je 0x140102a17
dec ecx
mov eax, ebx
mov dword [r12 + 0x34], ecx
add rsp, 0x90
pop r12
pop rdi
pop rbx
ret
dec dword [r12 + 0x28]
mov rax, qword [r12 + 0x20]
mov ecx, dword [r12 + 0x28]
mov r8d, dword [rax + rcx*4]
mov edi, dword [r12 + 0x30]
cmp r8d, edi
jae 0x140102a74
mov eax, dword [r12 + 0x18]
sub edi, r8d
lea edx, [rax - 1]
sub eax, edi
and edx, 0xf
mov dword [r12 + 0x18], eax
test edi, edi
je 0x140102a74
nop dword [rax]
dec edi
test edx, edx
jne 0x140102a6e
mov rax, qword [r12 + 8]
mov edx, reloc.WS2_32.dll_ntohs
mov rcx, qword [rax + 0x180]
mov qword [r12 + 8], rcx
jmp 0x140102a70
dec edx
test edi, edi
jne 0x140102a50
mov dword [r12 + 0x30], r8d
mov dword [r12 + 0x38], 0
mov eax, ebx
add rsp, 0x90
pop r12
pop rdi
pop rbx
ret