Function at 0x140087314
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x18], r8
nop
mov qword [rsp - 8], rbp
sub rsp, 8
push rsi
push r12
mov dword [rsp - 0x24], 0x5d80f15f
push r13
nop
mov qword [rsp - 8], r14
sub rsp, 8
lea rbp, [rsp - 0xc0]
xchg rsi, rsi
add rsp, 0x40a7427c
sub rsp, 0x40a7443c
mov qword [rcx], 0x5b76b2fa
add qword [rcx], 0xb6ecbfb
sub qword [rcx], 0x24f66596
xor qword [rcx], 0x41ef195f
xchg r9, r14
mov r9, r14
xchg r14, r9
mov qword [rcx + 8], 0x2efa9cd7
sub qword [rcx + 8], 0x124809fa
add qword [rcx + 8], 0x4b0a6b2a
xor qword [rcx + 8], 0x67bcfe07
xchg r15, r8
mov r13, r15
xchg r15, r8
mov qword [rcx + 0x10], 0x4bd1e772
sub qword [rcx + 0x10], 0x3d2fb4a1
add qword [rcx + 0x10], 0x579b000a
xor qword [rcx + 0x10], 0x2829862
sub qword [rcx + 0x10], 0x64bfaab9
mov r12, rdx
mov qword [rcx + 0x18], 0x143eae60
add qword [rcx + 0x18], 0x5e682ba5
xor qword [rcx + 0x18], 0x39e464b5
add qword [rcx + 0x18], 0x6b603f6
sub qword [rcx + 0x18], 0x51f8c2a5
xchg rcx, rsi
mov rcx, rsi
xchg rsi, rcx
mov rax, qword [rdx + 0x78]
cmp rax, 0x78
jbe 0x140087399
mov dword [rsp - 0xc], esi
xchg r14, rcx
mov r14, qword [rdx]
xchg rcx, r14
jmp 0x1400873a5
xor ecx, ecx
test rax, rax
cmovne rcx, r12
xchg r8, r8
xchg r11, rax
mov r11, qword [rcx]
xchg r11, rax
lea r8, [rsp + 0x28]
mov dword [rsp - 0x38], ebp
mov r9d, 0x2bdd12bc
xor r9d, 0x2c96d451
xor r9d, 0x10be1ecf
add r9d, 0x38eb72fb
sub r9d, 0x50e14b09
xchg r9, r13
mov rdx, r9
xchg r13, r9
call qword [rax + 8]
xchg rbp, rbp
test al, al
jne 0x140087401
xchg rbp, rcx
mov rbp, r12
xchg rcx, rbp
call fcn.140082ab0
jmp 0x140087de6
mov qword [rsp + 0x208], rbx
xchg rdi, r15
mov qword [rsp + 0x1b8], r15
xchg r15, rdi
nop
movabs rdi, 0xffffffff0c6912ac
xor rdi, 0x664a6e19
sub rdi, 0xd6aeecf
add rdi, 0x7fffffff
add rdi, 0x2347721a
xchg rdi, rsi
mov rax, rsi
xchg rdi, rsi
mov qword [rsp + 0x1b0], r15
nop word [rax + rax]
inc rax
mov dword [rsp - 0x40], 0x1a93b232
cmp word [r14 + rax*2 + 8], 0
jne 0x140087459
mov ecx, dword [rsp + 0x2c]
lea r15, [rax - 4]
xchg r10, r10
cmp rax, 4
cmovbe r15, rax
mov eax, 0x6f8f57a6
sub eax, 0x59230569
add eax, 0x2159425b
sub eax, 0x37c5948c
mul rcx
mov dword [rsp - 0x14], ecx
cmovo rax, rdi
xchg r13, rax
mov rcx, r13
xchg r13, rax
call fcn.140092ac0
mov ecx, dword [rsp + 0x2c]
mov rbx, rax
mov dword [rsp - 0x3c], edi
xchg rbp, rdx
mov rbp, qword [r12 + 0x78]
xchg rbp, rdx
mov qword [rbp + 0xf8], rax
xchg rbx, rbx
lea r9, [rcx + rcx*2]
shl r9, 2
cmp rdx, 0x78
jbe 0x1400874f3
xchg r12, r12
xchg rsp, rcx
mov rsp, qword [r12]
xchg rcx, rsp
jmp 0x140087504
xor ecx, ecx
mov dword [rsp - 0x10], 0x58405356
test rdx, rdx
cmovne rcx, r12
xchg r14, rax
mov r14, qword [rcx]
xchg r14, rax
lea rdx, [r13 + 8]
mov dword [rsp - 0x20], 0x206253cb
xchg rbx, r8
mov rbx, r8
xchg r8, rbx
call qword [rax + 8]
mov dword [rsp - 0x30], 0x65e8d0ef
test al, al
je 0x140087d2e
xor edi, edi
cmp dword [rsp + 0x2c], edi
mov r13, r13
jbe 0x140087d2e
xorps xmm0, xmm0
lea rcx, [rdi + rdi*2]
mov rsp, rsp
mov eax, dword [rbx + rcx*4 + 4]
lea rbx, [rbx + rcx*4]
mov edx, 0x136027f3
sub edx, 0x12f07927
add edx, 0x5c59996b
sub edx, 0x5cc947b9
mov r9d, edx
mov r8, r8
xchg r9, rbp
movups xmmword [r9 + 0x30], xmm0
xchg r9, rbp
xchg r14, rbp
movups xmmword [r14 + 0x40], xmm0
xchg rbp, r14
xchg r14, rbp
movups xmmword [r14 + 0x50], xmm0
xchg rbp, r14
movups xmmword [rbp + 0x60], xmm0
mov dword [rsp - 0x1c], ebx
xchg r14, rbp
movups xmmword [r14 + 0x70], xmm0
xchg rbp, r14
xchg r8, rbp
movups xmmword [r8 + 0x80], xmm0
xchg rbp, r8
xchg rbp, r13
movups xmmword [r13 + 0x90], xmm0
xchg r13, rbp
xchg rbp, rsp
movups xmmword [rsp + 0xa0], xmm0
xchg rbp, rsp
cmp eax, edx
ja 0x1400875dd
mov r9, r9
mov r9d, eax
mov edx, dword [rbx]
xchg rsi, rax
mov rsi, qword [r12 + 0x78]
xchg rsi, rax
add rdx, r13
xchg rsi, rsi
cmp rax, 0x78
jbe 0x140087601
mov rcx, qword [r12]
jmp 0x14008760d
xor ecx, ecx
xchg r8, r8
test rax, rax
cmovne rcx, r12
xchg rdi, rax
mov rdi, qword [rcx]
xchg rdi, rax
lea r8, [rbp + 0x30]
xchg rbx, rbx
call qword [rax + 8]
test al, al
je 0x140087646
mov r8, r15
mov dword [rsp - 0x1c], ebp
lea rdx, [r14 + 8]
lea rcx, [rbp + 0x30]
call fcn.1400938c0
test eax, eax
mov dword [rsp - 0x3c], edx
je 0x140087661
mov rbx, qword [rbp + 0xf8]
inc edi
xchg r8, r8
cmp edi, dword [rsp + 0x2c]
jae 0x140087d2e
jmp 0x140087542
mov ebx, dword [rbx + 8]
xchg r14, rax
mov r14, qword [r12 + 0x78]
xchg r14, rax
add rbx, r13
mov r10, r10
xchg rbx, rdi
mov qword [rsp + 0x20], rdi
xchg rdi, rbx
cmp rax, 0x78
jbe 0x14008769f
mov dword [rsp - 0x14], 0x33c2b9a9
xchg rcx, rsi
mov rsi, qword [r12]
xchg rsi, rcx
jmp 0x1400876ac
xor ecx, ecx
test rax, rax
cmovne rcx, r12
mov dword [rsp - 0x3c], edi
xchg rbp, rax
mov rbp, qword [rcx]
xchg rbp, rax
lea r8, [rbp - 0x70]
mov dword [rsp - 0x10], ebx
mov r9d, 0x14c4e639
add r9d, 0x683863ed
sub r9d, 0x2583d04e
xor r9d, 0x577979cc
xchg rdx, r9
mov r9, rbx
xchg r9, rdx
call qword [rax + 8]
mov rbp, rbp
test al, al
je 0x140087d27
xor r14d, r14d
mov dword [rbp + 0xf0], r14d
mov dword [rsp - 0xc], ecx
cmp dword [rbp - 0x70], r14d
jbe 0x140087d27
mov r15d, 0xbabacdb
add r15d, 0x3ff935cd
add r15d, 0x1ffb77f2
sub r15d, 0x6ba0599b
nop dword [rax + rax]
mov r13, r13
xchg r10, rax
mov r10, qword [r12 + 0x78]
xchg r10, rax
cmp rax, 0x78
mov dword [rsp - 0x44], 0x6265527b
jbe 0x14008774c
mov rcx, qword [r12]
jmp 0x14008775d
xor ecx, ecx
test rax, rax
mov dword [rsp - 0x2c], 0x9da153f
cmovne rcx, r12
xchg rsi, rax
mov rsi, qword [rcx]
xchg rsi, rax
lea r8, [rbp - 0x80]
xchg r13, r13
mov edx, r14d
mov r9d, 0x15c56a6d
add r9d, 0x3ff57a9d
sub r9d, 0x9d0e4c9
xor r9d, 0x6c83db14
sub r9d, 0x2769db45
shl rdx, 4
mov r8, r8
neg rdx
add rdx, 0xfffffffffffffffc
neg rdx
mov rdi, qword [rax + 8]
mov dword [rsp - 0x1c], ebx
add rdx, rbx
call rdi
test al, al
je 0x140087d0b
mov dword [rsp - 0x30], 0x2a30888e
movzx eax, word [rbp - 0x74]
xorps xmm0, xmm0
mov ecx, 0xdf1ce3a
add ecx, 0x563dbf7c
xor ecx, 0x513e2015
sub ecx, 0x14257751
sub ecx, 0x20ec35d4
mov r9d, ecx
xchg rbp, r10
movups xmmword [r10 - 0x50], xmm0
xchg rbp, r10
xchg rbp, rsp
movups xmmword [rsp - 0x40], xmm0
xchg rbp, rsp
xchg rbp, rsp
movups xmmword [rsp - 0x30], xmm0
xchg rbp, rsp
xchg rbp, rsp
movups xmmword [rsp - 0x20], xmm0
xchg rsp, rbp
xchg rbp, r14
movups xmmword [r14 - 0x10], xmm0
xchg r14, rbp
xchg r12, rbp
movups xmmword [r12], xmm0
xchg rbp, r12
xchg rbp, r14
movups xmmword [r14 + 0x10], xmm0
xchg rbp, r14
xchg rdi, rbp
movups xmmword [rdi + 0x20], xmm0
xchg rdi, rbp
cmp cx, ax
mov dword [rsp - 0x44], 0x32dcd924
jb 0x140087850
mov r9d, eax
mov edx, dword [rbp - 0x78]
xchg r12, r12
xchg rdi, rax
mov rdi, qword [r12 + 0x78]
xchg rdi, rax
add rdx, r13
mov r15, r15
cmp rax, 0x78
jbe 0x14008787e
xchg rbp, rcx
mov rbp, qword [r12]
xchg rbp, rcx
jmp 0x14008788b
xor ecx, ecx
test rax, rax
cmovne rcx, r12
mov dword [rsp - 0x3c], esp
xchg rbx, rax
mov rbx, qword [rcx]
xchg rbx, rax
lea r8, [rbp - 0x50]
mov dword [rsp - 0x3c], ebx
call qword [rax + 8]
test al, al
je 0x140087d0b
xchg rcx, rcx
xorps xmm0, xmm0
lea rax, [rsp + 0x48]
mov qword [rsp + 0x40], rax
nop
movabs rdx, 0xffffffff1760dbd2
xor rdx, 0x23111f48
xor rdx, 0x5e329347
add rdx, 0x7fffffff
add rdx, 0x15bca823
lea rax, [rbp - 0x50]
mov dword [rsp - 0x30], edx
xchg rbx, rsp
movups xmmword [rbx + 0x48], xmm0
xchg rbx, rsp
xchg rsp, rbp
movups xmmword [rbp + 0x58], xmm0
xchg rsp, rbp
movups xmmword [rsp + 0x68], xmm0
mov r13, r13
inc rdx
cmp word [rax + rdx*2], 0
jne 0x140087900
mov r8, r8
lea rcx, [rsp + 0x40]
mov qword [rsp + 0x78], rdx
call fcn.140016760
mov dword [rsp - 0x14], ecx
xor edi, edi
mov rdx, rax
mov ecx, 0x75c5d11a
xor ecx, 0x77769c82
add ecx, 0x19880f50
add ecx, 0x2d88a0a
add ecx, 0xe0051d9
cmp qword [rsp + 0x78], rdi
jbe 0x14008799b
xchg rsp, rsp
lea r8, [rbp - 0x50]
sub r8, rax
nop dword [rax]
nop dword [rax + rax]
xchg rsp, rsp
movzx eax, cx
lea rdx, [rdx + 2]
and ax, r15w
ror ecx, 8
mov dword [rsp - 0x10], 0x159c6ab3
xor ax, word [r8 + rdx - 2]
inc rdi
mov word [rdx - 2], ax
xchg rcx, rcx
cmp rdi, qword [rsp + 0x78]
jb 0x14008796a
mov rax, qword [rsi + 8]
test rax, rax
mov dword [rsp - 0x30], 0x29dfb36f
je 0x140087bb5
xchg rcx, r15
mov r15, qword [rsi + 0x10]
xchg r15, rcx
cmp rax, rcx
mov dword [rsp - 0x30], ebx
jb 0x140087ba7
add rcx, qword [rsi + 0x18]
xchg rcx, r11
mov qword [rsi + 0x10], r11
xchg r11, rcx
shl rcx, 6
mov dword [rsp - 0x20], 0x78264d9b
call fcn.140092ed0
mov rcx, qword [rsi + 8]
xor r14d, r14d
mov rbx, rbx
mov r13, rax
test rcx, rcx
je 0x140087af7
mov rdi, rdi
nop
movabs r15, 0xffffffff4cbefd38
xor r15, 0x6f6dec81
add r15, 0x4dc98f80
add r15, 0x7fffffff
add r15, 0xe635e90
lea rdi, [rax + 0x38]
mov r10, r10
sub r15, rax
nop word [rax + rax]
lea rax, [rdi - 0x30]
xchg r14, r14
xorps xmm0, xmm0
lea rcx, [rdi - 0x38]
lea rbx, [r15 + rdi]
add rbx, qword [rsi]
mov dword [rsp - 0x24], ecx
xchg rbx, rax
mov qword [rcx], rbx
xchg rbx, rax
xchg rsp, rax
movups xmmword [rsp], xmm0
xchg rsp, rax
movups xmmword [rax + 0x10], xmm0
mov dword [rsp - 0x38], 0x20aa9190
xchg r9, rax
movups xmmword [r9 + 0x20], xmm0
xchg r9, rax
mov rdx, qword [rbx + 0x38]
xchg rdx, rdx
mov qword [rdi], rdx
call fcn.140016760
xor ecx, ecx
cmp qword [rdi], rcx
xchg rsp, rsp
jbe 0x140087abf
nop dword [rax]
nop word [rax + rax]
mov rsp, rsp
mov rdx, qword [rbx]
movzx edx, word [rdx + rcx*2]
mov word [rax + rcx*2], dx
mov dword [rsp - 0x10], 0x22b91f90
inc rcx
cmp rcx, qword [rdi]
jb 0x140087aa0
xchg r10, rcx
mov r10, qword [rsi + 8]
xchg r10, rcx
inc r14
add rdi, 0x40
mov r11, r11
cmp r14, rcx
jb 0x140087a36
mov r15d, 0x1a3103a7
sub r15d, 0x40fd241
add r15d, 0x65ab3ad2
xor r15d, 0x7bcc6cc7
cmp qword [rsi], 0
mov r14, r14
je 0x140087b98
xor ebx, ebx
test rcx, rcx
mov dword [rsp - 0x1c], ebp
je 0x140087b8d
xor r14d, r14d
nop dword [rax]
xchg r8, rax
mov r8, qword [rsi]
xchg r8, rax
xchg rdi, rcx
mov rdi, qword [r14 + rax]
xchg rdi, rcx
lea rdi, [rax + 8]
mov dword [rsp - 0x18], 0x312351ee
add rdi, r14
cmp rcx, rdi
jne 0x140087b6f
xor eax, eax
xchg rbp, rbp
mov ecx, 0x57c8d84c
sub ecx, 0x17bad01a
sub ecx, 0x2b92b65d
xor ecx, 0x26f2d81
sub ecx, 0x16147c24
rep stosb byte [rdi], al
jmp 0x140087b74
call fcn.140092c10
inc rbx
sub r14, 0xffffffffffffffc0
mov dword [rsp - 0x38], 0x581e3db9
cmp rbx, qword [rsi + 8]
jb 0x140087b1d
mov rcx, qword [rsi]
call fcn.140092c10
xchg rdi, rdi
mov r14d, dword [rbp + 0xf0]
mov qword [rsi], r13
jmp 0x140087bfa
xchg r13, rdi
mov rdi, qword [rsi]
xchg rdi, r13
jmp 0x140087bfa
xchg r13, r10
mov r10, qword [rsi]
xchg r13, r10
test r13, r13
jne 0x140087bfa
mov dword [rsp - 0x44], 0x69b5de96
xchg r12, rcx
mov r12, qword [rsi + 0x18]
xchg r12, rcx
mov qword [rsi + 0x10], rcx
mov r12, r12
shl rcx, 5
shl rcx, 1
call fcn.140092ed0
xchg r13, rax
mov rax, r13
xchg r13, rax
xchg rcx, rax
mov qword [rsi], rcx
xchg rcx, rax
xchg r12, rax
mov r12, qword [rsi + 8]
xchg r12, rax
xorps xmm0, xmm0
xchg r10, r10
xchg r9, rax
mov rbx, r9
xchg r9, rax
shl rbx, 2
shl rbx, 2
shl rbx, 1
shl rbx, 1
add rbx, r13
mov dword [rsp - 0xc], 0x1e2e9093
inc rax
xchg rbp, rbx
mov rcx, rbp
xchg rbx, rbp
xchg rdi, rax
mov qword [rsi + 8], rdi
xchg rdi, rax
lea rax, [rbx + 8]
mov qword [rbx], rax
movups xmmword [rax], xmm0
mov rbp, rbp
movups xmmword [rax + 0x10], xmm0
movups xmmword [rax + 0x20], xmm0
xchg r13, rax
mov r13, qword [rsp + 0x78]
xchg r13, rax
xchg rsi, rax
mov qword [rbx + 0x38], rsi
xchg rsi, rax
xchg rbp, rdx
mov rbp, qword [rsp + 0x78]
xchg rbp, rdx
call fcn.140016760
mov dword [rsp - 0x40], 0x73e307c6
xor edi, edi
cmp qword [rbx + 0x38], rdi
jbe 0x140087ca6
xchg r12, r12
mov rcx, qword [rsp + 0x40]
movzx edx, word [rcx + rdi*2]
mov word [rax + rdi*2], dx
inc rdi
mov r14, r14
cmp rdi, qword [rbx + 0x38]
jb 0x140087c89
xchg rcx, r8
mov r8, qword [rsp + 0x40]
xchg r8, rcx
lea rax, [rsp + 0x48]
mov r8, r8
cmp rcx, rax
jne 0x140087cf4
lea rdi, [rsp + 0x48]
mov dword [rsp - 0x10], ecx
xor eax, eax
mov ecx, 0x4cec06d9
sub ecx, 0x3433effb
add ecx, 0x4ccbf721
sub ecx, 0x14f1fd61
xor ecx, 0x509210ae
rep stosb byte [rdi], al
mov r15, r15
jmp 0x140087cf9
call fcn.140092c10
xchg r9, r13
mov r9, qword [rbp + 0x100]
xchg r13, r9
mov rbx, qword [rsp + 0x20]
inc r14d
mov dword [rbp + 0xf0], r14d
mov dword [rsp - 0x20], 0x2c9b4072
cmp r14d, dword [rbp - 0x70]
jb 0x140087728
mov rbx, qword [rbp + 0xf8]
xchg rbp, rbx
mov rcx, rbp
xchg rbp, rbx
call fcn.140092ad0
mov rbx, rbx
mov rax, qword [r12 + 0x78]
mov r15, qword [rsp + 0x1b0]
mov rdi, qword [rsp + 0x1b8]
mov dword [rsp - 0x28], 0xf4a681d
mov rbx, qword [rsp + 0x208]
cmp rax, 0x78
jbe 0x140087d95
mov dword [rsp - 0x38], edx
mov rcx, qword [r12]
xor edx, edx
xchg r13, rax
mov r13, qword [rcx]
xchg r13, rax
call qword [rax]
xchg rsp, rcx
mov rsp, qword [r12]
xchg rsp, rcx
call fcn.140092c10
jmp 0x140087db9
test rax, rax
mov dword [rsp - 0x28], 0x54034a2c
je 0x140087db9
mov rax, qword [r12]
xor edx, edx
mov dword [rsp - 0x2c], 0xe2a201d
mov rcx, r12
call qword [rax]
mov qword [r12 + 0x78], 0x5b779a99
xor qword [r12 + 0x78], 0x612d3070
sub qword [r12 + 0x78], 0x8e4d184
xor qword [r12 + 0x78], 0x38d525ad
sub qword [r12 + 0x78], 0x9a0fcc8
xchg rbp, rax
mov rbp, rsi
xchg rbp, rax
neg rsp
add rsp, 0xfffffffffffffe40
neg rsp
pop r14
xchg r10, r10
pop r13
nop
add rsp, 8
mov r12, qword [rsp - 8]
nop
mov rsi, qword [rsp]
add rsp, 8
pop rbp
xchg rbp, rbp
ret