Function at 0x140117c9c
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov dword [rsp - 0x34], 0x6c50e5c0
push rbp
nop
push r15
mov qword [rsp], rdi
nop
mov qword [rsp - 8], r12
sub rsp, 8
push r13
xchg r12, r12
push r14
lea rbp, [rsp - 0x90]
add rsp, 0x368b05a5
sub rsp, 0x368b0735
xor esi, esi
mov r15, r15
mov dword [rsp + 0x30], 0x28f24bda
add dword [rsp + 0x30], 0x26dc11e8
xor dword [rsp + 0x30], 0x6d99e2ae
xor dword [rsp + 0x30], 0x2257bfa4
mov dword [rsp + 0x34], 0x5e44d0f0
sub dword [rsp + 0x34], 0x4e2dce4
xor dword [rsp + 0x34], 0x32640bc2
sub dword [rsp + 0x34], 0x309f4dce
xor dword [rsp + 0x34], 0x3a4bb2ed
mov r13d, 0x3c840a9a
add r13d, 0x2080dc93
add r13d, 0x17fdbeb1
sub r13d, 0x2809f09d
sub r13d, 0x4cf8b454
mov dword [rsp + 0x38], 0x6925f14b
sub dword [rsp + 0x38], 0x1852deca
sub dword [rsp + 0x38], 0x39c4352d
add dword [rsp + 0x38], 0x569e492b
xor dword [rsp + 0x38], 0x6dae26a3
mov qword [rbp + 0xc0], rsi
xchg r9, rax
mov r9, qword [rbp + 0xc0]
xchg r9, rax
lea r14d, [rsi + 3]
lea ebx, [rsi + 1]
mov dword [rsp - 0x14], 0x4e8db5e1
mov rcx, qword [rbp + 0xc0]
xchg r13, rax
mov r13, qword [rbp + 0xc0]
xchg r13, rax
and cl, r14b
shl cl, 3
movzx edx, word [rsp + rax*2 + 0x30]
mov dword [rsp - 0x1c], 0xf358d4f
mov eax, 0x4159163b
add eax, 0x19dc487c
sub eax, 0x19acfcb6
xor eax, 0x5b5751ea
shr eax, cl
mov dword [rsp - 0xc], edx
movzx ecx, al
xchg rdx, rax
mov rdx, qword [rbp + 0xc0]
xchg rdx, rax
xor cx, dx
mov word [rbp + rax*2 - 0x10], cx
xchg r9, r9
xchg r9, rax
mov r9, qword [rbp + 0xc0]
xchg r9, rax
add rax, rbx
mov dword [rsp - 0x14], edx
xchg r15, rax
mov qword [rbp + 0xc0], r15
xchg r15, rax
xchg rsi, rax
mov rsi, qword [rbp + 0xc0]
xchg rsi, rax
cmp rax, 6
jb 0x140117d95
xchg r12, r12
lea rax, [rbp - 0x10]
mov word [rbp - 4], si
mov qword [rbp - 0x38], rax
xchg rbp, rbp
mov eax, 0x645608e0
sub eax, 0x1aae3a71
sub eax, 0x423710dc
sub eax, 0x770bcdd
mov word [rbp - 0x46], ax
mov dword [rbp - 0x40], 0x3c663b0c
xor dword [rbp - 0x40], 0x1c6a7e39
xor dword [rbp - 0x40], 0x78923a94
sub dword [rbp - 0x40], 0x58907f95
mov dword [rsp + 0x6a], 0x2090521a
xor dword [rsp + 0x6a], 0x6f876dd
add dword [rsp + 0x6a], 0x3080369
add dword [rsp + 0x6a], 0x21b41d7
sub dword [rsp + 0x6a], 0x2b356987
mov dword [rsp + 0x6e], 0x4f9c13d0
add dword [rsp + 0x6e], 0x2155e6b1
xor dword [rsp + 0x6e], 0x5e4c395b
add dword [rsp + 0x6e], 0x69e1384
sub dword [rsp + 0x6e], 0x352dd675
mov dword [rsp + 0x72], 0x1ca43250
add dword [rsp + 0x72], 0x463bb86b
sub dword [rsp + 0x72], 0x57d47a95
xor dword [rsp + 0x72], 0xb4a708b
mov dword [rsp + 0x76], 0x42fb7e43
xor dword [rsp + 0x76], 0x682d6091
add dword [rsp + 0x76], 0x2d215f4a
xor dword [rsp + 0x76], 0x205c201a
sub dword [rsp + 0x76], 0x772c5d4c
mov dword [rsp + 0x7a], 0x334373ab
sub dword [rsp + 0x7a], 0x15ececce
sub dword [rsp + 0x7a], 0x36a785c
xor dword [rsp + 0x7a], 0x77c75e7f
sub dword [rsp + 0x7a], 0x6dc35033
mov dword [rsp + 0x7e], 0x37d4a9c2
xor dword [rsp + 0x7e], 0x1e60be21
add dword [rsp + 0x7e], 0x1aab72a6
sub dword [rsp + 0x7e], 0x43f189d2
mov dword [rbp - 0x7e], 0xb7db220
add dword [rbp - 0x7e], 0x32e68e20
sub dword [rbp - 0x7e], 0x23b1459
sub dword [rbp - 0x7e], 0x3be62b48
mov dword [rbp - 0x7a], 0x766f1444
xor dword [rbp - 0x7a], 0x1221d6f9
sub dword [rbp - 0x7a], 0x63997788
xor dword [rbp - 0x7a], 0x71e89ff9
xor dword [rbp - 0x7a], 0x717dd460
mov dword [rbp - 0x76], 0x3689b66b
add dword [rbp - 0x76], 0x1c540dd2
xor dword [rbp - 0x76], 0x4ad894bc
sub dword [rbp - 0x76], 0x17e94fbd
mov dword [rbp - 0x72], 0x2e78e151
sub dword [rbp - 0x72], 0x2a67307c
add dword [rbp - 0x72], 0x61508d85
xor dword [rbp - 0x72], 0x2138c05b
xor dword [rbp - 0x72], 0x4429feb9
mov dword [rbp - 0x6e], 0x69c066be
sub dword [rbp - 0x6e], 0x1e1196a9
sub dword [rbp - 0x6e], 0x1267b24f
add dword [rbp - 0x6e], 0x2330c91a
sub dword [rbp - 0x6e], 0x5c1ce641
mov dword [rbp - 0x6a], 0x35c32c76
xor dword [rbp - 0x6a], 0x5e67b5
add dword [rbp - 0x6a], 0x37d8ba06
sub dword [rbp - 0x6a], 0x6cfe051f
mov dword [rbp - 0x66], 0x5fe3f3f8
sub dword [rbp - 0x66], 0x449cc020
add dword [rbp - 0x66], 0x563a9273
sub dword [rbp - 0x66], 0x27cb31f
xor dword [rbp - 0x66], 0x6f5513e9
mov dword [rbp - 0x62], 0x22f43d67
add dword [rbp - 0x62], 0x15233dab
xor dword [rbp - 0x62], 0x835d88b
add dword [rbp - 0x62], 0x1f172aa
xor dword [rbp - 0x62], 0x326316f3
mov dword [rbp - 0x5e], 0x2afc9dce
sub dword [rbp - 0x5e], 0x54d9917
xor dword [rbp - 0x5e], 0x3b069cb4
xor dword [rbp - 0x5e], 0x1efb98c7
mov dword [rbp - 0x5a], 0x191142cc
add dword [rbp - 0x5a], 0x4bc7186f
xor dword [rbp - 0x5a], 0x64809bb7
add dword [rbp - 0x5a], 0x40aa1afb
xor dword [rbp - 0x5a], 0x4171db34
mov dword [rbp - 0x56], 0x2485f574
add dword [rbp - 0x56], 0x48dd4b5
sub dword [rbp - 0x56], 0x1bf99cbb
xor dword [rbp - 0x56], 0xd442deb
mov dword [rbp - 0x52], 0x3201a3d9
xor dword [rbp - 0x52], 0x60c92ff2
sub dword [rbp - 0x52], 0x2e68205d
xor dword [rbp - 0x52], 0x24556b7d
mov dword [rbp - 0x4e], 0x3af1633
xor dword [rbp - 0x4e], 0x2dcd9c87
add dword [rbp - 0x4e], 0x16076413
xor dword [rbp - 0x4e], 0x2d2c4cc6
sub dword [rbp - 0x4e], 0x68efa181
mov dword [rbp - 0x4a], 0x5771ddcd
sub dword [rbp - 0x4a], 0x29906e52
xor dword [rbp - 0x4a], 0x27cdd88a
sub dword [rbp - 0x4a], 0x9feb708
mov qword [rbp + 0xc0], rsi
mov dword [rsp - 0x1c], 0x73e2f511
mov rax, qword [rbp + 0xc0]
mov rcx, qword [rbp + 0xc0]
mov rax, qword [rbp + 0xc0]
mov dword [rsp - 0x40], 0xaaaf5e4
and cl, r14b
shl cl, 1
shl cl, 1
shl cl, 1
movzx edx, word [rsp + rax*2 + 0x6a]
mov eax, 0x4be10bd7
sub eax, 0x3cafd9e1
add eax, 0x6d6d8430
sub eax, 0x61bf823b
shr eax, cl
movzx ecx, al
xchg rdi, rdi
xchg r15, rax
mov r15, qword [rbp + 0xc0]
xchg r15, rax
xor cx, dx
mov rdi, rdi
mov word [rbp + rax*2 + 0x30], cx
xchg r11, rax
mov r11, qword [rbp + 0xc0]
xchg r11, rax
add rax, rbx
mov dword [rsp - 0x24], edx
mov qword [rbp + 0xc0], rax
xchg rsi, rax
mov rsi, qword [rbp + 0xc0]
xchg rsi, rax
cmp rax, 0x29
mov dword [rsp - 0x18], edi
jb 0x140118114
lea rax, [rbp + 0x30]
mov word [rbp + 0x82], si
lea r9, [rbp - 0x30]
xchg r8, r8
mov qword [rbp - 0x28], rax
lea r8, [rbp - 0x40]
mov dword [rbp - 0x30], 0x56a9f5db
xor dword [rbp - 0x30], 0x387ab895
xor dword [rbp - 0x30], 0x37b5d72e
sub dword [rbp - 0x30], 0x59129a0e
xor edx, edx
mov dword [rsp + 0x20], esi
xchg r15, r15
xor ecx, ecx
call fcn.140133b40
xchg r14, rdi
mov r14, rax
xchg rdi, r14
test rax, rax
mov dword [rsp - 0x34], ebx
je 0x140118240
mov rcx, rax
call fcn.14010f6b8
test al, al
mov dword [rsp - 0x14], ebp
je 0x140118240
lea rdx, [rbp - 0x40]
xchg r15, rcx
mov r15, rdi
xchg r15, rcx
call fcn.14010e4e8
test al, al
mov r13, r13
je 0x140118240
lea rdx, [rbp - 0x30]
mov rcx, rdi
mov r8, r8
call fcn.14010f534
test al, al
jne 0x140118530
mov dword [rsp + 0x3c], 0x3fb2ae9b
add dword [rsp + 0x3c], 0xaf692b1
add dword [rsp + 0x3c], 0x162555c4
sub dword [rsp + 0x3c], 0x60789690
mov dword [rsp + 0x40], 0x547b6367
sub dword [rsp + 0x40], 0x4943efaa
xor dword [rsp + 0x40], 0x74096466
sub dword [rsp + 0x40], 0x7f1016f2
mov dword [rsp + 0x44], 0x219e66e5
xor dword [rsp + 0x44], 0x67e8a3b4
add dword [rsp + 0x44], 0x35e9a7b7
sub dword [rsp + 0x44], 0x7bfe6c3d
mov dword [rsp + 0x48], 0x7dccf1d0
xor dword [rsp + 0x48], 0x1288c0ca
sub dword [rsp + 0x48], 0x5ba12560
add dword [rsp + 0x48], 0x2f7b44d6
xor dword [rsp + 0x48], 0x4324501e
mov dword [rsp + 0x4c], 0x7cd0009c
sub dword [rsp + 0x4c], 0x31a3d8d1
sub dword [rsp + 0x4c], 0x2a41e015
sub dword [rsp + 0x4c], 0x20a9470a
mov dword [rsp + 0x50], 0x148ab90d
sub dword [rsp + 0x50], 0x8c87cf7
add dword [rsp + 0x50], 0x1d19b9b0
xor dword [rsp + 0x50], 0x28b4f576
mov dword [rsp + 0x54], 0x3fa9791
add dword [rsp + 0x54], 0x542eb3dd
sub dword [rsp + 0x54], 0x2116c669
sub dword [rsp + 0x54], 0x3709846a
mov dword [rsp + 0x58], 0x17e5c73
add dword [rsp + 0x58], 0x53af9d45
add dword [rsp + 0x58], 0x67e848
xor dword [rsp + 0x58], 0xef0f231
sub dword [rsp + 0x58], 0x5b3d0f4a
mov dword [rsp + 0x5c], 0x4c49a6f4
xor dword [rsp + 0x5c], 0x1685a4a0
add dword [rsp + 0x5c], 0x225f03c
xor dword [rsp + 0x5c], 0x68e00280
sub dword [rsp + 0x5c], 0x3410ef37
mov dword [rsp + 0x60], 0x1b99266
xor dword [rsp + 0x60], 0x31c38b6d
add dword [rsp + 0x60], 0x402417e7
xor dword [rsp + 0x60], 0x75843e2a
sub dword [rsp + 0x60], 0x4ed0dee
mov dword [rsp + 0x64], 0x559f7796
xor dword [rsp + 0x64], 0x6ee6b7dd
sub dword [rsp + 0x64], 0x2f6df4c0
add dword [rsp + 0x64], 0x23dbb0c3
xor dword [rsp + 0x64], 0x2fed7c96
mov word [rsp + 0x68], r13w
mov qword [rbp + 0xc0], rsi
mov r13, r13
mov rax, qword [rbp + 0xc0]
mov rcx, qword [rbp + 0xc0]
mov rax, qword [rbp + 0xc0]
mov dword [rsp - 0x14], 0x6549aa64
and cl, r14b
shl cl, 3
movzx edx, word [rsp + rax*2 + 0x3c]
mov eax, 0x5ab9870a
xor eax, 0x1551208a
sub eax, 0x1583d873
sub eax, 0x1f859b22
shr eax, cl
mov dword [rsp - 0x10], esi
movzx ecx, al
xchg rsp, rax
mov rsp, qword [rbp + 0xc0]
xchg rsp, rax
xor cx, dx
mov rsi, rsi
mov word [rbp + rax*2], cx
xchg rcx, rax
mov rcx, qword [rbp + 0xc0]
xchg rcx, rax
add rax, rbx
mov r15, r15
xchg r8, rax
mov qword [rbp + 0xc0], r8
xchg r8, rax
xchg r8, rax
mov r8, qword [rbp + 0xc0]
xchg r8, rax
cmp rax, 0x17
jb 0x1401183df
lea rax, [rbp]
xchg rcx, rcx
mov word [rbp + 0x2e], si
lea r9, [rbp - 0x20]
xchg r10, rax
mov qword [rbp - 0x18], r10
xchg r10, rax
lea r8, [rbp - 0x40]
xchg rdx, rdx
mov dword [rbp - 0x20], 0x4fde7ef1
sub dword [rbp - 0x20], 0x22d2e8e3
add dword [rbp - 0x20], 0x384b289c
sub dword [rbp - 0x20], 0x6526be7c
xor edx, edx
mov dword [rsp + 0x20], esi
mov dword [rsp - 0x18], 0x396cdee9
xor ecx, ecx
call fcn.140133b40
mov rdi, rax
mov dword [rsp - 0x1c], 0x482bab8c
test rax, rax
je 0x14011851c
xchg rcx, r9
mov r9, rax
xchg rcx, r9
call fcn.14010f6b8
mov dword [rsp - 0x40], edx
test al, al
je 0x14011851c
lea rdx, [rbp - 0x40]
xchg rdi, rcx
mov rdi, rcx
xchg rdi, rcx
call fcn.14010e4e8
test al, al
mov dword [rsp - 0x10], ebx
je 0x14011851c
lea rdx, [rbp - 0x20]
xchg rcx, rdi
mov rdi, rcx
xchg rdi, rcx
call fcn.14010f534
xchg rbp, rbp
test al, al
jne 0x140118522
mov bl, sil
mov rbx, rbx
xor eax, eax
lea rdi, [rbp]
lea ecx, [rax + 0x17]
rep stosb byte [rdi], al
xchg rsi, rsi
xor eax, eax
lea r11, [rsp + 0x190]
mov rsi, qword [r11 + 0x40]
mov dword [rsp - 0x24], 0x5710e75b
lea rdi, [rbp + 0x30]
lea ecx, [rax + 0x29]
rep stosb byte [rdi], al
lea ecx, [rax + 6]
mov r11, r11
lea rdi, [rbp - 0x10]
rep stosb byte [rdi], al
mov al, bl
mov dword [rsp - 0xc], ecx
mov rbx, qword [r11 + 0x38]
xchg rsp, r11
mov r11, rsp
xchg rsp, r11
nop
mov r14, qword [rsp]
add rsp, 8
pop r13
mov r9, r9
nop
mov r12, qword [rsp]
add rsp, 8
pop rdi
xchg rsi, rsi
pop rbp
ret