Function at 0x140015fbc
Capabilities:
Encode data using xor

Disassembly:
xchg rsp, r12
mov rax, r12
xchg r12, rsp
xchg rbx, rsi
mov qword [rax + 8], rsi
xchg rbx, rsi
mov qword [rax + 0x10], rsi
xchg r9, rdi
mov qword [rax + 0x20], r9
xchg rdi, r9
push rbp
mov dword [rsp - 0x44], 0x1d0d7751
nop
mov qword [rsp - 8], r12
sub rsp, 8
nop
sub rsp, 8
mov qword [rsp], r13
push r14
xchg rbx, rbx
push r15
lea rbp, [rax - 0x278]
add rsp, 0x362573e9
sub rsp, 0x36257739
xor ebx, ebx
mov rbp, rbp
lea r9, [rbp + 0x30]
xchg rdx, rsi
mov rdx, rsi
xchg rsi, rdx
xchg rbx, r10
mov qword [rsp + 0x28], r10
xchg r10, rbx
or r15, 0xffffffffffffffff
mov qword [rsp + 0x20], 0x3d22634b
sub qword [rsp + 0x20], 0x3b4200dd
add qword [rsp + 0x20], 0x79b7dfe9
xor qword [rsp + 0x20], 0x385b162c
sub qword [rsp + 0x20], 0x43c35263
lea rdx, [0x140000000]
mov rcx, r15
lea r8d, [rbx + 2]
mov dword [rsp - 0x18], edx
call fcn.14004e8b0
test eax, eax
js 0x14001659b
xchg r14, r14
lea edx, [rbx + 0x5c]
lea rcx, [rbp + 0x40]
call fcn.140084f40
xchg r12, rax
mov rax, r12
xchg r12, rax
test rax, rax
mov dword [rsp - 0x28], esi
je 0x14001659b
lea edx, [rbx + 0x2e]
lea rcx, [rbp + 0x40]
mov dword [rsp - 0x14], ebp
call fcn.140084f40
test rax, rax
je 0x1400160c4
mov r9, r9
mov word [rax], bx
xorps xmm0, xmm0
mov dword [rbp + 0x290], 0x44362232
add dword [rbp + 0x290], 0x1184e657
sub dword [rbp + 0x290], 0x9dd8a6b
add dword [rbp + 0x290], 0x187cbbdb
lea rcx, [rsp + 0x78]
mov word [rbp + 0x294], 0x759d
sub word [rbp + 0x294], 0x1150
sub word [rbp + 0x294], 0x476a
add word [rbp + 0x294], 0x4307
sub word [rbp + 0x294], 0x3f35
lea rax, [rsp + 0x78]
mov byte [rbp + 0x296], 0x59
sub byte [rbp + 0x296], 0x59
add byte [rbp + 0x296], 5
xor byte [rbp + 0x296], 0x1f
add byte [rbp + 0x296], 0x26
mov qword [rsp + 0x70], rcx
mov edi, 0x69fd9527
sub edi, 0x600de51f
xor edi, 0x4ca72722
add edi, 0x20fd7c42
xor edi, 0x6646136b
mov qword [rbp - 0x58], rdi
xchg rsp, r13
movups xmmword [r13 + 0x78], xmm0
xchg r13, rsp
movups xmmword [rbp - 0x78], xmm0
xchg r13, r13
xchg rbp, r9
movups xmmword [r9 - 0x68], xmm0
xchg r9, rbp
cmp rcx, rax
mov dword [rsp - 0x1c], 0x2b00abaf
je 0x1400161a6
call fcn.140083f00
mov rdi, qword [rbp - 0x58]
lea r14, [rsp + 0x78]
mov dword [rsp - 0x30], 0x2e4c3a7e
xorps xmm0, xmm0
xchg r14, rdx
mov qword [rsp + 0x70], rdx
xchg r14, rdx
xchg rbx, rcx
mov rbx, rcx
xchg rcx, rbx
xchg r13, rsp
movups xmmword [r13 + 0x78], xmm0
xchg r13, rsp
xchg r10, rbp
movups xmmword [r10 - 0x78], xmm0
xchg rbp, r10
xchg rsi, rbp
movups xmmword [rsi - 0x68], xmm0
xchg rsi, rbp
test rdi, rdi
je 0x140016229
mov dword [rsp - 0x20], 0x3f584dbc
movzx eax, byte [rbp + rcx + 0x290]
mov word [r14 + rcx*2], ax
inc rcx
xchg rdx, rdx
mov rdi, qword [rbp - 0x58]
cmp rcx, rdi
jb 0x1400161fb
xchg r12, r12
xchg r14, rdi
mov rdi, qword [rsp + 0x70]
xchg r14, rdi
xorps xmm0, xmm0
lea rcx, [rsp + 0x38]
mov dword [rsp - 0x18], 0x370a3176
lea rax, [rsp + 0x38]
mov qword [rsp + 0x30], rcx
lea r13, [rdi + 1]
mov dword [rsp - 0x2c], ebx
xchg r10, rsp
movups xmmword [r10 + 0x38], xmm0
xchg rsp, r10
xchg rsp, rdx
movups xmmword [rdx + 0x48], xmm0
xchg rdx, rsp
xchg rsp, r9
movups xmmword [r9 + 0x58], xmm0
xchg r9, rsp
cmp rcx, rax
mov r13, r13
je 0x14001627c
call fcn.140083f00
cmp r13, 0x18
mov dword [rsp - 0x20], 0x70a4d877
jbe 0x1400162d1
lea rcx, [r13*2]
call fcn.140084200
mov dword [rsp - 0x40], edx
mov qword [rsp + 0x30], rax
test rax, rax
jne 0x1400162e7
lea rax, [rsp + 0x38]
mov dword [rsp - 0x2c], 0x6ee813a6
xchg r10, rbx
mov rcx, r10
xchg rbx, r10
xchg r13, rax
mov qword [rsp + 0x30], r13
xchg r13, rax
jmp 0x140016308
lea rax, [rsp + 0x38]
xchg r9, rax
mov qword [rsp + 0x30], r9
xchg r9, rax
lea rax, [rsp + 0x38]
xchg rbx, rbx
xorps xmm0, xmm0
xchg r8, rax
movups xmmword [r8], xmm0
xchg r8, rax
xchg r10, rax
movups xmmword [r10 + 0x10], xmm0
xchg r10, rax
xchg rcx, rax
movups xmmword [rcx + 0x20], xmm0
xchg rcx, rax
mov rcx, qword [rsp + 0x30]
mov r13d, 0x30cc5472
xor r13d, 0x5dbb1a98
xor r13d, 0x4b07f49d
xor r13d, 0x6c59f4ab
mov r10d, 0x1ed0402f
sub r10d, 0x9bcc190
xor r10d, 0x4889992e
sub r10d, 0x5d9ae6b2
mov edx, r13d
mov r9, r9
test rdi, rdi
je 0x1400163a5
xchg rdx, r8
mov rdx, rcx
xchg rdx, r8
sub r14, rcx
mov dword [rsp - 0x3c], ebp
xchg rsi, r9
mov rsi, rdi
xchg rsi, r9
movzx eax, dx
mov dword [rsp - 0x38], 0xb06f652
ror edx, 1
ror edx, 5
ror edx, 1
ror edx, 1
and ax, r10w
xor ax, word [r14 + r8]
mov dword [rsp - 0x34], 0xc531aaa
mov word [r8], ax
lea r8, [r8 + 2]
sub r9, 1
jne 0x140016366
mov dword [rsp - 0x1c], 0x16bc017e
mov word [rcx + rdi*2], bx
lea r8, [r12 + 2]
xchg rbx, rdx
mov rbx, qword [rsp + 0x30]
xchg rdx, rbx
lea rcx, [rbp - 0x50]
call fcn.140015730
mov dword [rsp - 0x3c], 0x483bb718
mov rcx, qword [rsp + 0x30]
lea rax, [rsp + 0x38]
mov r14d, 0x4cda65cc
add r14d, 0xb6a5dc2
xor r14d, 0x2afba9f7
xor r14d, 0x72bf6a49
cmp rcx, rax
jne 0x140016411
mov dword [rsp - 0x10], edi
lea rdi, [rsp + 0x38]
xor eax, eax
mov ecx, r14d
mov dword [rsp - 0x28], ebp
rep stosb byte [rdi], al
jmp 0x140016416
call fcn.140083f00
lea rdi, [rsi + 8]
xorps xmm0, xmm0
mov dword [rsp - 0x3c], ecx
xchg rdx, rdi
mov qword [rsi], rdx
xchg rdx, rdi
lea rax, [rbp - 0x50]
xchg r11, rdi
movups xmmword [r11], xmm0
xchg rdi, r11
xchg rdi, rbx
movups xmmword [rbx + 0x10], xmm0
xchg rdi, rbx
movups xmmword [rdi + 0x20], xmm0
mov dword [rsp - 0x14], esi
inc r15
cmp word [rax + r15*2], bx
jne 0x14001644a
mov r14, r14
mov qword [rsi + 0x38], r15
cmp qword [rsi], rdi
je 0x140016486
mov dword [rsp - 0x34], 0x4029a5d8
xchg rcx, r10
mov r10, qword [rsi]
xchg rcx, r10
call fcn.140083f00
mov dword [rsp - 0x30], 0xa5b0c8
cmp r15, 0x18
jbe 0x1400164c6
lea rcx, [r15 + r15]
call fcn.140084200
mov dword [rsp - 0x24], 0x7fc79213
xchg rsp, rax
mov qword [rsi], rsp
xchg rsp, rax
test rax, rax
mov dword [rsp - 0x18], ebx
jne 0x1400164d4
xchg rcx, rdi
mov qword [rsi], rcx
xchg rcx, rdi
mov rcx, rbx
jmp 0x1400164fb
mov qword [rsi], rdi
mov dword [rsp - 0x24], 0x174925b3
mov rax, rdi
xorps xmm0, xmm0
xchg r8, rax
movups xmmword [r8], xmm0
xchg r8, rax
xchg rdi, rax
movups xmmword [rdi + 0x10], xmm0
xchg rdi, rax
xchg r15, rax
movups xmmword [r15 + 0x20], xmm0
xchg r15, rax
mov rcx, qword [rsi]
mov dword [rsp - 0x34], 0x7331eec7
cmp qword [rsi + 0x38], rbx
jbe 0x14001655d
lea rdx, [rbp - 0x50]
mov edi, 0x53747c67
sub edi, 0x110ceba0
xor edi, 0x6f320c12
xor edi, 0x2d559c2a
sub rdx, rcx
movzx eax, r13w
mov dword [rsp - 0x30], ebx
inc rbx
and ax, di
ror r13d, 3
ror r13d, 2
ror r13d, 1
ror r13d, 2
xor ax, word [rdx + rcx]
mov word [rcx], ax
mov dword [rsp - 0x3c], ebx
lea rcx, [rcx + 2]
cmp rbx, qword [rsi + 0x38]
jb 0x140016523
mov dword [rsp - 0x1c], ebx
xchg rbp, rcx
mov rbp, qword [rsp + 0x70]
xchg rbp, rcx
lea rax, [rsp + 0x78]
xchg rsi, rsi
cmp rcx, rax
jne 0x14001658d
lea rdi, [rsp + 0x78]
xor eax, eax
mov r11, r11
mov rcx, r14
rep stosb byte [rdi], al
jmp 0x1400165c5
call fcn.140083f00
mov dword [rsp - 0x14], ebp
jmp 0x1400165c5
lea rax, [rsi + 8]
xorps xmm0, xmm0
xchg r9, rax
mov qword [rsi], r9
xchg r9, rax
xchg r10, rax
movups xmmword [r10], xmm0
xchg r10, rax
xchg r8, rax
movups xmmword [r8 + 0x10], xmm0
xchg r8, rax
movups xmmword [rax + 0x20], xmm0
mov r14, r14
mov qword [rsi + 0x38], rbx
lea r11, [rsp + 0x350]
xchg rsi, rax
mov rsi, rax
xchg rsi, rax
mov rbx, qword [r11 + 0x30]
xchg rdx, rsi
mov rdx, qword [r11 + 0x38]
xchg rdx, rsi
xchg rdi, rsp
mov rsp, qword [r11 + 0x48]
xchg rsp, rdi
xchg r10, r11
mov rsp, r10
xchg r10, r11
pop r15
pop r14
mov dword [rsp - 0x18], 0x301352d7
nop
mov r13, qword [rsp]
add rsp, 8
nop
add rsp, 8
mov r12, qword [rsp - 8]
pop rbp
xchg rbx, rbx
ret