Function at 0x1400b0890
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x148
mov qword [rsp + 0xb0], r8
mov r14, rdx
mov rsi, rcx
mov rdi, qword [rdx]
mov eax, dword [0x141dd30f8]
add eax, dword [0x141dd30fc]
or eax, 0xe01015a0
xor eax, 0x34412985
or eax, 0x9a4c25a
cmp eax, 0x16383402
jae 0x1400b090f
imul rax, qword [r14 + 0x10], 0x38
mov rcx, qword [rdi + rax + 0x198]
mov qword [rsp + 0x50], rcx
movups xmm0, xmmword [rdi + rax + 0x168]
movups xmm1, xmmword [rdi + rax + 0x178]
movups xmm2, xmmword [rdi + rax + 0x188]
movaps xmmword [rsp + 0x40], xmm2
movaps xmmword [rsp + 0x30], xmm1
movaps xmmword [rsp + 0x20], xmm0
lea rdx, [rdi + 0x168]
nop word cs:[rax + rax]
mov r13, qword [r14 + 0x10]
imul rax, r13, 0x38
movzx ebx, word [rdi + 0x3d2]
mov rcx, qword [rdi + rax + 0x198]
mov qword [rsp + 0x50], rcx
mov ecx, dword [0x141dd3100]
add ecx, dword [0x141dd3104]
imul ecx, ecx, 0x148fc89e
movups xmm0, xmmword [rdi + rax + 0x168]
movups xmm1, xmmword [rdi + rax + 0x178]
movups xmm2, xmmword [rdi + rax + 0x188]
movaps xmmword [rsp + 0x40], xmm2
movaps xmmword [rsp + 0x30], xmm1
movaps xmmword [rsp + 0x20], xmm0
cmp ecx, 0x62620d1c
je 0x1400b0920
lea rcx, [rdi + rax]
add rcx, 0x168
lea r12, [r13 + 1]
imul rax, r12, 0x38
add rdx, rax
mov r15, r13
not r15
add r15, rbx
imul r8, r15, 0x38
call sub.VCRUNTIME140.dll_memmove
mov rax, r13
shl rax, 5
lea rcx, [rdi + rax]
movups xmm0, xmmword [rdi + rax]
movups xmm1, xmmword [rdi + rax + 0x10]
movups xmmword [rsp + 0x58], xmm0
movups xmmword [rsp + 0x68], xmm1
mov rdx, r12
shl rdx, 5
add rdx, rdi
shl r15, 5
mov r8, r15
call sub.VCRUNTIME140.dll_memmove
lea ecx, [rbx - 1]
mov word [rdi + 0x3d2], cx
mov r14, qword [r14 + 8]
movaps xmm0, xmmword [rsp + 0x20]
movaps xmm1, xmmword [rsp + 0x30]
movaps xmm2, xmmword [rsp + 0x40]
movaps xmm3, xmmword [rsp + 0x50]
movaps xmmword [rsp + 0xf0], xmm0
movaps xmmword [rsp + 0x100], xmm1
movaps xmmword [rsp + 0x110], xmm2
movaps xmmword [rsp + 0x120], xmm3
movaps xmm0, xmmword [rsp + 0x60]
movaps xmmword [rsp + 0x130], xmm0
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x140], rax
cmp cx, 4
ja 0x1400b0b7a
mov r9, qword [rdi + 0x160]
nop word cs:[rax + rax]
mov eax, dword [0x141dd3108]
or eax, dword [0x141dd310c]
imul eax, eax, 0x9a8b94c4
add eax, 0x1a6cb6d4
cmp eax, 0x60fa8b13
jb 0x1400b0a50
test r9, r9
je 0x1400b0f94
lea r8, [r14 + 1]
nop dword [rax + rax]
mov eax, dword [0x141dd3110]
xor edx, edx
div dword [0x141dd3114]
imul rax, rax, 0x569d80c5
shr rax, 0x3d
add eax, 0xd5293552
cmp eax, 0x95a19289
jb 0x1400b0a80
nop word cs:[rax + rax]
mov eax, dword [0x141dd3118]
or eax, dword [0x141dd311c]
imul eax, eax, 0x75edf433
add eax, 0x839c0d7f
cmp eax, 0xd819cfdd
ja 0x1400b0ab0
movzx r11d, word [rdi + 0x3d0]
mov eax, dword [0x141dd3120]
xor edx, edx
div dword [0x141dd3124]
nop word cs:[rax + rax]
mov eax, dword [0x141dd3128]
xor eax, dword [0x141dd312c]
imul eax, eax, 0x5b6d5f3d
add eax, 0x7cbbf22c
xor eax, 0x574196b4
cmp eax, 0x1accea50
jb 0x1400b0af0
test r11, r11
je 0x1400b0b82
mov r10, r11
dec r10
nop
mov eax, dword [0x141dd3140]
xor edx, edx
div dword [0x141dd3144]
or eax, 0xffe1ec49
and eax, 0xffe3fc5b
cmp eax, 0xe9923a34
jb 0x1400b0b20
mov rax, qword [r9 + r11*8 + 0x3d0]
mov edx, dword [0x141dd3148]
mov r11d, dword [0x141dd314c]
add edx, r11d
add edx, 0x71d437f1
or edx, 0x1dd6f1f7
add edx, 0xfb3e95d2
cmp edx, 0x511d078b
ja 0x1400b0dd7
jmp 0x1400b0d98
mov r12, r13
jmp 0x1400b149e
movzx eax, word [r9 + 0x3d2]
nop word [rax + rax]
mov edx, dword [0x141dd3130]
imul edx, dword [0x141dd3134]
add edx, 0xce008bb5
cmp edx, 0x2ee5a9ab
jb 0x1400b0b90
test ax, ax
je 0x1400b0d14
mov r10, qword [r9 + 0x3e0]
mov qword [rsp + 0x78], r9
mov eax, dword [0x141dd3158]
xor edx, edx
div dword [str.__u_]
or eax, 0x806b0931
and eax, 0xdbeb1ffd
cmp eax, 0xad7276cb
jne 0x1400b0c13
mov qword [rsp + 0x80], r8
mov qword [rsp + 0x88], 0
mov qword [rsp + 0x90], rdi
mov qword [rsp + 0x98], r14
mov qword [rsp + 0xa0], r10
mov qword [rsp + 0xa8], r14
movzx eax, cx
lea rcx, [rax + 1]
nop word [rax + rax]
mov edx, dword [0x141dd3160]
imul edx, dword [0x141dd3164]
and edx, 0x20
mov qword [rsp + 0x80], r8
mov qword [rsp + 0x88], 0
mov qword [rsp + 0x90], rdi
mov qword [rsp + 0x98], r14
mov qword [rsp + 0xa0], r10
mov qword [rsp + 0xa8], r14
cmp edx, 0xbf2a24e9
ja 0x1400b0c20
movzx edx, word [r10 + 0x3d2]
add ecx, edx
cmp ecx, 0xc
jae 0x1400b0cd5
nop dword [rax + rax]
mov ecx, dword [0x141dd31a8]
sub ecx, dword [0x141dd31ac]
or ecx, 0x9800c7b7
and ecx, 0xbf68ffff
cmp ecx, 0x9290b2b6
je 0x1400b0c80
cmp r13, rax
ja 0x1400b0d4d
mov eax, dword [0x141dd31c0]
sub eax, dword [0x141dd31c4]
imul eax, eax, 0x1d07bb6
add eax, 0x58c15c2
xor eax, 0x73b4b6ee
cmp eax, 0x33e85b97
ja 0x1400b0f5e
jmp 0x1400b0f30
lea rcx, [rsp + 0x78]
mov edx, 1
call fcn.1400bdcd0
nop word cs:[rax + rax]
ud2
mov eax, dword [0x141dd31b0]
imul eax, dword [0x141dd31b4]
or eax, 0x26d2c659
imul eax, eax, 0x26e97ea1
or eax, 0xa30b6c9f
cmp eax, 0x7863b176
jae 0x1400b0d73
ud2
mov eax, dword [0x141dd31b8]
xor eax, dword [0x141dd31bc]
imul eax, eax, 0x1193fbe0
add eax, 0xe6b22660
ud2
mov edx, dword [0x141dd3150]
sub edx, dword [0x141dd3154]
xor edx, 0x45733285
add edx, 0x2960c6e2
mov r11d, 0x95c9b9e3
imul r11, rdx
shr r11, 0x3e
mov qword [rsp + 0xb8], r9
mov qword [rsp + 0xc0], r8
cmp r11d, 0xaa303fe8
jbe 0x1400b0de9
mov qword [rsp + 0xb8], r9
mov qword [rsp + 0xc0], r8
jmp 0x1400b0d98
mov qword [rsp + 0xc8], r10
mov qword [rsp + 0xd0], rax
mov qword [rsp + 0xd8], r14
mov qword [rsp + 0xe0], rdi
mov qword [rsp + 0xe8], r14
movzx ebx, word [rax + 0x3d2]
movzx eax, cx
lea ecx, [rbx + rax]
inc ecx
cmp ecx, 0xc
jae 0x1400b0edb
nop dword [rax]
mov ecx, dword [0x141dd3180]
or ecx, dword [0x141dd3184]
or ecx, 0xe0b3f598
imul rcx, rcx, 0x3c8488f7
shr rcx, 0x3c
or ecx, 0x66650f01
cmp ecx, 0x7d892692
ja 0x1400b0e30
cmp r13, rax
ja 0x1400b0f02
lea rcx, [rsp + 0xb8]
call fcn.1400bd1b0
mov rdi, rax
mov r14, rdx
add r12, rbx
nop word [rax + rax]
mov eax, dword [0x141dd3190]
mov ecx, dword [0x141dd3194]
add eax, ecx
add eax, 0xfec0d8f1
imul rcx, rax, 0x159989ed
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x1e
cmp eax, 0xb1848ce2
ja 0x1400b0e80
nop
mov eax, dword [0x141dd3198]
or eax, dword [0x141dd319c]
and eax, 0x76514d4e
imul rax, rax, 0x5fcbb7d1
shr rax, 0x3a
and eax, 0xfffffffd
cmp eax, 0xe9bf8c09
je 0x1400b0eb0
jmp 0x1400b101e
mov eax, dword [0x141dd3168]
imul eax, dword [0x141dd316c]
ud2
mov eax, dword [0x141dd31c8]
and eax, dword [0x141dd31cc]
add eax, 0xb008bac3
imul rbx, rax, 0x538bb857
shr rbx, 0x3e
lea rcx, [rsp + 0x78]
call fcn.1400bd1b0
cmp ebx, 0xa5f0aa43
jne 0x1400b0f6a
lea rcx, [rsp + 0x78]
call fcn.1400bd1b0
jmp 0x1400b0f30
mov rdi, rax
mov r14, rdx
mov eax, dword [0x141dd31d0]
add eax, dword [0x141dd31d4]
imul eax, eax, 0x771c3a96
or eax, 0x9cc399fb
imul eax, eax, 0xc3c2c9aa
cmp eax, 0x5e791502
jb 0x1400b0f70