Function at 0x1401b3e80
Capabilities:
Encode data using xor

Disassembly:
xchg r11, rbx
mov qword [rsp + 8], r11
xchg rbx, r11
xchg r15, rbp
mov qword [rsp + 0x10], r15
xchg r15, rbp
mov qword [rsp + 0x18], rsi
nop
mov qword [rsp - 8], rdi
sub rsp, 8
push r12
push r13
push r14
push r15
sub rsp, 0x40
mov r14, r9
mov rbx, r8
xchg rdx, r12
mov rdx, r12
xchg r12, rdx
xchg r10, r15
mov r10, rcx
xchg r15, r10
mov r10, qword [r8 + 0x10]
cmp qword [r8 + 0x18], 0x10
jb 0x1401b3edb
mov r8, qword [r8]
movabs rdi, 0xcbf29ce4150d8238
add rdi, 0x6a5935f4
sub rdi, 0x6ec580dd
add rdi, 0x41a9f582
sub rdi, 0x2be40de8
add rdi, 0x5dbb043c
xor r13d, r13d
mov ecx, r13d
test r10, r10
je 0x1401b3f9c
movabs rdx, 0x1004ad91fd7
xor rdx, 0x52321668
sub rdx, 0x12b5a507
xor rdx, 0x4e58cefd
add rdx, 0x597ac14
sub rdx, 0xd44366d
xor rdx, 0x4ef4f91a
xor rdx, 0x2f83be81
xor rdx, 0x21b659c4
nop word [rax + rax]
movzx eax, byte [rcx + r8]
push rdi
xor edi, eax
push rdi
xor rdi, qword [rsp + 8]
shr rdi, 0x20
ror rax, 0x20
xor edi, eax
ror rax, 0x20
shl rdi, 0x20
xor rdi, qword [rsp]
add rsp, 0x10
imul rdi, rdx
inc rcx
cmp rcx, r10
jb 0x1401b3f64
xchg rdi, r13
mov r9, r13
xchg r13, rdi
xchg rbx, rdi
mov r8, rdi
xchg rdi, rbx
lea rdx, [rsp + 0x20]
mov rcx, r15
call fcn.1401b2d50
xchg rsi, rax
mov rsi, qword [rsp + 0x28]
xchg rsi, rax
test rax, rax
je 0x1401b3fdb
mov qword [r12], rax
mov byte [r12 + 8], r13b
jmp 0x1401b44e3
movabs rax, 0x333333303b6eed8
add rax, 0x713b8490
sub rax, 0x68051261
add rax, 0x351a617
xor rax, 0x41d099e4
add rax, 0x7887f4a
sub rax, 0xbb873f6
xor rax, 0x5d780d1a
add rax, 0x226b8bdf
cmp qword [r15 + 0x10], rax
je 0x1401b454a
lea rbp, [r15 + 8]
xchg rbp, r15
mov qword [rsp + 0x30], r15
xchg r15, rbp
mov qword [rsp + 0x38], r13
mov ecx, 0x1c928a2
add ecx, 0x6310380e
sub ecx, 0x35f40ee8
sub ecx, 0x6c91bdb
add ecx, 0x17da9c69
xor ecx, 0x2edc6d10
xor ecx, 0x2e87d0ae
add ecx, 0x1cce7e70
sub ecx, 0x5c7bee08
call fcn.1401fd050
xchg rdi, rax
mov rsi, rdi
xchg rdi, rax
xchg rdx, rax
mov qword [rsp + 0x38], rdx
xchg rdx, rax
xorps xmm0, xmm0
xchg r11, rax
movups xmmword [r11 + 0x10], xmm0
xchg r11, rax
mov qword [rax + 0x20], r13
mov qword [rax + 0x28], r13
xchg rcx, rbx
movups xmm0, xmmword [rcx]
xchg rbx, rcx
movups xmmword [rax + 0x10], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [rax + 0x20], xmm1
xchg r13, rbp
mov qword [rbx + 0x10], rbp
xchg r13, rbp
mov qword [rbx + 0x18], 0xad308a6
add qword [rbx + 0x18], 0x3cb454e8
sub qword [rbx + 0x18], 0x30b02d3e
add qword [rbx + 0x18], 0x4e5a99c1
sub qword [rbx + 0x18], 0x3c00c6bd
sub qword [rbx + 0x18], 0x246f5088
sub qword [rbx + 0x18], 0x4c1b2bd
mov byte [rbx], 0x4d
xor byte [rbx], 0x6c
add byte [rbx], 0x35
xor byte [rbx], 0x60
xor byte [rbx], 0x7d
sub byte [rbx], 0x36
xor byte [rbx], 0x2e
sub byte [rbx], 0x25
sub byte [rbx], 0x16
xorps xmm0, xmm0
xchg r9, rax
movups xmmword [r9 + 0x30], xmm0
xchg r9, rax
xchg r13, rbx
mov qword [rax + 0x40], rbx
xchg r13, rbx
xchg rdx, r13
mov qword [rax + 0x48], rdx
xchg r13, rdx
xchg rbx, r14
movups xmm0, xmmword [rbx]
xchg r14, rbx
movups xmmword [rax + 0x30], xmm0
xchg r14, r8
movups xmm1, xmmword [r8 + 0x10]
xchg r14, r8
xchg r15, rax
movups xmmword [r15 + 0x40], xmm1
xchg r15, rax
xchg r13, r11
mov qword [r14 + 0x10], r11
xchg r11, r13
mov qword [r14 + 0x18], 0xe6af8b2
xor qword [r14 + 0x18], 0x74aaebbf
sub qword [r14 + 0x18], 0x17348769
xor qword [r14 + 0x18], 0x60a07ffd
add qword [r14 + 0x18], 0x567fa73f
sub qword [r14 + 0x18], 0x59ab9b89
mov byte [r14], 0x17
add byte [r14], 0x21
add byte [r14], 0x43
sub byte [r14], 0x54
xor byte [r14], 0x11
add byte [r14], 0x20
sub byte [r14], 0x56
mov rcx, qword [r15 + 0x10]
xchg r10, r15
movss xmm3, dword [r10]
xchg r10, r15
add rcx, 1
xorps xmm0, xmm0
js 0x1401b41c0
cvtsi2ss xmm0, rcx
jmp 0x1401b41d9
xchg rcx, rax
mov rcx, rax
xchg rcx, rax
shr rax, 1
and ecx, 1
or rax, rcx
cvtsi2ss xmm0, rax
addss xmm0, xmm0
xchg r8, rbx
mov r8, qword [r15 + 0x38]
xchg r8, rbx
xorps xmm2, xmm2
test rbx, rbx
js 0x1401b41f9
cvtsi2ss xmm2, rbx
jmp 0x1401b4217
xchg rcx, rdi
mov rdi, rbx
xchg rcx, rdi
shr rcx, 1
mov rax, rbx
and eax, 1
or rcx, rax
cvtsi2ss xmm2, rcx
addss xmm2, xmm2
movaps xmm1, xmm0
divss xmm1, xmm2
comiss xmm1, xmm3
seta al
test al, al
je 0x1401b4441
divss xmm0, xmm3
call sub.api_ms_win_crt_math_l1_1_0.dll_ceilf
xor ecx, ecx
movss xmm1, dword [0x140001590]
comiss xmm0, xmm1
jb 0x1401b4284
subss xmm0, xmm1
comiss xmm0, xmm1
jae 0x1401b4284
movabs rax, 0x800000007f658203
xor rax, 0x3461219
xor rax, 0x74e72046
add rax, 0x42d56808
add rax, 0xeaf18e
xor rax, 0x4c8509f2
xchg rcx, rax
mov rax, rcx
xchg rcx, rax
cvttss2si rax, xmm0
add rax, rcx
mov ecx, 0x608176f3
sub ecx, 0x30af8335
sub ecx, 0x20051d42
xor ecx, 0x3275555f
sub ecx, 0xd3c30db
sub ecx, 0x1e93606
add ecx, 0x3922f27a
sub ecx, 0x52a7feee
sub ecx, 0x150f0fc6
cmp rax, rcx
cmova rcx, rax
cmp rbx, rcx
jae 0x1401b42f8
cmp rbx, 0x200
jae 0x1401b42ef
lea rbx, [rbx*8]
cmp rbx, rcx
jae 0x1401b42f8
xchg r15, rcx
mov rbx, r15
xchg r15, rcx
xchg rbx, rdx
mov rbx, rdx
xchg rbx, rdx
xchg r10, r15
mov rcx, r10
xchg r15, r10
call fcn.1401bd2d0
mov rax, rdi
and rax, qword [r15 + 0x30]
add rax, rax
xchg r14, r13
mov r14, qword [r15 + 0x18]
xchg r13, r14
xchg r12, rbx
mov r12, qword [r13 + rax*8 + 8]
xchg rbx, r12
xchg rcx, rdx
mov rdx, qword [rbp]
xchg rdx, rcx
cmp rbx, rcx
jne 0x1401b4351
xchg rsi, rcx
mov qword [rsp + 0x20], rsi
xchg rcx, rsi
jmp 0x1401b43ee
mov r13, qword [r13 + rax*8]
xchg rbp, rcx
mov rcx, qword [rsi + 0x20]
xchg rbp, rcx
nop word [rax + rax]
lea rdx, [rbx + 0x10]
xchg rbp, rax
mov rbp, qword [rdx + 0x10]
xchg rbp, rax
cmp qword [rdx + 0x18], 0x10
jb 0x1401b4385
mov rdx, qword [rdx]
lea rcx, [rsi + 0x10]
cmp qword [rsi + 0x28], 0x10
jb 0x1401b439e
xchg rdx, rcx
mov rdx, qword [rsi + 0x10]
xchg rcx, rdx
cmp rbp, rax
jne 0x1401b43bd
xchg r10, r8
mov r10, rbp
xchg r10, r8
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x1401b43cf
cmp rbx, r13
je 0x1401b43e5
mov rbx, qword [rbx + 8]
jmp 0x1401b436b
mov rax, qword [rbx]
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], rbx
lea rbp, [r15 + 8]
jmp 0x1401b4436
mov qword [rsp + 0x20], rbx
lea rbp, [r15 + 8]
mov qword [rsp + 0x28], 0x682c85bb
xor qword [rsp + 0x28], 0x7420e83c
add qword [rsp + 0x28], 0x3dfa1e7a
xor qword [rsp + 0x28], 0x2ea04da
sub qword [rsp + 0x28], 0x31d21b36
add qword [rsp + 0x28], 0x4d0871c6
sub qword [rsp + 0x28], 0x40ee5ba3
sub qword [rsp + 0x28], 0x333483c8
movaps xmm0, xmmword [rsp + 0x20]
movdqa xmmword [rsp + 0x20], xmm0
xchg rdx, r15
mov r15, qword [rsp + 0x20]
xchg rdx, r15
xchg rcx, r8
mov rcx, qword [rdx + 8]
xchg rcx, r8
inc qword [r15 + 0x10]
xchg rbp, rdx
mov qword [rsi], rbp
xchg rdx, rbp
mov qword [rsi + 8], r8
mov qword [r8], rsi
mov qword [rdx + 8], rsi
xchg r9, rcx
mov r9, qword [r15 + 0x18]
xchg r9, rcx
mov rax, qword [r15 + 0x30]
and rax, rdi
add rax, rax
mov r9, qword [rcx + rax*8]
cmp r9, qword [rbp]
jne 0x1401b4499
mov qword [rcx + rax*8], rsi
jmp 0x1401b44b6
cmp r9, rdx
jne 0x1401b44ab
mov qword [rcx + rax*8], rsi
jmp 0x1401b44bb
cmp qword [rcx + rax*8 + 8], r8
jne 0x1401b44bb
mov qword [rcx + rax*8 + 8], rsi
mov qword [r12], rsi
mov byte [r12 + 8], reloc.SHLWAPI.dll_SHCreateMemStream
xor byte [r12 + 8], 0x51
sub byte [r12 + 8], 0x1e
sub byte [r12 + 8], 0x14
add byte [r12 + 8], 0x36
sub byte [r12 + 8], 0x60
xchg r12, rax
mov r12, rax
xchg r12, rax
mov rbx, qword [rsp + 0x70]
xchg r11, rbp
mov r11, qword [rsp + 0x78]
xchg r11, rbp
xchg rsi, r14
mov r14, qword [rsp + 0x80]
xchg r14, rsi
add rsp, 0x40
nop
xchg qword [rsp], r15
add rsp, 8
nop
xchg qword [rsp], r14
add rsp, 8
nop
mov r13, qword [rsp]
add rsp, 8
push rcx
push rcx
push rbx
push rax
push rcx
push rbx
push rax
push rbx
xchg qword [rsp + 0x40], r12
pop rbx
pop rax
pop rbx
pop rcx
pop rax
pop rbx
pop rcx
pop rcx
add rsp, 8
nop
xchg qword [rsp], rdi
add rsp, 8
ret
lea rcx, [0x140001510]
call sub.MSVCP140.dll_void___cdecl_std::_Xlength_error_char_const____ptr64_
int3