Function at 0x14009b880
Capabilities:
Encode data using xor

Disassembly:
xchg rbx, rcx
mov qword [rsp + 0x10], rcx
xchg rbx, rcx
mov qword [rsp + 0x18], rbp
nop
mov qword [rsp - 8], rsi
sub rsp, 8
nop
sub rsp, 8
mov qword [rsp], rdi
nop
mov qword [rsp - 8], r14
sub rsp, 8
nop
sub rsp, 0xf276f4b
add rsp, 0xf276eeb
movsxd rax, dword [rcx + 0x3c]
xchg rsi, rsi
mov r14, rdx
xchg r13, r8
mov rsi, r13
xchg r13, r8
xchg rcx, rbx
mov rcx, rbx
xchg rbx, rcx
mov edx, dword [rax + rcx + 0x98]
mov dword [rsp - 0x14], 0x5c02afd3
test edx, edx
je 0x14009b967
cmp dword [rax + rcx + 0x9c], 0
xchg r8, r8
je 0x14009b967
call fcn.140096e00
xchg rdi, rax
mov rax, rdi
xchg rdi, rax
test rax, rax
je 0x14009b967
xchg r15, r15
movzx r8d, word [rax + 0xe]
xor ebp, ebp
movzx ecx, word [rax + 0xc]
mov dword [rsp - 0x18], 0x709ec0b1
mov edx, ebp
add r8d, ecx
je 0x14009b967
lea rcx, [rax + 0x10]
mov rsp, rsp
mov eax, dword [rcx]
test eax, eax
js 0x14009b954
mov r14, r14
cmp ax, 0x10
je 0x14009b9a3
inc edx
add rcx, 8
mov dword [rsp - 0x44], edx
cmp edx, r8d
jb 0x14009b93d
xor al, al
lea r11, [rsp + 0x60]
mov dword [rsp - 0x10], ebp
xchg rbx, rbp
mov rbp, qword [r11 + 0x28]
xchg rbp, rbx
mov rbp, qword [r11 + 0x30]
mov dword [rsp - 0x20], edi
xchg r11, rbx
mov rsp, rbx
xchg r11, rbx
nop
add rsp, 8
mov r14, qword [rsp - 8]
pop rdi
nop
add rsp, 8
mov rsi, qword [rsp - 8]
ret
mov edx, dword [rcx + 4]
test edx, edx
jns 0x14009b967
mov dword [rsp - 0x24], 0x7c66c8d8
btr edx, 0x1f
add rdx, rdi
je 0x14009b967
mov r8d, 0x71d8d66f
xor r8d, 0x9b2ddaa
sub r8d, 0x2d8f3933
sub r8d, 0x4adad291
mov rcx, rdi
call fcn.14009be20
test rax, rax
mov rsp, rsp
je 0x14009b967
mov r8d, 0x481b214f
xor r8d, 0x70615aeb
xor r8d, 0x4d6c5437
sub r8d, 0x14a531ee
xor r8d, 0x6070f9ac
mov rdx, rax
mov rcx, rdi
call fcn.14009bdc0
xchg r13, r13
test rax, rax
je 0x14009b967
mov edx, dword [rax]
xchg rbx, rcx
mov rbx, rcx
xchg rcx, rbx
call fcn.140096e00
mov r8, rax
mov dword [rsp - 0x10], ebx
test rax, rax
je 0x14009b967
mov eax, 0x4495e12f
xor eax, 0x21ccaf4e
xor eax, 0x5cae0af2
sub eax, 0x3726a808
xor eax, 0x2d09cd7
mov dword [rsp + 0x20], 0x163e1afc
add dword [rsp + 0x20], 0x567314cd
xor dword [rsp + 0x20], 0x4c524ca
sub dword [rsp + 0x20], 0x686e0a5f
mov word [rsp + 0x3c], ax
mov rbp, rbp
mov dword [rsp + 0x24], 0x454d9451
sub dword [rsp + 0x24], 0x1a88a8
add dword [rsp + 0x24], 0x4cf090b
sub dword [rsp + 0x24], 0x3f08366
sub dword [rsp + 0x24], 0x45f69102
mov dword [rsp + 0x28], 0x1e4cf18f
xor dword [rsp + 0x28], 0x18962adb
xor dword [rsp + 0x28], 0x6379c164
sub dword [rsp + 0x28], 0x659c1979
mov dword [rsp + 0x2c], 0x74f5903a
xor dword [rsp + 0x2c], 0x4ff04eb1
add dword [rsp + 0x2c], 0x9005272
xor dword [rsp + 0x2c], 0x440230bd
mov dword [rsp + 0x30], 0x20b5471a
xor dword [rsp + 0x30], 0x8d782a7
add dword [rsp + 0x30], 0x4ec03dbb
sub dword [rsp + 0x30], 0x1bbcf9f0
xor dword [rsp + 0x30], 0x5b7d0935
mov dword [rsp + 0x34], 0x7ed788aa
xor dword [rsp + 0x34], 0x5e36ebb3
add dword [rsp + 0x34], 0x5dfe096c
sub dword [rsp + 0x34], 0x7edb6c39
mov dword [rsp + 0x38], 0x1f47bd13
xor dword [rsp + 0x38], 0x2695a5e7
xor dword [rsp + 0x38], 0x5ad37b4f
sub dword [rsp + 0x38], 0x62ee62ff
xchg rbp, rdi
mov qword [rsp + 0x80], rdi
xchg rbp, rdi
xchg r12, rax
mov r12, qword [rsp + 0x80]
xchg r12, rax
nop dword [rax]
xchg rsi, rsi
nop word [rax + rax]
mov rcx, qword [rsp + 0x80]
xchg rbp, rax
mov rbp, qword [rsp + 0x80]
xchg rbp, rax
and cl, 3
mov dword [rsp - 0x3c], ebp
shl cl, 3
movzx edx, word [rsp + rax*2 + 0x20]
mov eax, 0x57fdb726
add eax, 0x19da5150
sub eax, 0x63f42f3f
xor eax, 0x40f08cc5
shr eax, cl
movzx ecx, al
mov r8, r8
mov rax, qword [rsp + 0x80]
xor cx, dx
mov word [rsp + rax*2 + 0x3e], cx
xchg rbx, rax
mov rbx, qword [rsp + 0x80]
xchg rbx, rax
inc rax
mov dword [rsp - 0x24], esi
mov qword [rsp + 0x80], rax
xchg rdi, rax
mov rdi, qword [rsp + 0x80]
xchg rdi, rax
cmp rax, 0xf
jb 0x14009bb87
mov dword [rsp - 0x14], 0x2e35dde1
lea rax, [r8 + 6]
mov word [rsp + 0x5c], bp
lea rdi, [rsp + 0x3e]
sub rdi, rax
mov rdi, rdi
nop word [rax + rax]
movzx edx, word [rax]
movzx ecx, word [rax + rdi]
sub edx, ecx
mov rbp, rbp
jne 0x14009bc4d
add rax, 2
test ecx, ecx
xchg r15, r15
jne 0x14009bc2c
xor eax, eax
lea rdi, [rsp + 0x3e]
mov ecx, 0xfbe230d
add ecx, 0x409b0c30
xor ecx, 0x5375d742
sub ecx, 0x32cf870
rep stosb byte [rdi], al
mov rdx, rdx
test edx, edx
jne 0x14009b967
mov eax, dword [r8 + 0x28]
mov dword [rsp - 0x44], 0x25a811ed
xor eax, 0x734237da
cmp eax, 0x8dad3367
jne 0x14009b967
xchg r9, r9
cmp dword [r8 + 0x2c], 0x10000
jne 0x14009b967
mov eax, dword [r8 + 0x30]
mov dword [r14], eax
mov rsi, rsi
mov eax, dword [r8 + 0x34]
mov dword [rsi], eax
mov al, 0x33
sub al, 6
add al, 0xc
xor al, 0x10
sub al, 0x28
jmp 0x14009b969