Function at 0x140015b60
Capabilities:
Encode data using xor

Disassembly:
push rbp
lea rbp, [rsp - 0x5d0]
xchg r14, r14
sub rsp, 0x6d0
mov rax, qword [0x1400a2ce0]
lea rcx, [rsp + 0x50]
mov dword [rsp - 0x44], ebx
xor rax, qword [0x1400a2a90]
mov edx, 0x3279ce44
add edx, 0x4f425bd
add edx, 0x2e5b3690
mov dword [rsp - 0x1c], edx
sub edx, 0x35472a68
xor edx, 0x478575ba
sub edx, 0x5c663d55
sub edx, 0x1aa1373a
mov rbx, rbx
call rax
test eax, eax
je 0x14001629e
xchg r11, r11
mov qword [rsp + 0x6e8], rbx
mov ecx, 0x7cc171b9
xor ecx, 0x7dac122c
xor ecx, 0x247d61f2
mov dword [rsp - 0x34], esp
add ecx, 0x25a7db2a
sub ecx, 0x4ab7dd7d
mov qword [rsp + 0x6f0], rsi
mov dword [rsp - 0x44], edi
mov qword [rsp + 0x6f8], rdi
mov qword [rsp + 0x6c8], r12
mov qword [rsp + 0x6c0], r15
mov dword [rsp - 0x1c], edi
mov dword [rsp + 0x20], 0x3579e0b7
add dword [rsp + 0x20], 0x3a16a2eb
sub dword [rsp + 0x20], 0x36aadc96
sub dword [rsp + 0x20], 0x1d56e2be
mov dword [rsp - 0xc], esp
add dword [rsp + 0x20], 0x18c449eb
mov dword [rsp + 0x24], 0x39823ee3
sub dword [rsp + 0x24], 0x32580011
mov r10, r10
xor dword [rsp + 0x24], 0x72dde486
sub dword [rsp + 0x24], 0x5188185d
xor dword [rsp + 0x24], 0x44963071
mov dword [rsp - 0x2c], 0x26db4688
xor dword [rsp + 0x24], 0x38f5f852
sub dword [rsp + 0x24], 0x25b6ced1
mov word [rsp + 0x28], 0x4bc8
mov dword [rsp - 0x28], 0x681b77d0
add word [rsp + 0x28], 0x24fe
sub word [rsp + 0x28], 0x6a52
add word [rsp + 0x28], 0x1ea6
mov dword [rsp - 0x1c], esi
xor word [rsp + 0x28], 0x794c
sub word [rsp + 0x28], 0x5a49
mov qword [rsp + 0x38], 0x25bc2fa6
xchg rsi, rsi
add qword [rsp + 0x38], 0x4114d2f5
xor qword [rsp + 0x38], 0xe6d4b34
sub qword [rsp + 0x38], 0x56db81ee
xchg rsi, rsi
sub qword [rsp + 0x38], 0x11e0c7b7
call fcn.140072200
xor r15d, r15d
mov r12, r12
mov qword [rsp + 0x30], rax
mov edx, r15d
movsx ecx, byte [rsp + rdx + 0x20]
xchg r10, r10
mov word [rax + rdx*2], cx
inc rdx
mov rdi, qword [rsp + 0x38]
xchg rcx, rcx
cmp rdx, rdi
jb 0x140015d04
cmp rdi, 4
lea rcx, [rdi + 1]
xchg rsp, rsp
lea rsi, [rsp + 0x30]
pushf
mov eax, 0x7dcc1923
mov rsp, rsp
sub eax, 0x2099e913
xor eax, 0x3bc0d2ce
xor eax, 0x272b3f20
sub eax, 0x41d9ddfc
mov dword [rsp - 0x30], 0x5c732e5c
popf
cmova rsi, qword [rsp + 0x30]
nop
movabs r12, 0xffffffff03b0d9e8
xchg rcx, rcx
add r12, 0x2016b610
sub r12, 0x1f01e6f4
add r12, 0x96e8815
mov r10, r10
add r12, 0x7fffffff
xor r12, 0x71cbcee7
mul rcx
cmovo rax, r12
mov rcx, rcx
mov rcx, rax
call fcn.140072200
mov rbx, rax
mov dword [rsp - 0x18], 0x21aa64e8
mov r8, r15
test rdi, rdi
je 0x140015e27
mov dword [rsp - 0x18], 0x893b321
mov rdx, rax
sub rsi, rax
nop word [rax + rax]
mov dword [rsp - 0x3c], 0x64177d2e
movzx ecx, r8b
lea rdx, [rdx + 2]
and cl, 3
mov eax, 0x1cf8d006
mov dword [rsp - 0xc], ebx
xor eax, 0x2689655a
add eax, 0x2656d7ef
sub eax, 0x406264f7
add eax, 0x30bb3611
mov dword [rsp - 0x20], 0x4eee2982
shl cl, 3
inc r8
sar eax, cl
mov r10, r10
movsx eax, al
xor ax, word [rsi + rdx - 2]
mov word [rdx - 2], ax
cmp r8, rdi
mov rsp, rsp
jb 0x140015dd8
mov r8, rbx
mov word [rbx + rdi*2], r15w
mov r15, r15
mov edx, 0x30286324
add edx, 0x4d330342
sub edx, 0x1b21e474
xchg r11, r11
xor edx, 0x3968d163
sub edx, 0x5b514f8d
lea rcx, [rsp + 0x50]
xchg rsi, rsi
call fcn.1400729c0
mov rcx, rbx
call fcn.140072210
cmp rdi, 4
mov rdi, rdi
jbe 0x140015e7d
mov rcx, qword [rsp + 0x30]
call fcn.140072210
xchg r15, r15
mov qword [rsp + 0x20], r15
lea rax, [rsp + 0x50]
mov rcx, r12
mov dword [rsp - 0x14], edx
inc rcx
cmp word [rax + rcx*2], r15w
jne 0x140015e8e
mov qword [rsp + 0x28], rcx
mov dword [rsp - 0x3c], ebp
lea rdx, [rsp + 0x20]
cmp rcx, 4
jbe 0x140015eee
mov rsi, rsi
mov eax, 0x3ec6b114
add eax, 0x270b72d7
add eax, 0x4e9297d
sub eax, 0x378d72ed
mov r14, r14
xor eax, 0x332dda79
mul rcx
cmovo rax, r12
mov rcx, rax
mov r9, r9
call fcn.140072200
mov rcx, qword [rsp + 0x28]
mov rdx, rax
mov qword [rsp + 0x20], rax
mov dword [rsp - 0x28], esp
mov r8, r15
test rcx, rcx
je 0x140015f5a
lea r9, [rsp + 0x50]
mov dword [rsp - 0x40], edi
sub r9, rdx
movzx ecx, r8b
lea rdx, [rdx + 2]
and cl, 3
mov dword [rsp - 0x30], ebp
mov eax, 0x6f98f3a3
add eax, 0x2f52163
xor eax, 0xe5efe0d
mov dword [rsp - 0x38], esi
xor eax, 0x1a9c6fe
sub eax, 0x2c57cf90
shl cl, 3
inc r8
mov dword [rsp - 0x2c], 0x72ddbf38
sar eax, cl
movsx eax, al
xor ax, word [r9 + rdx - 2]
mov dword [rsp - 0x44], 0x2eacd3ec
mov word [rdx - 2], ax
cmp r8, qword [rsp + 0x28]
jb 0x140015f02
mov dword [rbp + 0x5e0], 0x42b74dac
xchg rbp, rbp
add dword [rbp + 0x5e0], 0x349a67ec
sub dword [rbp + 0x5e0], 0x4529bd37
xor dword [rbp + 0x5e0], 0xb6e966c
sub dword [rbp + 0x5e0], 0x1f7fdbe
mov dword [rsp - 0x44], 0x20ee4ab7
mov rcx, r15
mov eax, dword [rbp + 0x5e0]
mov dword [rbp + 0x5e0], eax
mov qword [rsp + 0x38], 0x7040f087
mov dword [rsp - 0x3c], ebp
sub qword [rsp + 0x38], 0x571e6ef7
xor qword [rsp + 0x38], 0x7b99ab24
xor qword [rsp + 0x38], 0x3b11f74c
xor qword [rsp + 0x38], 0x4d4e0600
mov dword [rsp - 0x3c], 0x4d939a1c
sub qword [rsp + 0x38], 0x14e4dbf4
nop
movsx eax, byte [rbp + rcx + 0x5e0]
mov dword [rsp - 0x34], 0x6fea922c
mov word [rsp + rcx*2 + 0x30], ax
inc rcx
cmp rcx, qword [rsp + 0x38]
mov dword [rsp - 0x40], ebx
jb 0x140015fea
lea r8, [rsp + 0x30]
lea rdx, [rsp + 0x20]
xchg r10, r10
lea rcx, [rsp + 0x40]
call fcn.140068480
mov rdi, rax
mov rcx, rcx
mov rsi, qword [rax + 8]
cmp rsi, 4
jbe 0x14001603f
mov dword [rsp - 0x20], 0x44369346
mov rdi, qword [rax]
lea rcx, [rsi + 1]
mov eax, 0x544d8db5
mov dword [rsp - 0x10], edx
add eax, 0x19cbb6a4
sub eax, 0x484cd74b
sub eax, 0x3cfe531
mov dword [rsp - 0x2c], 0x70d28607
add eax, 0x60777df
sub eax, 0x2803ffba
mul rcx
cmovo rax, r12
mov dword [rsp - 0x40], 0xf680f12
mov rcx, rax
call fcn.140072200
mov r12, qword [rsp + 0x6c8]
mov rbp, rbp
mov rbx, rax
mov r8, r15
test rsi, rsi
je 0x1400160ff
mov dword [rsp - 0x1c], esi
mov rdx, rax
sub rdi, rax
nop dword [rax]
mov dword [rsp - 0x28], edi
movzx ecx, r8b
lea rdx, [rdx + 2]
and cl, 3
xchg r8, r8
mov eax, 0x510ee7a7
sub eax, 0x2160ee9c
sub eax, 0x2d60d48c
mov dword [rsp - 0x34], 0x54d951a8
add eax, 0x630e460b
sub eax, 0x143a0c25
shl cl, 3
mov r8, r8
inc r8
sar eax, cl
movsx eax, al
xor ax, word [rdi + rdx - 2]
mov dword [rsp - 0x28], 0x2feb5fe0
mov word [rdx - 2], ax
cmp r8, rsi
jb 0x1400160ac
mov word [rbx + rsi*2], r15w
mov rbx, rbx
lea rdx, [rbp + 0x160]
mov rax, qword [0x1400a2c70]
mov rcx, rbx
xor rax, qword [0x1400a2a90]
mov dword [rsp - 0x20], ebp
call rax
mov rcx, rbx
mov rdi, rax
call fcn.140072210
mov dword [rsp - 0x24], ebx
cmp qword [rsp + 0x48], 4
mov r15, qword [rsp + 0x6c0]
mov rsi, qword [rsp + 0x6f0]
xchg rsi, rsi
mov rbx, qword [rsp + 0x6e8]
jbe 0x140016169
mov rcx, qword [rsp + 0x40]
mov dword [rsp - 0xc], 0x6cf300e2
call fcn.140072210
cmp qword [rsp + 0x38], 4
jbe 0x14001617e
mov rcx, rcx
mov rcx, qword [rsp + 0x30]
call fcn.140072210
cmp qword [rsp + 0x28], 4
xchg r9, r9
jbe 0x140016193
mov rcx, qword [rsp + 0x20]
call fcn.140072210
cmp rdi, 0xffffffffffffffff
mov dword [rsp - 0x14], 0x5f502371
je 0x140016292
test byte [rbp + 0x160], 0x10
jne 0x140016245
xchg r8, r8
lea r8, [rsp + 0x50]
mov edx, 0x46c3c07b
sub edx, 0x2a68cad4
mov dword [rsp - 0x28], 0x435ef7b6
xor edx, 0xc1a284b
add edx, 0x60dda3e7
xor edx, 0x41649dd0
sub edx, 0x307a1aff
xchg rbx, rbx
lea rcx, [rbp + 0x3b0]
call fcn.140072ae0
lea r8, [rbp + 0x18c]
mov edx, 0x51b6eb10
mov rbp, rbp
sub edx, 0x42f2b0d4
add edx, 0x6847e450
xor edx, 0x6132e42
sub edx, 0x711f2fca
mov dword [rsp - 0x3c], ecx
lea rcx, [rbp + 0x3b0]
call fcn.1400729c0
mov rax, qword [0x1400a2c00]
lea rcx, [rbp + 0x3b0]
xchg rdx, rdx
xor rax, qword [0x1400a2a90]
call rax
mov rax, qword [0x1400a2c80]
mov dword [rsp - 0x2c], 0x217dba5f
lea rdx, [rbp + 0x160]
xor rax, qword [0x1400a2a90]
mov rcx, rdi
mov dword [rsp - 0x3c], 0x67f7025c
call rax
test eax, eax
jne 0x1400161a5
mov rax, qword [0x1400a2c90]
mov dword [rsp - 0x18], 0x113dbef7
mov rcx, rdi
xor rax, qword [0x1400a2a90]
call rax
mov rdi, qword [rsp + 0x6f8]
mov dword [rsp - 0x1c], edx
add rsp, 0x6d0
pop rbp
ret