Function at 0x1400965b0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x28
lea rbp, [rsp + 0x20]
mov rbx, r8
mov r14, rdx
mov r12, rcx
mov eax, dword [0x141f3d118]
and eax, dword [0x141f3d11c]
add eax, 0x22ff3951
cmp eax, 0x4d0b597
jae 0x140096600
mov eax, 0x20
call fcn.1400f4d10
sub rsp, rax
nop word cs:[rax + rax]
mov eax, dword [0x141f3d120]
mov ecx, dword [0x141f3d124]
add ecx, eax
add ecx, 0x7797ee48
or ecx, 0xd40c9e7f
xor ecx, 0xf129f8ff
mov eax, 0x20
call fcn.1400f4d10
sub rsp, rax
mov rdi, rsp
cmp ecx, 0xa3dc8b9d
ja 0x140096600
movabs r9, 0x7ffffffffffffffe
lea rsi, [rbx + 1]
lea r8, [rbx*2 + 2]
nop
mov edx, dword [0x141f3d128]
imul edx, dword [0x141f3d12c]
or edx, 0x6c425d64
add edx, 0x160c5c0e
and edx, 0x92216be8
test rsi, rsi
sets al
cmp r8, r9
seta cl
cmp edx, 0x31614ae6
ja 0x140096650
or al, cl
jne 0x140096cd5
mov eax, dword [0x141f3d140]
xor edx, edx
div dword [0x141f3d144]
nop dword [rax]
mov eax, dword [0x141f3d148]
xor eax, dword [0x141f3d14c]
and eax, 0x5f79456d
imul eax, eax, 0xa2569de8
and eax, 0x5a985a68
cmp eax, 0xa4f419f5
je 0x1400966a0
nop word cs:[rax + rax]
mov eax, dword [0x141f3d150]
xor edx, edx
div dword [0x141f3d154]
and eax, 0x9e204046
xor eax, 0x5b181420
or eax, 0x2043aa99
cmp eax, 0x51c2c577
je 0x1400966d0
test r8, r8
je 0x14009677f
movzx eax, byte [0x141f49078]
sub rsp, 0x20
xor ecx, ecx
mov rdx, r8
call fcn.1400c6170
add rsp, 0x20
mov r15, rax
nop dword [rax]
mov eax, dword [0x141f3d158]
or eax, dword [0x141f3d15c]
and eax, 0x53d0fb2
cmp eax, 0xc6901a95
je 0x140096720
nop dword [rax + rax]
mov eax, dword [0x141f3d160]
xor eax, dword [0x141f3d164]
add eax, 0x5d66d8e9
cmp eax, 0x5b8f69a1
ja 0x140096740
test r15, r15
jne 0x140096787
mov eax, dword [0x141f3d168]
imul eax, dword [0x141f3d16c]
and eax, 0x5aea675e
cmp eax, 0x907bc4f3
jne 0x140096dee
jmp 0x140096e08
mov r15d, 2
xor esi, esi
mov qword [rbp - 0x18], r12
mov eax, dword [0x141f3d180]
add eax, dword [0x141f3d184]
xor eax, 0xcc1e8d5c
imul eax, eax, 0xf008b212
and eax, 0x8963f32a
cmp eax, 0x30a6465e
jbe 0x1400967e3
mov qword [rdi], rsi
mov qword [rdi + 8], r15
mov qword [rdi + 0x10], 0
lea rax, [r14 + rbx]
mov qword [rbp - 0x10], r14
mov qword [rbp - 8], rax
mov word [rbp], 0
sub rsp, 0x20
lea rdx, [rbp - 0x10]
mov rcx, rdi
call fcn.140096e40
add rsp, 0x20
add rbx, r14
lea r12, [rbp - 0x10]
nop word [rax + rax]
mov r13d, dword [0x141f3d188]
sub r13d, dword [0x141f3d18c]
or r13d, 0xa7f015f0
mov qword [rdi], rsi
mov qword [rdi + 8], r15
mov qword [rdi + 0x10], 0
mov qword [rbp - 0x10], r14
mov qword [rbp - 8], rbx
mov word [rbp], 0
sub rsp, 0x20
mov rcx, rdi
mov rdx, r12
call fcn.140096e40
add rsp, 0x20
cmp r13d, 0xc49686f3
je 0x1400967f0
mov rbx, qword [rdi + 8]
mov r14, qword [rdi + 0x10]
mov r8, r14
mov rcx, rbx
cmp r14, 8
mov r15, qword [rbp - 0x18]
jb 0x140096a97
xor r9d, r9d
mov r10d, 0xde8c78e5
mov r11d, 0x991e6923
mov rcx, rbx
mov r8, r14
nop
mov eax, dword [0x141f3d1b0]
xor edx, edx
div dword [0x141f3d1b4]
or eax, 0xbbd7febf
imul rax, r10
shr rax, 0x3d
cmp eax, 0x66351429
ja 0x140096870
cmp word [rcx], 0
je 0x140096b61
cmp word [rcx + 2], 0
je 0x140096b61
movzx eax, word [rcx + 4]
nop dword [rax + rax]
mov edx, dword [0x141f3d1b8]
xor edx, dword [0x141f3d1bc]
imul rdx, rdx, 0x45f6396f
shr rdx, 0x3a
add edx, 0x868c0035
imul rdx, rdx, 0x7a6c9265
shr rdx, 0x3e
cmp edx, 0x658f72a3
ja 0x1400968b0
test ax, ax
je 0x140096b61
test r9b, r9b
jne 0x1400968e9
movzx eax, word [rcx + 6]
nop word cs:[rax + rax]
mov edx, dword [0x141f3d1c0]
imul edx, dword [0x141f3d1c4]
add edx, 0x5eb08d0a
and edx, 0x8f35e24b
add edx, 0x220e19c
cmp edx, 0xbb862858
ja 0x140096900
test ax, ax
je 0x140096b61
mov eax, dword [0x141f3d1c8]
xor edx, edx
div dword [0x141f3d1cc]
imul eax, eax, 0x87eb3685
or eax, 0xdceb79bf
cmp eax, 0x7b372d1e
je 0x140096930
cmp word [rcx + 8], 0
je 0x140096b61
movzx esi, word [rcx + 0xa]
nop
mov eax, dword [0x141f3d1d0]
xor edx, edx
div dword [0x141f3d1d4]
imul eax, eax, 0x116e7ff5
add eax, 0x12fff1df
or eax, 0x2ff6634c
cmp eax, 0x1a4fb1f9
jb 0x140096960
nop word cs:[rax + rax]
mov eax, dword [0x141f3d1d8]
add eax, dword [0x141f3d1dc]
imul eax, eax, 0x274f4198
add eax, 0x6028ebd0
and eax, 0x39a7d6b0
cmp eax, 0x3a28baf5
ja 0x140096990
test si, si
je 0x140096b61
movzx eax, word [rcx + 0xc]
test r9b, r9b
jne 0x1400969c0
test ax, ax
je 0x140096b61
nop
mov eax, dword [0x141f3d1e0]
and eax, dword [0x141f3d1e4]
xor eax, 0x94fff058
add eax, 0x924b7b3
or eax, 0x21226dff
cmp eax, 0x8fe5b953
jb 0x1400969d0
cmp word [rcx + 0xe], 0
je 0x140096b61
mov eax, dword [0x141f3d1e8]
sub eax, dword [0x141f3d1ec]
or eax, 0xfdff6fff
add eax, 0xfe211c2f
cmp eax, 0x403210ce
jb 0x1400969fd
add r8, 0xfffffffffffffff8
add rcx, 0x10
nop word cs:[rax + rax]
mov eax, dword [0x141f3d1f0]
and eax, dword [0x141f3d1f4]
add eax, 0x5a7506fb
or eax, 0x83a7bb35
mov rdx, rax
imul rdx, r11
shr rdx, 0x20
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 0x1d
cmp eax, 0x7fc2d6e3
ja 0x140096a30
nop word cs:[rax + rax]
mov eax, dword [0x141f3d1f8]
xor eax, dword [0x141f3d1fc]
add eax, 0xfabfeb5f
or eax, 0x2f780f9a
cmp eax, 0xccead2fd
ja 0x140096a70
cmp r8, 7
ja 0x140096870
lea rax, [rcx + r8*2]
xor edx, edx
nop dword [rax]
test dl, dl
jne 0x140096aa0
mov edx, 0xa366bf8d
nop dword [rax]
mov r8d, dword [0x141f3d190]
xor r8d, dword [0x141f3d194]
imul r8d, r8d, 0xc36f0da1
or r8d, 0x28601e60
and r8d, 0x2c711e64
cmp r8d, 0x70689488
je 0x140096ab0
cmp rcx, rax
je 0x140096c0e
mov r8d, dword [0x141f3d198]
imul r8d, dword [0x141f3d19c]
xor r8d, 0xb06af340
imul r8d, r8d, 0xe6d3c470
cmp r8d, 0xecad8817
ja 0x140096ae5
lea r8, [rcx + 2]
mov r9d, dword [0x141f3d1a0]
sub r9d, dword [0x141f3d1a4]
imul r9d, r9d, 0xb39e0a7
imul r9, rdx
shr r9, 0x3a
xor r9d, 0xfbe981ee
cmp r9d, 0x6baa12e7
jb 0x140096b0f
movzx r9d, word [rcx]
mov ecx, dword [0x141f3d1a8]
xor ecx, dword [0x141f3d1ac]
cmp ecx, 0x40b0522a
je 0x140096b40
mov rcx, r8
test r9w, r9w
jne 0x140096ab0
mov eax, dword [0x141f3d200]
or eax, dword [0x141f3d204]
and eax, 0xd4049180
add eax, 0xaa29d734
cmp eax, 0x96766ee
movabs rdx, 0x7ffffffffffffffe
jae 0x140096b9a
lea rax, [0x141f25ca0]
mov qword [r15 + 8], rax
lea rax, [rdx + 2]
mov qword [r15], rax
add rdx, 2
lea rax, [0x141f25ca0]
nop word cs:[rax + rax]
mov ecx, dword [0x141f3d208]
and ecx, dword [0x141f3d20c]
xor ecx, 0xc7e3caa1
add ecx, 0xf4057764
mov qword [r15 + 8], rax
mov qword [r15], rdx
cmp ecx, 0x2317c9a9
jb 0x140096bb0
cmp qword [rdi], 0
je 0x140096da0
mov rsi, qword [0x141f49060]
mov eax, dword [0x141f3d210]
sub eax, dword [0x141f3d214]
add eax, 0x232ea473
and eax, 0xd5f4de78
cmp eax, 0xf5905ef7
jbe 0x140096d33
jmp 0x140096d73
cmp r14, qword [rdi]
jne 0x140096c52
sub rsp, 0x20
mov rcx, rdi
call fcn.1400e09f0
add rsp, 0x20
nop word cs:[rax + rax]
mov eax, dword [0x141f3d230]
imul eax, dword [0x141f3d234]
xor eax, 0x5908d30
add eax, 0x1acbf44b
cmp eax, 0xb9144d54
ja 0x140096c30
mov rbx, qword [rdi + 8]
mov eax, dword [0x141f3d238]
imul eax, dword [0x141f3d23c]
add eax, 0x92f953f
xor eax, 0x659cad37
cmp eax, 0x1a56d8f4
jae 0x140096c8a
mov word [rbx + r14*2], 0
lea rax, [r14 + 1]
mov qword [rdi + 0x10], rax
mov qword [r15 + 0x10], rax
movups xmm0, xmmword [rdi]
movups xmmword [r15], xmm0
lea rcx, [r14 + 1]
nop
mov eax, dword [0x141f3d240]
xor edx, edx
div dword [0x141f3d244]
imul rax, rax, 0x5d7dc4bf
shr rax, 0x3e
xor eax, 0xe8603e27
add eax, 0xf15c45c2
mov word [rbx + r14*2], 0
mov qword [rdi + 0x10], rcx
mov qword [r15 + 0x10], rcx
movups xmm0, xmmword [rdi]
movups xmmword [r15], xmm0
cmp eax, 0x2190d6ef
jb 0x140096c90
jmp 0x140096dc0
xor eax, eax
test al, al
je 0x140096ce0
ud2
mov eax, dword [0x141f3d130]
or eax, dword [0x141f3d134]
xor eax, 0xf7190916
imul eax, eax, 0xfceec7e7
ud2
mov eax, dword [0x141f3d218]
xor eax, dword [0x141f3d21c]
add eax, 0x6bd3bf22
imul rax, rax, 0x45207961
shr rax, 0x3e
imul edi, eax, 0xe04a4d60
sub rsp, 0x20
mov rcx, rsi
xor edx, edx
mov r8, rbx
call qword [0x1401082d0]
add rsp, 0x20
cmp edi, 0x431fa928
jne 0x140096d8b
sub rsp, 0x20
mov rcx, rsi
xor edx, edx
mov r8, rbx
call qword [0x1401082d0]
add rsp, 0x20
jmp 0x140096d33
xor eax, eax
nop dword [rax]
test al, al
jne 0x140096d90
nop word cs:[rax + rax]
mov eax, dword [0x141f3d220]
add eax, dword [0x141f3d224]
xor eax, 0x21c6fd4
imul eax, eax, 0xd7b3e60c
cmp eax, 0x4921d7d8
jbe 0x140096da0
nop
mov eax, dword [0x141f3d228]
and eax, dword [0x141f3d22c]
and eax, 0x20e0198
xor eax, 0x9fe92f28
cmp eax, 0x7fd88f26
jb 0x140096dc0
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov eax, dword [0x141f3d170]
and eax, dword [0x141f3d174]
and eax, 0xbbfb591a
ud2
ud2