Function at 0x1400bd660
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xb8
mov r8, rcx
mov rsi, qword [rcx]
mov rcx, qword [rcx + 8]
mov rbx, qword [r8 + 0x18]
mov eax, dword [0x141dd1cd0]
xor edx, edx
div dword [0x141dd1cd4]
nop
mov eax, dword [0x141dd1cd8]
sub eax, dword [0x141dd1cdc]
imul eax, eax, 0xfb7f34d1
imul rax, rax, 0x6ec39a21
shr rax, 0x3e
or eax, 0xe50f6758
cmp eax, 0xe9642a49
je 0x1400bd690
movzx ebp, word [rbx + 0x3d2]
mov r15, qword [r8 + 0x28]
movzx eax, word [r15 + 0x3d2]
mov qword [rsp + 0x20], rax
lea rdx, [rax + rbp]
inc rdx
cmp edx, 0xc
jae 0x1400bdf49
lea r12, [rbp + 1]
xor eax, eax
nop word [rax + rax]
test al, al
jne 0x1400bd6f0
mov qword [rsp + 0x90], rcx
movzx eax, word [rsi + 0x3d2]
mov qword [rsp + 0x28], rax
mov eax, dword [str.P9tA]
or eax, dword [0x141dd1cf4]
or eax, 0xb0e8f930
cmp eax, 0xe52737ba
mov qword [rsp + 0x78], rdx
jne 0x1400bd845
mov r14, qword [r8 + 0x10]
mov word [rbx + 0x3d2], dx
imul rax, r14, 0x38
lea rcx, [rsi + rax]
add rcx, 0x168
mov rdx, qword [rsi + rax + 0x198]
mov qword [rsp + 0x60], rdx
movups xmm0, xmmword [rsi + rax + 0x168]
movups xmm1, xmmword [rsi + rax + 0x178]
movups xmm2, xmmword [rsi + rax + 0x188]
movaps xmmword [rsp + 0x50], xmm2
movaps xmmword [rsp + 0x40], xmm1
movaps xmmword [rsp + 0x30], xmm0
lea rdx, [rsi + rax]
add rdx, 0x1a0
mov rdi, r14
not rdi
add rdi, qword [rsp + 0x28]
mov r13, r8
imul r8, rdi, 0x38
call sub.VCRUNTIME140.dll_memmove
imul rax, rbp, 0x38
movaps xmm0, xmmword [rsp + 0x30]
movaps xmm1, xmmword [rsp + 0x40]
movaps xmm2, xmmword [rsp + 0x50]
movups xmmword [rbx + rax + 0x168], xmm0
movups xmmword [rbx + rax + 0x178], xmm1
movups xmmword [rbx + rax + 0x188], xmm2
mov rcx, qword [rsp + 0x60]
mov qword [rbx + rax + 0x198], rcx
lea rdx, [r15 + 0x168]
imul rax, r12, 0x38
lea rcx, [rbx + rax]
add rcx, 0x168
imul r8, qword [rsp + 0x20], 0x38
call sub.VCRUNTIME140.dll_memcpy
shl r14, 5
lea rcx, [rsi + r14]
movups xmm0, xmmword [rsi + r14]
movups xmm1, xmmword [rsi + r14 + 0x10]
movaps xmmword [rsp + 0x40], xmm1
movaps xmmword [rsp + 0x30], xmm0
lea rdx, [rsi + r14]
add rdx, 0x20
shl rdi, 5
mov r8, rdi
call sub.VCRUNTIME140.dll_memmove
mov rdx, qword [rsp + 0x78]
mov r8, r13
mov rax, rbp
shl rax, 5
movaps xmm0, xmmword [rsp + 0x30]
movaps xmm1, xmmword [rsp + 0x40]
movups xmmword [rbx + rax], xmm0
movups xmmword [rbx + rax + 0x10], xmm1
imul r13, rbp, 0x38
mov qword [rsp + 0x70], r15
lea rax, [r15 + 0x168]
mov qword [rsp + 0xb0], rax
imul rax, r12, 0x38
add rax, rbx
add rax, 0x168
mov qword [rsp + 0xa8], rax
imul rax, qword [rsp + 0x20], 0x38
mov qword [rsp + 0xa0], rax
mov qword [rsp + 0x80], rbp
shl rbp, 5
mov qword [rsp + 0x98], rbp
mov qword [rsp + 0x68], r12
shl r12, 5
add r12, rbx
mov qword [rsp + 0x88], r12
nop dword [rax + rax]
mov r12d, dword [0x141dd1cf8]
and r12d, dword [0x141dd1cfc]
add r12d, 0x95b4e541
and r12d, 0x4e3dcaaa
add r12d, 0xd5774941
mov r15, qword [r8 + 0x10]
mov word [rbx + 0x3d2], dx
imul rax, r15, 0x38
lea rcx, [rsi + rax]
add rcx, 0x168
mov rdx, qword [rsi + rax + 0x198]
mov qword [rsp + 0x60], rdx
movups xmm0, xmmword [rsi + rax + 0x168]
movups xmm1, xmmword [rsi + rax + 0x178]
movups xmm2, xmmword [rsi + rax + 0x188]
movaps xmmword [rsp + 0x50], xmm2
movaps xmmword [rsp + 0x40], xmm1
movaps xmmword [rsp + 0x30], xmm0
lea r14, [r15 + 1]
lea rdx, [rsi + rax]
add rdx, 0x1a0
mov rdi, r15
not rdi
add rdi, qword [rsp + 0x28]
mov rbp, r8
imul r8, rdi, 0x38
call sub.VCRUNTIME140.dll_memmove
movaps xmm0, xmmword [rsp + 0x30]
movaps xmm1, xmmword [rsp + 0x40]
movaps xmm2, xmmword [rsp + 0x50]
movups xmmword [rbx + r13 + 0x168], xmm0
movups xmmword [rbx + r13 + 0x178], xmm1
movups xmmword [rbx + r13 + 0x188], xmm2
mov rax, qword [rsp + 0x60]
mov qword [rbx + r13 + 0x198], rax
mov rcx, qword [rsp + 0xa8]
mov rdx, qword [rsp + 0xb0]
mov r8, qword [rsp + 0xa0]
call sub.VCRUNTIME140.dll_memcpy
mov rax, r15
shl rax, 5
lea rcx, [rsi + rax]
movups xmm0, xmmword [rsi + rax]
movups xmm1, xmmword [rsi + rax + 0x10]
movaps xmmword [rsp + 0x40], xmm1
movaps xmmword [rsp + 0x30], xmm0
mov rdx, r14
shl rdx, 5
add rdx, rsi
mov r8, rdi
shl r8, 5
call sub.VCRUNTIME140.dll_memmove
mov rdx, qword [rsp + 0x78]
mov r8, rbp
movaps xmm0, xmmword [rsp + 0x30]
movaps xmm1, xmmword [rsp + 0x40]
mov rax, qword [rsp + 0x98]
movups xmmword [rbx + rax], xmm0
movups xmmword [rbx + rax + 0x10], xmm1
cmp r12d, 0x4a02e043
ja 0x1400bd8b0
mov r8, qword [rsp + 0x20]
shl r8, 5
mov rcx, qword [rsp + 0x88]
mov r12, qword [rsp + 0x70]
mov rdx, r12
call sub.VCRUNTIME140.dll_memcpy
lea rcx, [rsi + r14*8]
add rcx, 0x3d8
lea rdx, [rsi + r15*8]
add rdx, 0x3e8
shl rdi, 3
mov r8, rdi
call sub.VCRUNTIME140.dll_memmove
mov rbp, qword [rsp + 0x28]
cmp r14, rbp
mov r13, qword [rsp + 0x90]
mov rdi, qword [rsp + 0x68]
jae 0x1400bdae0
mov eax, r15d
not eax
lea ecx, [rax + rbp]
mov rax, rbp
sub rax, r15
and ecx, 3
je 0x1400bdaa6
lea rdx, [r15 + 1]
lea r9, [rsi + r15*8]
add r9, 0x3e0
xor r8d, r8d
nop
mov r10, qword [r9 + r8*8]
mov qword [r10 + 0x160], rsi
lea r11d, [rdx + r8]
mov word [r10 + 0x3d0], r11w
inc r8
cmp rcx, r8
jne 0x1400bda80
lea r14, [r15 + r8]
inc r14
add rax, 0xfffffffffffffffe
nop word [rax + rax]
mov ecx, dword [0x141dd1d00]
or ecx, dword [0x141dd1d04]
or ecx, 0x789619f8
imul ecx, ecx, 0xfa285160
xor ecx, 0xe8352a26
cmp ecx, 0xc4cd8b67
ja 0x1400bdab0
cmp rax, 3
jae 0x1400bdcb9
dec word [rsi + 0x3d2]
cmp r13, 2
jb 0x1400bdc32
mov eax, 0x8308395f
lea rdi, [rbx + rdi*8]
add rdi, 0x3d8
nop word cs:[rax + rax]
mov ecx, dword [0x141dd1d18]
or ecx, dword [0x141dd1d1c]
add ecx, 0x9e452a37
imul rcx, rax
shr rcx, 0x3c
and ecx, 2
cmp ecx, 0x7f771b75
ja 0x1400bdb10
lea r14, [r12 + 0x3d8]
mov rax, qword [rsp + 0x20]
lea r15, [rax*8 + 8]
mov eax, dword [0x141dd1d20]
or eax, dword [0x141dd1d24]
imul eax, eax, 0x59c3737a
add eax, 0x9808da13
or eax, 0xf08b419f
cmp eax, 0x6fb4b04d
jne 0x1400bdb7b
mov rcx, rdi
mov rdx, r14
mov r8, r15
call sub.VCRUNTIME140.dll_memcpy
mov rax, qword [rsp + 0x20]
lea r12, [rax + 1]
nop word cs:[rax + rax]
mov ebp, dword [0x141dd1d28]
and ebp, dword [0x141dd1d2c]
xor ebp, 0x4336ceea
add ebp, 0x3935ffed
and ebp, 0x7d1060f5
mov rcx, rdi
mov rdx, r14
mov r8, r15
call sub.VCRUNTIME140.dll_memcpy
cmp ebp, 0x31a4172d
jb 0x1400bdb90
test r12b, 3
mov r12, qword [rsp + 0x70]
mov r10, qword [rsp + 0x68]
mov r11, qword [rsp + 0x80]
je 0x1400bdc26
lea rax, [r11 + 1]
lea rcx, [rbx + r11*8]
add rcx, 0x3e0
mov rdx, qword [rsp + 0x20]
inc edx
movzx edx, dl
and edx, 3
xor r8d, r8d
nop dword [rax + rax]
mov r9, qword [rcx + r8*8]
mov qword [r9 + 0x160], rbx
lea r10d, [rax + r8]
mov word [r9 + 0x3d0], r10w
inc r8
cmp rdx, r8
jne 0x1400bdc00
lea r10, [r11 + r8]
inc r10
cmp word [rsp + 0x20], 3
jae 0x1400bddf6
mov eax, dword [0x141dd1d40]
xor eax, dword [0x141dd1d44]
and eax, 0xe5c09c14
imul rax, rax, 0x2f6c7af5
shr rax, 0x3b
add eax, 0x43709066
cmp eax, 0x5c7bcd53
jbe 0x1400bdc70
mov rax, qword [0x141dd7fe0]
nop word cs:[rax + rax]
mov eax, dword [0x141dd1d48]
sub eax, dword [0x141dd1d4c]
add eax, 0x7a8a309b
or eax, 0x5aa0faf7
mov rcx, qword [0x141dd7fe0]
cmp eax, 0xad1f2e37
jb 0x1400bdc70
xor edx, edx
mov r8, r12
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rax, rsi
mov rdx, r13
add rsp, 0xb8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov eax, 0xc1206329
jmp 0x1400bdccd
add r14, 4
cmp rbp, r14
je 0x1400bdae0
mov ecx, dword [0x141dd1d08]
mov edx, dword [0x141dd1d0c]
add ecx, edx
add ecx, 0xb4610e5e
imul rcx, rax
shr rcx, 0x3d
add ecx, 0x9ecd666a
cmp ecx, 0xa7a3ee01
ja 0x1400bdd8c
nop dword [rax + rax]
mov ecx, dword [0x141dd1d10]
xor ecx, dword [0x141dd1d14]
add ecx, 0xd5091eb4
or ecx, 0x9930624
lea edx, [r14 + 1]
lea r8d, [r14 + 2]
mov r9, qword [rsi + r14*8 + 0x3d8]
mov qword [r9 + 0x160], rsi
mov word [r9 + 0x3d0], r14w
mov r9, qword [rsi + r14*8 + 0x3e0]
mov qword [r9 + 0x160], rsi
mov word [r9 + 0x3d0], dx
lea edx, [r14 + 3]
mov r9, qword [rsi + r14*8 + 0x3e8]
mov qword [r9 + 0x160], rsi
mov word [r9 + 0x3d0], r8w
mov r8, qword [rsi + r14*8 + 0x3f0]
mov qword [r8 + 0x160], rsi
mov word [r8 + 0x3d0], dx
cmp ecx, 0x7eaa6f88
jne 0x1400bdcc0
mov rcx, qword [rsi + r14*8 + 0x3d8]
mov qword [rcx + 0x160], rsi
mov word [rcx + 0x3d0], r14w
mov rcx, qword [rsi + r14*8 + 0x3e0]
mov qword [rcx + 0x160], rsi
lea edx, [r14 + 1]
mov word [rcx + 0x3d0], dx
mov rcx, qword [rsi + r14*8 + 0x3e8]
mov qword [rcx + 0x160], rsi
lea edx, [r14 + 2]
mov word [rcx + 0x3d0], dx
mov rcx, qword [rsi + r14*8 + 0x3f0]
mov qword [rcx + 0x160], rsi
lea edx, [r14 + 3]
mov word [rcx + 0x3d0], dx
jmp 0x1400bdd00
mov rax, qword [rsp + 0x20]
lea rcx, [r11 + rax]
add rcx, 2
jmp 0x1400bde1d
add r10, 4
cmp rcx, r10
je 0x1400bdc32
mov eax, dword [0x141dd1d30]
xor edx, edx
div dword [0x141dd1d34]
imul eax, eax, 0x321b3776
or eax, 0x52adc335
and eax, 0xfbafc3b5
cmp eax, 0x981234d1
je 0x1400bdedf
nop word cs:[rax + rax]
mov eax, dword [0x141dd1d38]
sub eax, dword [0x141dd1d3c]
imul eax, eax, 0x1192502f
add eax, 0x7e29745e
or eax, 0x8b3ec4c0
lea edx, [r10 + 1]
lea r8d, [r10 + 2]
mov r9, qword [rbx + r10*8 + 0x3d8]
mov qword [r9 + 0x160], rbx
mov word [r9 + 0x3d0], r10w
mov r9, qword [rbx + r10*8 + 0x3e0]
mov qword [r9 + 0x160], rbx
mov word [r9 + 0x3d0], dx
lea edx, [r10 + 3]
mov r9, qword [rbx + r10*8 + 0x3e8]
mov qword [r9 + 0x160], rbx
mov word [r9 + 0x3d0], r8w
mov r8, qword [rbx + r10*8 + 0x3f0]
mov qword [r8 + 0x160], rbx
mov word [r8 + 0x3d0], dx
cmp eax, 0xa48826c5
jae 0x1400bde10
mov rax, qword [rbx + r10*8 + 0x3d8]
mov qword [rax + 0x160], rbx
mov word [rax + 0x3d0], r10w
mov rax, qword [rbx + r10*8 + 0x3e0]
mov qword [rax + 0x160], rbx
lea edx, [r10 + 1]
mov word [rax + 0x3d0], dx
mov rax, qword [rbx + r10*8 + 0x3e8]
mov qword [rax + 0x160], rbx
lea edx, [r10 + 2]
mov word [rax + 0x3d0], dx
mov rax, qword [rbx + r10*8 + 0x3f0]
mov qword [rax + 0x160], rbx
lea edx, [r10 + 3]
mov word [rax + 0x3d0], dx
jmp 0x1400bde50
mov eax, dword [0x141dd1ce0]
xor eax, dword [0x141dd1ce4]
imul eax, eax, 0x45553d4b
add eax, 0x763f138
mov ecx, 0x9535d8f3
imul rcx, rax
shr rcx, 0x3e
cmp ecx, 0xa41b58df
ja 0x1400bdf96
mov eax, dword [str.O:_n]
xor edx, edx
div dword [0x141dd1cec]
xor eax, 0x24000
or eax, 0x7fed1fff
ud2
ud2