Function at 0x1400bcf00
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x58
lea rbp, [rsp + 0x50]
mov rbx, rdx
xor eax, eax
test al, al
jne 0x1400bcf76
mov eax, dword [0x141dd3ea0]
or eax, dword [0x141dd3ea4]
or eax, 0x9639b8f3
mov r8d, 0xdcba7d15
imul r8, rax
shr r8, 0x3e
mov eax, 0x20
call fcn.1400eeec0
sub rsp, rax
mov r13, rsp
mov eax, 0x40
call fcn.1400eeec0
sub rsp, rax
mov rdi, rsp
mov eax, 0x20
call fcn.1400eeec0
sub rsp, rax
mov rax, rsp
cmp r8d, 0x3f0dbba2
jne 0x1400bcfa2
mov eax, 0x20
call fcn.1400eeec0
sub rsp, rax
mov eax, 0x40
call fcn.1400eeec0
sub rsp, rax
mov eax, 0x20
call fcn.1400eeec0
sub rsp, rax
jmp 0x1400bcf1e
mov r8, qword [rcx + 0x18]
movzx r15d, word [r8 + 0x3d2]
lea r9, [r15 + rbx]
cmp r9, 0xc
jae 0x1400bd090
mov rsi, qword [rcx + 0x28]
movzx r12d, word [rsi + 0x3d2]
mov qword [rbp - 0x38], r12
sub r12, rbx
jb 0x1400bd063
mov r14, r8
mov r8d, dword [0x141dd3ec0]
sub r8d, dword [0x141dd3ec4]
or r8d, 0xd3cc9c01
cmp r8d, 0xaea41b1b
jne 0x1400bcffe
mov word [r14 + 0x3d2], r9w
xor r8d, r8d
nop word cs:[rax + rax]
mov word [r14 + 0x3d2], r9w
test r8b, r8b
jne 0x1400bd010
mov qword [rbp - 0x28], r9
mov r8d, dword [0x141dd3ec8]
imul r8d, dword [0x141dd3ecc]
or r8d, 0x44e90d09
add r8d, 0xc898d0d2
or r8d, 0xa0f960c1
cmp r8d, 0x361c7e85
mov qword [rbp], rcx
mov qword [rbp - 8], rbx
mov qword [rbp - 0x10], r12
mov qword [rbp - 0x30], r15
jae 0x1400bd0dc
jmp 0x1400bd249
ud2
mov eax, dword [0x141dd3ea8]
sub eax, dword [0x141dd3eac]
add eax, 0xa11d143b
or eax, 0xbcc5dc25
xor eax, 0x234abaa5
cmp eax, 0x82c62689
jb 0x1400bd0d6
mov eax, dword [0x141dd3eb0]
sub eax, dword [0x141dd3eb4]
or eax, 0x872bda11
add eax, 0xceb7ab93
or eax, 0x462d03f2
ud2
ud2
ud2
mov r10d, dword [0x141dd3ed0]
and r10d, dword [0x141dd3ed4]
mov word [rsi + 0x3d2], r12w
lea rdx, [rbx - 1]
imul r8, rdx, 0x38
mov r9, rdx
shl r9, 5
movups xmm0, xmmword [rsi + r9]
movups xmm1, xmmword [rsi + r9 + 0x10]
movups xmmword [rax + 0x10], xmm1
movups xmmword [rax], xmm0
mov r11, qword [rcx]
mov rcx, qword [rbp]
mov rbx, qword [rcx + 0x10]
imul r15, rbx, 0x38
mov r12, qword [r11 + r15 + 0x198]
mov qword [rdi + 0x30], r12
movups xmm0, xmmword [r11 + r15 + 0x168]
movups xmm1, xmmword [r11 + r15 + 0x178]
movups xmm2, xmmword [r11 + r15 + 0x188]
movups xmmword [rdi + 0x20], xmm2
movups xmmword [rdi + 0x10], xmm1
movups xmmword [rdi], xmm0
mov r12, qword [rsi + r8 + 0x198]
movups xmm0, xmmword [rsi + r8 + 0x168]
movups xmm1, xmmword [rsi + r8 + 0x178]
movups xmm2, xmmword [rsi + r8 + 0x188]
mov qword [r11 + r15 + 0x198], r12
mov r12, qword [rbp - 0x10]
movups xmmword [r11 + r15 + 0x168], xmm0
movups xmmword [r11 + r15 + 0x188], xmm2
movups xmmword [r11 + r15 + 0x178], xmm1
mov r15, qword [rbp - 0x30]
shl rbx, 5
movups xmm0, xmmword [r11 + rbx]
movups xmm1, xmmword [r11 + rbx + 0x10]
movups xmmword [r13 + 0x10], xmm1
movups xmmword [r13], xmm0
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
movups xmmword [r11 + rbx + 0x10], xmm1
movups xmmword [r11 + rbx], xmm0
imul r11, r15, 0x38
mov rbx, qword [rdi + 0x30]
mov qword [r14 + r11 + 0x198], rbx
mov rbx, qword [rbp - 8]
mov rcx, qword [rbp]
movups xmm0, xmmword [rdi]
movups xmm1, xmmword [rdi + 0x10]
movups xmm2, xmmword [rdi + 0x20]
movups xmmword [r14 + r11 + 0x188], xmm2
movups xmmword [r14 + r11 + 0x178], xmm1
movups xmmword [r14 + r11 + 0x168], xmm0
mov r11, r15
shl r11, 5
movups xmm0, xmmword [r13]
movups xmm1, xmmword [r13 + 0x10]
movups xmmword [r14 + r11 + 0x10], xmm1
movups xmmword [r14 + r11], xmm0
imul r10d, r10d, 0x49f84f57
add r10d, 0x6a8f07b5
and r10d, 0xc10486f
cmp r10d, 0x4fb65052
jbe 0x1400bd37c
mov word [rsi + 0x3d2], r12w
lea r8, [rbx - 1]
imul r9, r8, 0x38
shl r8, 5
movups xmm0, xmmword [rsi + r8]
movups xmm1, xmmword [rsi + r8 + 0x10]
movups xmmword [rax + 0x10], xmm1
movups xmmword [rax], xmm0
mov r8, qword [rcx]
mov r10, qword [rcx + 0x10]
imul r11, r10, 0x38
mov rbx, qword [r8 + r11 + 0x198]
mov qword [rdi + 0x30], rbx
mov rbx, qword [rbp - 8]
mov rcx, qword [rbp]
movups xmm0, xmmword [r8 + r11 + 0x168]
movups xmm1, xmmword [r8 + r11 + 0x178]
movups xmm2, xmmword [r8 + r11 + 0x188]
movups xmmword [rdi + 0x20], xmm2
movups xmmword [rdi + 0x10], xmm1
movups xmmword [rdi], xmm0
movups xmm0, xmmword [rsi + r9 + 0x168]
movups xmm1, xmmword [rsi + r9 + 0x178]
movups xmm2, xmmword [rsi + r9 + 0x188]
mov r9, qword [rsi + r9 + 0x198]
mov qword [r8 + r11 + 0x198], r9
movups xmmword [r8 + r11 + 0x168], xmm0
movups xmmword [r8 + r11 + 0x188], xmm2
movups xmmword [r8 + r11 + 0x178], xmm1
shl r10, 5
movups xmm0, xmmword [r8 + r10]
movups xmm1, xmmword [r8 + r10 + 0x10]
movups xmmword [r13 + 0x10], xmm1
movups xmmword [r13], xmm0
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
movups xmmword [r8 + r10 + 0x10], xmm1
movups xmmword [r8 + r10], xmm0
imul r8, r15, 0x38
mov r9, qword [rdi + 0x30]
mov qword [r14 + r8 + 0x198], r9
movups xmm0, xmmword [rdi]
movups xmm1, xmmword [rdi + 0x10]
movups xmm2, xmmword [rdi + 0x20]
movups xmmword [r14 + r8 + 0x188], xmm2
movups xmmword [r14 + r8 + 0x178], xmm1
movups xmmword [r14 + r8 + 0x168], xmm0
mov r8, r15
shl r8, 5
movups xmm0, xmmword [r13]
movups xmm1, xmmword [r13 + 0x10]
movups xmmword [r14 + r8], xmm0
movups xmmword [r14 + r8 + 0x10], xmm1
jmp 0x1400bd0dc
mov r10, rdx
lea r13, [rsi + 0x168]
lea rcx, [r14 + 0x168]
mov eax, dword [0x141dd3ed8]
xor edx, edx
div dword [0x141dd3edc]
mov eax, 0xcfd8731b
mov rdi, r14
nop word cs:[rax + rax]
mov edx, dword [0x141dd3ee0]
xor edx, dword [0x141dd3ee4]
and edx, 0x1a102000
or edx, 0xa56e4d5f
imul rdx, rax
shr rdx, 0x3d
cmp edx, 0x275d584c
ja 0x1400bd3b0
lea rbx, [r15 + 1]
mov rax, qword [rbp - 0x28]
sub rax, rbx
cmp r10, rax
jne 0x1400bd682
mov qword [rbp - 0x20], r9
imul rax, rbx, 0x38
add rcx, rax
sub rsp, 0x20
mov rdx, r13
call sub.VCRUNTIME140.dll_memcpy
add rsp, 0x20
mov r14, rbx
shl r14, 5
add r14, rdi
nop word cs:[rax + rax]
mov eax, dword [str.Lj_vZ]
or eax, dword [0x141dd3f04]
or eax, 0xa8804100
and eax, 0xf8b04728
imul eax, eax, 0x6885bc80
cmp eax, 0x45f73fce
je 0x1400bd420
mov qword [rbp - 0x40], rdi
mov qword [rbp - 0x18], rbx
mov eax, dword [0x141dd3f08]
and eax, dword [0x141dd3f0c]
and eax, 0xfa138041
xor eax, 0xd6049355
add eax, 0x709c8f45
cmp eax, 0xf77d21f6
mov r15, qword [rbp - 8]
jbe 0x1400bd4c4
sub rsp, 0x20
mov rcx, r14
mov rdx, rsi
mov r8, qword [rbp - 0x20]
call sub.VCRUNTIME140.dll_memcpy
add rsp, 0x20
imul rdx, r15, 0x38
add rdx, r13
imul r8, r12, 0x38
sub rsp, 0x20
mov rcx, r13
call sub.VCRUNTIME140.dll_memmove
add rsp, 0x20
mov rdx, r15
shl rdx, 5
add rdx, rsi
mov r8, r12
shl r8, 5
sub rsp, 0x20
mov rcx, rsi
call sub.VCRUNTIME140.dll_memmove
add rsp, 0x20
mov rax, r13
imul r13, r15, 0x38
mov qword [rbp - 0x50], rax
add r13, rax
imul rax, r12, 0x38
mov qword [rbp - 0x48], rax
shl r15, 5
add r15, rsi
shl r12, 5
mov rdi, qword [rbp - 0x20]
nop dword [rax]
mov eax, dword [0x141dd3f10]
xor edx, edx
div dword [0x141dd3f14]
mov ebx, eax
add ebx, 0x7941a548
and ebx, 0x2c326248
sub rsp, 0x20
mov rcx, r14
mov rdx, rsi
mov r8, rdi
call sub.VCRUNTIME140.dll_memcpy
mov rcx, qword [rbp - 0x50]
mov rdx, r13
mov r8, qword [rbp - 0x48]
call sub.VCRUNTIME140.dll_memmove
mov rcx, rsi
mov rdx, r15
mov r8, r12
call sub.VCRUNTIME140.dll_memmove
add rsp, 0x20
cmp ebx, 0x99b21a3e
ja 0x1400bd4f0
mov rcx, qword [rbp]
mov rax, qword [rcx + 0x30]
cmp qword [rcx + 0x20], 0
je 0x1400bd667
test rax, rax
mov rbx, qword [rbp - 8]
je 0x1400bd0da
lea r14, [rsi + 0x3d8]
mov eax, dword [0x141dd3f28]
xor edx, edx
div dword [0x141dd3f2c]
imul eax, eax, 0x90e6b348
or eax, 0x2509404
and eax, 0x778bd54
cmp eax, 0x9b3bb6ce
mov r15, qword [rbp - 0x18]
mov rdi, qword [rbp - 0x40]
jbe 0x1400bd5bf
lea rcx, [rdi + r15*8]
add rcx, 0x3d8
lea r8, [rbx*8]
sub rsp, 0x20
mov rdx, r14
call sub.VCRUNTIME140.dll_memcpy
add rsp, 0x20
lea r12, [rdi + r15*8]
add r12, 0x3d8
lea r15, [rbx*8]
mov rax, qword [rbp - 0x10]
lea r13, [rax*8]
mov qword [rbp], r14
lea r14, [r14 + rbx*8]
nop word cs:[rax + rax]
mov ebx, dword [0x141dd3f30]
imul ebx, dword [0x141dd3f34]
mov eax, 0x8f4a045b
imul rbx, rax
shr rbx, 0x3d
xor ebx, 0xb1e76aa7
add ebx, 0xf3534d08
sub rsp, 0x20
mov rcx, r12
mov rdx, qword [rbp]
mov r8, r15
call sub.VCRUNTIME140.dll_memcpy
add rsp, 0x20
cmp ebx, 0x6b7d8f65
jb 0x1400bd5f0
mov eax, dword [0x141dd3f38]
or eax, dword [0x141dd3f3c]
or eax, 0x26df98c2
shr eax, 1
imul rax, rax, 0x433d906d
shr rax, 0x3d
cmp eax, 0x56d73262
mov r12, qword [rbp]
jbe 0x1400bd7a2
jmp 0x1400bd7d9
xor ecx, ecx
nop dword [rax]
test cl, cl
jne 0x1400bd670
test rax, rax
je 0x1400bd791
jmp 0x1400bd0da
mov eax, dword [0x141dd3ee8]
xor eax, dword [0x141dd3eec]
xor eax, 0x208ac318
and eax, 0xa18aeb19
cmp eax, 0x2eeb0e40
je 0x1400bd6c5
mov eax, dword [0x141dd3ef0]
imul eax, dword [0x141dd3ef4]
imul eax, eax, 0x6f35ea59
add eax, 0x34a027e7
and eax, 0x7d421e42
ud2
ud2
test rax, rax
je 0x1400bd791
xor edx, edx
jmp 0x1400bd70f
inc rcx
inc rdx
dec rax
je 0x1400bd791
mov r8d, dword [0x141dd3f18]
add r8d, dword [0x141dd3f1c]
imul r8d, r8d, 0x8498dd9b
or r8d, 0x457a65c
imul r8, r8, 0x9cd888b
shr r8, 0x3a
cmp r8d, 0x152b4a90
ja 0x1400bd77c
nop
mov r8d, dword [str._y_e]
or r8d, dword [0x141dd3f24]
mov r9, qword [rsi + rcx*8 + 0x3d8]
mov qword [r9 + 0x160], rsi
mov word [r9 + 0x3d0], cx
imul r8d, r8d, 0xc82cc2f2
add r8d, 0x200d0aba
cmp r8d, 0x1fda8845
jae 0x1400bd700
mov r8, qword [r12 + rcx*8]
mov qword [r8 + 0x160], rsi
mov word [r8 + 0x3d0], cx
jmp 0x1400bd740
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov eax, dword [0x141dd3f40]
add eax, dword [0x141dd3f44]
imul ebx, eax, 0x4c44a67d
add ebx, 0xb40e1630
lea r8, [r13 + 8]
sub rsp, 0x20
mov rcx, r12
mov rdx, r14
call sub.VCRUNTIME140.dll_memmove
add rsp, 0x20
cmp ebx, 0xbde28a66
jbe 0x1400bd7f2
lea r8, [r13 + 8]
sub rsp, 0x20
mov rcx, r12
mov rdx, r14
call sub.VCRUNTIME140.dll_memmove
add rsp, 0x20
jmp 0x1400bd7a2
mov rbx, qword [rbp - 8]
test rbx, rbx
mov r14, qword [rbp - 0x10]
mov r15, qword [rbp - 0x28]
mov r13, qword [rbp - 0x18]
je 0x1400bd97e
mov eax, ebx
and eax, 3
mov ecx, dword [0x141dd3f48]
sub ecx, dword [0x141dd3f4c]
or ecx, 0xedc50274
add ecx, 0x2783994b
or ecx, 0x6d6fa090
cmp ecx, 0xd1037671
ja 0x1400bd810
test rax, rax
je 0x1400bd907
mov rcx, qword [rbp - 0x30]
lea rdx, [rdi + rcx*8]
add rdx, 0x3e0
xor ecx, ecx
mov r8, r13
jmp 0x1400bd86f
inc rcx
inc r8
cmp rax, rcx
je 0x1400bd904
mov r9d, dword [0x141dd3f50]
imul r9d, dword [0x141dd3f54]
and r9d, 0xc7af2cab
imul r9, r9, 0xa44f08b
shr r9, 0x3a
cmp r9d, 0x68f28ddb
je 0x1400bd8eb
nop dword [rax]
mov r9d, dword [0x141dd3f58]
and r9d, dword [0x141dd3f5c]
lea r10d, [rcx + r13]
mov r11, qword [rdx + rcx*8]
mov qword [r11 + 0x160], rdi
mov word [r11 + 0x3d0], r10w
imul r9d, r9d, 0xe7f71b05
add r9d, 0xc8a799e9
imul r9, r9, 0x184f8625
shr r9, 0x3c
cmp r9d, 0xae8c767a
jbe 0x1400bd860
mov r9, qword [rdx + rcx*8]
mov qword [r9 + 0x160], rdi
lea r10d, [rcx + r13]
mov word [r9 + 0x3d0], r10w
jmp 0x1400bd8a0
add r13, rcx
cmp rbx, 4
jb 0x1400bd97e
nop dword [rax]
mov rax, qword [rdi + r13*8 + 0x3d8]
mov qword [rax + 0x160], rdi
mov word [rax + 0x3d0], r13w
mov rax, qword [rdi + r13*8 + 0x3e0]
mov qword [rax + 0x160], rdi
lea ecx, [r13 + 1]
mov word [rax + 0x3d0], cx
mov rax, qword [rdi + r13*8 + 0x3e8]
mov qword [rax + 0x160], rdi
lea ecx, [r13 + 2]
mov word [rax + 0x3d0], cx
mov rax, qword [rdi + r13*8 + 0x3f0]
mov qword [rax + 0x160], rdi
lea rcx, [r13 + 3]
mov word [rax + 0x3d0], cx
add r13, 4
cmp rcx, r15
jne 0x1400bd910
cmp r14, 0xffffffffffffffff
je 0x1400bd791
mov rdi, qword [rbp - 0x38]
inc rdi
nop
mov eax, dword [0x141dd3f60]
xor eax, dword [0x141dd3f64]
imul rax, rax, 0xcbf8c89
shr rax, 0x3b
add eax, 0x45a174dd
or eax, 0x95fe46a6
cmp eax, 0xa1951e3a
je 0x1400bd990
sub rdi, rbx
nop dword [rax + rax]
mov eax, dword [0x141dd3f68]
xor edx, edx
div dword [0x141dd3f6c]
or eax, 0xfebf2fbf
cmp eax, 0x6add73e2
je 0x1400bd9c0
mov eax, edi
and eax, 3
nop
mov ecx, dword [0x141dd3f70]
xor ecx, dword [0x141dd3f74]
and ecx, 0x3b332485
xor ecx, 0x32a2f052
imul rcx, rcx, 0x1488c633
shr rcx, 0x3a
cmp ecx, 0x8140bee
je 0x1400bd9e0
cmp r14, 3
jae 0x1400bda18
xor ecx, ecx
jmp 0x1400bd6ee
and rdi, 0xfffffffffffffffc
xor ecx, ecx
mov edx, 0xe05296a7
nop word cs:[rax + rax]
mov r8d, dword [0x141dd3f78]
or r8d, dword [0x141dd3f7c]
imul r8, rdx
shr r8, 0x3e
and r8d, 1
or r8d, 0x4e3a5b64
cmp r8d, 0x9759b847
jbe 0x1400bdad0
mov r8, rcx
or r8, 1
mov r9, qword [rsi + rcx*8 + 0x3d8]
mov qword [r9 + 0x160], rsi
mov word [r9 + 0x3d0], cx
mov r9, rcx
or r9, 2
mov r10, qword [rsi + r8*8 + 0x3d8]
mov qword [r10 + 0x160], rsi
mov word [r10 + 0x3d0], r8w
mov r8, rcx
or r8, 3
mov r10, qword [rsi + r9*8 + 0x3d8]
mov qword [r10 + 0x160], rsi
mov word [r10 + 0x3d0], r9w
mov r9, qword [rsi + r8*8 + 0x3d8]
mov qword [r9 + 0x160], rsi
mov word [r9 + 0x3d0], r8w
nop dword [rax + rax]
mov r8d, dword [0x141dd3f80]
add r8d, dword [0x141dd3f84]
imul r8d, r8d, 0x16795355
add r8d, 0xa846c9e8
or r8d, 0x9c0642aa
mov r9, rcx
or r9, 1
mov r10, rcx
or r10, 2
mov r11, qword [rsi + rcx*8 + 0x3d8]
mov qword [r11 + 0x160], rsi
mov word [r11 + 0x3d0], cx
mov r11, qword [rsi + r9*8 + 0x3d8]
mov qword [r11 + 0x160], rsi
mov word [r11 + 0x3d0], r9w
mov r9, rcx
or r9, 3
mov r11, qword [rsi + r10*8 + 0x3d8]
mov qword [r11 + 0x160], rsi
mov word [r11 + 0x3d0], r10w
mov r10, qword [rsi + r9*8 + 0x3d8]
mov qword [r10 + 0x160], rsi
mov word [r10 + 0x3d0], r9w
cmp r8d, 0x3135583b
je 0x1400bdad0
add rcx, 4
cmp rcx, rdi
jne 0x1400bda30
jmp 0x1400bd6ee