Function at 0x140001000
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x18
lea rbp, [rsp + 0x10]
mov eax, dword [0x141f2c018]
and eax, dword [0x141f2c01c]
imul eax, eax, 0xb8650cff
cmp eax, 0x7fcd5369
jne 0x140001062
mov eax, 0x10
call fcn.1400f4d10
sub rsp, rax
mov eax, 0x10
call fcn.1400f4d10
sub rsp, rax
mov eax, 0x10
call fcn.1400f4d10
sub rsp, rax
mov eax, 0x30
call fcn.1400f4d10
sub rsp, rax
mov qword [rbp - 0x10], r8
mov qword [rbp - 8], rcx
nop word [rax + rax]
mov eax, dword [0x141f2c020]
sub eax, dword [0x141f2c024]
imul eax, eax, 0x8b9d1e22
imul rcx, rax, 0x6b038703
shr rcx, 0x3e
mov eax, 0x10
call fcn.1400f4d10
sub rsp, rax
mov r13, rsp
mov eax, 0x10
call fcn.1400f4d10
sub rsp, rax
mov rdi, rsp
mov eax, 0x10
call fcn.1400f4d10
sub rsp, rax
mov r12, rsp
mov eax, 0x30
call fcn.1400f4d10
sub rsp, rax
mov rbx, rsp
cmp ecx, 0xe89b9282
ja 0x140001070
mov eax, 0x20
call fcn.1400f4d10
sub rsp, rax
mov qword [rbp], rsp
mov eax, 0x20
call fcn.1400f4d10
sub rsp, rax
mov r14, rsp
mov qword [r12], 0
mov dword [rdi], 0
mov rax, qword [rdx]
sub rsp, 0x30
mov qword [rsp + 0x20], rdi
mov rcx, rdx
mov edx, 0xffffffff
mov r8d, 1
mov r9, r12
call qword [rax + 0x20]
add rsp, 0x30
mov r15d, eax
test eax, eax
js 0x140001300
mov ecx, dword [rdi]
mov eax, dword [0x141f2c070]
xor edx, edx
div dword [0x141f2c074]
nop word cs:[rax + rax]
mov eax, dword [0x141f2c078]
xor eax, dword [0x141f2c07c]
imul rdx, rax, 0x186e1de5
shr rdx, 0x20
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 0x1d
imul eax, eax, 0x895fa79a
xor eax, 0x9ccdb74e
cmp eax, 0x8e72b55c
jb 0x140001150
test ecx, ecx
je 0x140001436
nop word [rax + rax]
mov eax, dword [0x141f2c0c0]
xor edx, edx
div dword [0x141f2c0c4]
and eax, 0xdad1a6
add eax, 0xa8e5434a
and eax, 0x9df8252
cmp eax, 0x56023c84
je 0x140001190
mov r8, qword [r12]
xor eax, eax
test r8, r8
setne al
lea r13d, [rax + rax*2]
add r13d, 0xf
mov byte [r14], r13b
mov qword [r14 + 8], r8
nop
mov eax, dword [0x141f2c0c8]
xor edx, edx
div dword [0x141f2c0cc]
add eax, 0xb07411f3
and eax, 0xc30a03b6
imul eax, eax, 0x3ac09e6c
cmp eax, 0xaa1abf80
je 0x1400011d0
cmp r13b, 0x12
jne 0x140001699
sub rsp, 0x20
mov rcx, rbx
mov rdx, r8
call fcn.140003520
add rsp, 0x20
mov rcx, qword [rbx]
movups xmm0, xmmword [rbx + 0x18]
mov r14, qword [rbp]
movups xmmword [r14 + 0x10], xmm0
movups xmm0, xmmword [rbx + 8]
movups xmmword [r14], xmm0
test rcx, rcx
je 0x1400016e3
mov r8, rbx
add r8, 8
mov eax, dword [0x141f2c160]
imul eax, dword [0x141f2c164]
add eax, 0x5b791962
xor eax, 0x188c1800
and eax, 0x5a9c3842
cmp eax, 0xfc9c6e6a
mov r10, qword [rbp - 8]
jbe 0x140001280
movups xmm0, xmmword [r8]
movups xmm1, xmmword [r8 + 0x10]
movups xmmword [r10 + 0x18], xmm1
movups xmmword [r10 + 8], xmm0
mov qword [r10], rcx
nop word [rax + rax]
mov eax, dword [0x141f2c168]
xor edx, edx
div dword [0x141f2c16c]
imul eax, eax, 0x7559db2c
imul rax, rax, 0x4222a3b9
shr rax, 0x3d
mov r9, qword [rbx + 0x28]
movups xmm0, xmmword [r8]
movups xmm1, xmmword [r8 + 0x10]
movups xmmword [r10 + 0x18], xmm1
movups xmmword [r10 + 8], xmm0
mov qword [r10], rcx
cmp eax, 0x9f29ebf2
ja 0x140001280
mov eax, dword [0x141f2c170]
xor edx, edx
div dword [0x141f2c174]
nop
mov eax, dword [0x141f2c178]
and eax, dword [0x141f2c17c]
imul eax, eax, 0x336f4379
and eax, 0x2d1d83e5
add eax, 0xef9f3404
cmp eax, 0x29c576a
jb 0x1400012d0
mov qword [r10 + 0x28], r9
jmp 0x140001a62
mov eax, dword [0x141f2c028]
xor eax, dword [0x141f2c02c]
and eax, 0xa0e95988
imul eax, eax, 0xecbaf69d
imul rax, rax, 0x529781a3
shr rax, 0x3e
cmp eax, 0x414db818
ja 0x140001300
mov eax, dword [0x141f2c030]
xor edx, edx
div dword [0x141f2c034]
add eax, 0x177d53e4
or eax, 0xd1c6d3c
xor eax, 0x3ef4d5
cmp eax, 0x7feaee43
jbe 0x140001360
mov qword [r13], 0
nop word cs:[rax + rax]
mov eax, dword [0x141f2c038]
imul eax, dword [0x141f2c03c]
imul eax, eax, 0x8d922500
add eax, 0xdac9b900
mov qword [r13], 0
cmp eax, 0x8378d489
ja 0x140001360
sub rsp, 0x20
xor ecx, ecx
mov rdx, r13
call qword [0x1401084e8]
add rsp, 0x20
mov r13, qword [r13]
test r13, r13
je 0x140001414
mov rdi, qword [r13]
mov eax, dword [0x141f2c040]
sub eax, dword [0x141f2c044]
add eax, 0x5185b53c
or eax, 0xf6bae7e5
and eax, 0xfebaefe7
cmp eax, 0x405f3bdc
jae 0x1400013e0
sub rsp, 0x20
mov rcx, r13
call qword [rdi + 0x10]
add rsp, 0x20
nop word [rax + rax]
mov eax, dword [0x141f2c048]
xor edx, edx
div dword [0x141f2c04c]
and eax, 0x1f04251b
xor eax, 0x9af9d56c
imul esi, eax, 0x369e07
sub rsp, 0x20
mov rcx, r13
call qword [rdi + 0x10]
add rsp, 0x20
cmp esi, 0x4904df21
je 0x1400013e0
mov eax, dword [0x141f2c050]
xor edx, edx
div dword [0x141f2c054]
imul eax, eax, 0xf0f0279a
add eax, 0x1a0c3a66
cmp eax, 0xb233c174
jbe 0x140001442
jmp 0x14000146a
mov byte [r14], 0x13
mov r13b, 0x13
jmp 0x1400014d0
mov eax, dword [0x141f2c058]
xor edx, edx
div dword [0x141f2c05c]
add eax, 0x56d3b34a
xor eax, 0x6f5698bb
add eax, 0x9ca8aa1e
mov byte [r14], 0
cmp eax, 0x69114c2a
jae 0x140001470
mov byte [r14], 0
jmp 0x140001442
mov eax, dword [0x141f2c060]
xor edx, edx
div dword [0x141f2c064]
imul eax, eax, 0xb655787b
and eax, 0x77afd9d8
cmp eax, 0xcb570451
jne 0x1400014a0
mov dword [r14 + 4], r15d
nop word cs:[rax + rax]
mov eax, dword [0x141f2c068]
and eax, dword [0x141f2c06c]
xor eax, 0xdc6cedc0
add eax, 0x26b28b9f
xor eax, 0x42204605
mov dword [r14 + 4], r15d
cmp eax, 0x3a0e3407
jb 0x1400014a0
xor r13d, r13d
nop dword [rax]
mov eax, dword [0x141f2c080]
imul eax, dword [0x141f2c084]
imul eax, eax, 0x27fd77c9
add eax, 0x7d7f6cde
cmp eax, 0x42d223e6
jb 0x1400014d0
mov r12, qword [r12]
test r12, r12
je 0x1400015a0
nop dword [rax]
mov eax, dword [0x141f2c088]
xor eax, dword [0x141f2c08c]
xor eax, 0x42000480
and eax, 0x4a0a0581
cmp eax, 0x86511a26
ja 0x140001500
mov rdi, qword [r12]
mov eax, dword [0x141f2c090]
xor edx, edx
div dword [0x141f2c094]
add eax, 0x79fd45a7
cmp eax, 0x740e0ff
jae 0x140001550
sub rsp, 0x20
mov rcx, r12
call qword [rdi + 0x10]
add rsp, 0x20
nop dword [rax]
mov eax, dword [0x141f2c098]
xor eax, dword [0x141f2c09c]
imul esi, eax, 0xe8c748e0
xor esi, 0xb19b77b2
sub rsp, 0x20
mov rcx, r12
call qword [rdi + 0x10]
add rsp, 0x20
cmp esi, 0x76737217
jb 0x140001550
nop
mov eax, dword [0x141f2c0a0]
sub eax, dword [0x141f2c0a4]
add eax, 0x868be12e
cmp eax, 0x401fe354
jae 0x140001580
nop dword [rax + rax]
mov eax, dword [0x141f2c0a8]
add eax, dword [0x141f2c0ac]
imul eax, eax, 0x4aa052bb
cmp eax, 0x59076357
je 0x1400015a0
test r15d, r15d
js 0x140001640
mov eax, dword [0x141f2c150]
add eax, dword [0x141f2c154]
imul rcx, rax, 0x40a883c5
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x1f
imul eax, eax, 0xec2bace2
cmp eax, 0xd451a98d
jne 0x140001600
sub rsp, 0x20
mov rcx, r14
call fcn.14000db00
add rsp, 0x20
nop
mov eax, dword [0x141f2c158]
xor edx, edx
div dword [0x141f2c15c]
imul esi, eax, 0xb509e3c
sub rsp, 0x20
mov rcx, r14
call fcn.14000db00
add rsp, 0x20
cmp esi, 0xdecd6b23
je 0x140001600
jmp 0x140001a35
mov eax, dword [0x141f2c0b0]
or eax, dword [0x141f2c0b4]
imul rax, rax, 0x2e7337cb
shr rax, 0x3d
add eax, 0xfc6bad7
or eax, 0xd77d451b
cmp eax, 0xd788e8bc
jb 0x140001640
nop dword [rax + rax]
mov eax, dword [0x141f2c0b8]
add eax, dword [0x141f2c0bc]
or eax, 0x7d65d69d
imul eax, eax, 0xb7422f29
imul rax, rax, 0xac90c41
shr rax, 0x3b
cmp eax, 0x913bc62b
je 0x140001670
mov byte [rbx + 8], r13b
mov eax, dword [r14 + 1]
mov ecx, dword [r14 + 4]
mov dword [rbx + 9], eax
mov dword [rbx + 0xc], ecx
mov qword [rbx + 0x10], r8
movups xmm0, xmmword [rbx + 0x18]
mov r14, qword [rbp]
movups xmmword [r14 + 0x10], xmm0
movzx eax, byte [rbx + 8]
mov byte [r14], al
mov eax, dword [rbx + 9]
mov dword [r14 + 1], eax
movzx eax, word [rbx + 0xd]
mov word [r14 + 5], ax
movzx eax, byte [rbx + 0xf]
mov byte [r14 + 7], al
mov rax, qword [rbx + 0x10]
mov qword [r14 + 8], rax
mov rdi, qword [rbp - 0x10]
nop word [rax + rax]
mov eax, dword [0x141f2c0d0]
imul eax, dword [0x141f2c0d4]
add eax, 0xb46a98b0
xor eax, 0x6979a960
shr eax, 5
imul rax, rax, 0x8755e23
shr rax, 0x36
cmp eax, 0x841fda4e
ja 0x1400016f0
movzx eax, byte [rdi]
cmp eax, 0x12
je 0x140001a25
nop dword [rax + rax]
mov ecx, dword [0x141f2c0d8]
imul ecx, dword [0x141f2c0dc]
xor ecx, 0x30e2b233
imul rcx, rcx, 0x214cfba5
shr rcx, 0x3d
cmp ecx, 0xe7582563
ja 0x140001730
cmp rax, 0x10
ja 0x14000195d
lea rcx, [0x141f26220]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
jmp rax
xor eax, eax
nop
test al, al
jne 0x140001960
mov eax, dword [0x141f2c0e0]
xor edx, edx
div dword [0x141f2c0e4]
nop word cs:[rax + rax]
mov eax, dword [0x141f2c0e8]
sub eax, dword [0x141f2c0ec]
imul eax, eax, 0xf42dbcf5
add eax, 0xb83cee0b
and eax, 0x5d49a6fa
cmp eax, 0xcd591e03
ja 0x140001980
mov rax, qword [rdi + 8]
nop word [rax + rax]
mov ecx, dword [0x141f2c0f0]
or ecx, dword [0x141f2c0f4]
imul ecx, ecx, 0xeadd30f7
add ecx, 0x4b9c2851
xor ecx, 0x15b3aae5
cmp ecx, 0x2275695d
jb 0x1400019b0
mov ebx, 0x10
test rax, rax
je 0x140001a25
xor eax, eax
test al, al
jne 0x140001a08
mov r8, qword [rdi + rbx]
mov rcx, qword [0x141f49060]
sub rsp, 0x20
xor esi, esi
xor edx, edx
call qword [0x1401082d0]
add rsp, 0x20
test sil, sil
je 0x140001a25
mov r8, qword [rdi + rbx]
mov rcx, qword [0x141f49060]
sub rsp, 0x20
xor edx, edx
call qword [0x1401082d0]
add rsp, 0x20
jmp 0x1400019e6
movups xmm0, xmmword [r14]
movups xmm1, xmmword [r14 + 0x10]
movups xmmword [rdi + 0x10], xmm1
movups xmmword [rdi], xmm0
mov rax, qword [rbp - 8]
mov qword [rax], 0
mov eax, dword [0x141f2c188]
sub eax, dword [0x141f2c18c]
add eax, 0x3a5e5958
xor eax, 0xcdb9d6ff
add eax, 0xf8d41e17
cmp eax, 0x5ee9d4ca
jb 0x140001a40
mov eax, 0x8fd420a9
nop word [rax + rax]
mov ecx, dword [0x141f2c180]
or ecx, dword [0x141f2c184]
imul rcx, rax
shr rcx, 0x3d
add ecx, 0xedac1002
imul rcx, rcx, 0x1918704b
shr rcx, 0x39
cmp ecx, 0x6644a7b3
ja 0x140001a70
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret