Function at 0x1400060e0
Capabilities:
Encode data using xor

Disassembly:
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x70
mov rsi, rcx
mov rbx, qword [rcx + 8]
mov word [rsp + 0x34], 0xac81
mov word [rsp + 0x36], 0xacea
mov word [rsp + 0x38], 0xace4
mov word [rsp + 0x3a], 0xacf3
mov word [rsp + 0x3c], 0xacef
out dx, eax
lodsb al, byte [rsi]
mov word [rsp + 0x3e], 0xace4
mov word [rsp + 0x40], 0xaced
mov word [rsp + 0x42], 0xacb2
mov word [rsp + 0x44], 0xacb3
mov word [rsp + 0x46], 0xacaf
mov word [rsp + 0x48], 0xace5
mov word [rsp + 0x4a], 0xaced
mov word [rsp + 0x4c], 0xaced
mov word [rsp + 0x4e], 0
mov ecx, 0x1a
call fcn.1400018f0
mov rdi, rax
mov eax, 1
nop word cs:[rax + rax]
movzx ecx, word [rsp + rax*2 + 0x34]
xor cx, word [rsp + 0x34]
mov word [rdi + rax*2 - 2], cx
inc rax
cmp rax, 0xd
jne 0x1400060f0
mov word [rdi + 0x18], 0
mov word [rsp + 0x54], 0x9503
mov word [rsp + 0x56], 0x9568
mov word [rsp + 0x58], 0x9566
mov word [rsp + 0x5a], 0x9571
mov word [rsp + 0x5c], 0x956d
mov word [rsp + 0x5e], 0x9566
xchg bp, ax
mov word [rsp + 0x60], 0x956f
mov word [rsp + 0x62], 0x9530
mov word [rsp + 0x64], 0x9531
mov word [rsp + 0x66], 0x952d
mov word [rsp + 0x68], 0x9567
mov word [rsp + 0x6a], 0x956f
mov word [rsp + 0x6c], 0x956f
mov word [rsp + 0x6e], 0
mov ecx, 0x1a
call fcn.1400018f0
mov ecx, 1
nop
movzx edx, word [rsp + rcx*2 + 0x54]
xor dx, word [rsp + 0x54]
mov word [rax + rcx*2 - 2], dx
inc rcx
cmp rcx, 0xd
jne 0x140006180
mov word [rax + 0x18], 0
mov byte [rsp + 0x50], 0x69
movzx ecx, byte [rsp + 0x50]
add cl, 0xf7
movzx ecx, cl
mov rcx, qword gs:[rcx]
mov rcx, qword [rcx + 0x18]
add rcx, 0x20
jmp 0x1400061c6
cmp r9w, r10w
je 0x140006213
mov rcx, qword [rcx]
mov rdx, qword [rcx + 0x50]
xor r8d, r8d
movzx r10d, word [rdx + r8]
lea r11d, [r10 - 0x41]
mov r9d, r10d
or r9d, 0x20
cmp r11w, 0x1a
cmovae r9d, r10d
movzx r11d, word [rax + r8]
lea ebp, [r11 - 0x41]
mov r10d, r11d
or r10d, 0x20
cmp bp, 0x1a
cmovae r10d, r11d
test r9w, r9w
je 0x1400061c0
add r8, 2
cmp r9w, r10w
je 0x1400061d0
jmp 0x1400061c0
mov rdx, qword [rcx + 0x20]
movsxd rcx, dword [rdx + 0x3c]
add rcx, rdx
mov r8d, 0x12337fde
call fcn.140004690
mov rcx, rdi
call rax
mov dword [rsp + 0x54], 0xa6c69c15
mov dword [rsp + 0x50], 0xa6c69d11
mov r14d, dword [rsp + 0x50]
mov ebp, dword [rsp + 0x54]
mov rdi, qword [rbx]
mov rax, qword [rsi]
mov rsi, qword [rax]
mov word [rsp + 0x34], 0x6d
mov word [rsp + 0x36], 0x67
mov word [rsp + 0x38], 0x74
mov word [rsp + 0x3a], 0x70
mov word [rsp + 0x3c], 0x67
mov word [rsp + 0x3e], 0x6e
mov word [rsp + 0x40], 0x35
mov word [rsp + 0x42], 0x34
mov word [rsp + 0x44], 0x30
mov word [rsp + 0x46], 0x66
mov word [rsp + 0x48], 0x6e
mov word [rsp + 0x4a], 0x6e
mov word [rsp + 0x4c], 0
mov ecx, 0x1a
call fcn.1400018f0
xor ecx, ecx
nop word [rax + rax]
movzx edx, word [rsp + rcx*2 + 0x34]
add edx, 0xfffffffe
mov word [rax + rcx*2], dx
inc rcx
cmp rcx, 0xc
jne 0x1400062c0
mov word [rax + 0x18], 0
mov byte [rsp + 0x33], 0x69
movzx ecx, byte [rsp + 0x33]
add cl, 0xf7
movzx ecx, cl
mov rcx, qword gs:[rcx]
mov rcx, qword [rcx + 0x18]
add rcx, 0x20
jmp 0x140006306
cmp r9w, r10w
je 0x140006353
mov rcx, qword [rcx]
mov rdx, qword [rcx + 0x50]
xor r8d, r8d
movzx r10d, word [rdx + r8]
lea r11d, [r10 - 0x41]
mov r9d, r10d
or r9d, 0x20
cmp r11w, 0x1a
cmovae r9d, r10d
movzx r11d, word [rax + r8]
lea ebx, [r11 - 0x41]
mov r10d, r11d
or r10d, 0x20
cmp bx, 0x1a
cmovae r10d, r11d
test r9w, r9w
je 0x140006300
add r8, 2
cmp r9w, r10w
je 0x140006310
jmp 0x140006300
xor ebp, r14d
mov rdx, qword [rcx + 0x20]
movsxd rcx, dword [rdx + 0x3c]
add rcx, rdx
mov r8d, 0x89d2f1d8
call fcn.140004690
mov dword [rsp + 0x28], ebp
mov qword [rsp + 0x20], rdi
mov ecx, 0xfde9
xor edx, edx
mov r8, rsi
mov r9d, 0xffffffff
call rax
nop
add rsp, 0x70
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
ret