Function at 0x1400be410
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x28
lea rbp, [rsp + 0x20]
mov qword [rbp], rdx
mov eax, dword [0x141dd4018]
sub eax, dword [0x141dd401c]
mov rsi, rcx
imul eax, eax, 0x24a7a508
add eax, 0x71f394b0
shr eax, 1
mov ecx, 0x836a64b3
imul rcx, rax
shr rcx, 0x3d
cmp ecx, 0xafb53344
jbe 0x1400be490
mov eax, 0x20
call fcn.1400eeec0
sub rsp, rax
mov eax, 0x40
call fcn.1400eeec0
sub rsp, rax
mov eax, 0x60
call fcn.1400eeec0
sub rsp, rax
nop word cs:[rax + rax]
mov ecx, dword [0x141dd4020]
or ecx, dword [0x141dd4024]
add ecx, 0xe80ff340
and ecx, 0x8ef95bf1
mov eax, 0x20
call fcn.1400eeec0
sub rsp, rax
mov rdx, rsp
mov eax, 0x40
call fcn.1400eeec0
sub rsp, rax
mov r14, rsp
mov eax, 0x60
call fcn.1400eeec0
sub rsp, rax
mov r15, rsp
cmp ecx, 0x7770381c
je 0x1400be490
mov qword [rbp - 0x20], rdx
mov eax, dword [0x141dd4028]
imul eax, dword [0x141dd402c]
imul eax, eax, 0x5f782322
and eax, 0x868535c4
add eax, 0x5003bd5f
cmp eax, 0x3cfdcda5
jb 0x1400be547
mov ebx, dword [0x141dd4030]
imul ebx, dword [0x141dd4034]
mov rax, qword [rbp]
mov r13, qword [rax]
movzx r12d, word [r13 + 0x3d2]
movzx eax, byte [0x141dda6b8]
sub rsp, 0x20
mov edx, 0x438
xor ecx, ecx
call fcn.1400bf230
add rsp, 0x20
cmp ebx, 0xf5aee898
jne 0x1400be564
movzx eax, byte [0x141dda6b8]
sub rsp, 0x20
mov edx, 0x438
xor ecx, ecx
call fcn.1400bf230
add rsp, 0x20
jmp 0x1400be508
mov rdi, rax
test rax, rax
je 0x1400be9a1
mov rbx, r12
mov qword [rdi + 0x160], 0
mov rax, qword [rbp]
mov r9, qword [rax + 0x10]
mov r12, r13
movzx eax, word [r13 + 0x3d2]
mov r10, r9
not r10
add r10, rax
mov word [rdi + 0x3d2], r10w
lea rdx, [r13 + 0x168]
imul rcx, r9, 0x38
mov r8, qword [r13 + rcx + 0x198]
mov qword [r14 + 0x30], r8
movups xmm0, xmmword [r13 + rcx + 0x168]
movups xmm1, xmmword [r13 + rcx + 0x178]
movups xmm2, xmmword [r13 + rcx + 0x188]
movups xmmword [r14 + 0x20], xmm2
movups xmmword [r14 + 0x10], xmm1
movups xmmword [r14], xmm0
mov rcx, r9
shl rcx, 5
movups xmm0, xmmword [r13 + rcx]
movups xmm1, xmmword [r13 + rcx + 0x10]
mov r13, qword [rbp - 0x20]
movups xmmword [r13 + 0x10], xmm1
movups xmmword [r13], xmm0
xor ecx, ecx
nop word cs:[rax + rax]
test cl, cl
jne 0x1400be610
cmp r10, 0xb
ja 0x1400be9bd
lea rcx, [r9 + 1]
sub rax, rcx
cmp rax, r10
jne 0x1400be96e
mov qword [rbp - 0x10], rbx
mov qword [rbp - 0x18], r9
mov rax, rcx
mov qword [rbp - 8], rcx
imul rax, rcx, 0x38
add rdx, rax
lea rcx, [rdi + 0x168]
mov rbx, r10
imul r8, r10, 0x38
nop word cs:[rax + rax]
mov eax, dword [0x141dd4060]
or eax, dword [0x141dd4064]
imul eax, eax, 0xf6301904
cmp eax, 0xac9aee16
je 0x1400be660
sub rsp, 0x20
call sub.VCRUNTIME140.dll_memcpy
add rsp, 0x20
mov rdx, qword [rbp - 8]
shl rdx, 5
add rdx, r12
shl rbx, 5
sub rsp, 0x20
mov rcx, rdi
mov r8, rbx
call sub.VCRUNTIME140.dll_memcpy
add rsp, 0x20
mov rcx, qword [rbp - 0x18]
mov word [r12 + 0x3d2], cx
mov rax, qword [r14 + 0x30]
mov qword [r15 + 0x30], rax
movups xmm0, xmmword [r14]
movups xmm1, xmmword [r14 + 0x10]
movups xmm2, xmmword [r14 + 0x20]
movups xmmword [r15 + 0x20], xmm2
movups xmmword [r15 + 0x10], xmm1
movups xmmword [r15], xmm0
movups xmm0, xmmword [r13]
movups xmm1, xmmword [r13 + 0x10]
movups xmmword [r15 + 0x48], xmm1
movups xmmword [r15 + 0x38], xmm0
movzx r14d, word [rdi + 0x3d2]
cmp r14, 0xb
ja 0x1400be9e4
lea r8, [r14 + 1]
mov rax, qword [rbp - 0x10]
sub rax, rcx
cmp rax, r8
jne 0x1400bea83
mov rcx, rdi
add rcx, 0x3d8
mov rax, qword [rbp - 8]
lea rdx, [r12 + rax*8]
add rdx, 0x3d8
shl r8, 3
sub rsp, 0x20
call sub.VCRUNTIME140.dll_memcpy
add rsp, 0x20
mov rax, qword [rbp]
mov rcx, qword [rax + 8]
nop word cs:[rax + rax]
mov eax, dword [0x141dd4068]
add eax, dword [0x141dd406c]
or eax, 0x4894cfb8
cmp eax, 0x873636e4
je 0x1400be750
xor r8d, r8d
jmp 0x1400be77c
or al, r9b
mov r8, rdx
jne 0x1400be830
mov eax, dword [0x141dd4070]
xor edx, edx
div dword [0x141dd4074]
and eax, 0xe0633fa4
shr eax, 1
imul rax, rax, 0x125f31c9
shr rax, 0x37
or eax, 0x96c6d1b
cmp eax, 0x272c9379
je 0x1400be810
nop dword [rax + rax]
mov eax, dword [0x141dd4078]
add eax, dword [0x141dd407c]
shr eax, 3
imul r10, rax, 0x219e9923
shr r10, 0x37
add r10d, 0xcdfe652
or r10d, 0x6a22a65f
cmp r8, r14
setae al
mov rdx, qword [rdi + r8*8 + 0x3d8]
mov qword [rdx + 0x160], rdi
mov word [rdx + 0x3d0], r8w
mov rdx, r8
adc rdx, 0
cmp rdx, r14
seta r9b
cmp r10d, 0xe8b0120f
jbe 0x1400be770
mov rax, qword [rdi + r8*8 + 0x3d8]
mov qword [rax + 0x160], rdi
mov word [rax + 0x3d0], r8w
jmp 0x1400be7b0
mov eax, dword [0x141dd4080]
mov edx, dword [0x141dd4084]
add eax, edx
add eax, 0x3fddf7c9
or eax, 0x6acae9a
add eax, 0xd2a256b2
cmp eax, 0xaa60d854
jb 0x1400be830
xor eax, eax
test al, al
je 0x1400be870
mov qword [rsi + 0x58], r12
mov qword [rsi + 0x60], rcx
nop word cs:[rax + rax]
mov eax, dword [0x141dd4088]
and eax, dword [0x141dd408c]
imul eax, eax, 0x9b4a3310
add eax, 0x36f71ca0
mov qword [rsi + 0x58], r12
mov qword [rsi + 0x60], rcx
cmp eax, 0x20fc4f39
jb 0x1400be870
mov eax, dword [0x141dd4090]
xor edx, edx
div dword [0x141dd4094]
mov edx, 0xd4f3f6ef
imul rdx, rax
shr rdx, 0x3e
or edx, 0x8000a008
cmp edx, 0x3395da2d
jae 0x1400be900
mov rax, qword [r15 + 0x50]
mov qword [rsi + 0x50], rax
movups xmm0, xmmword [r15 + 0x40]
movups xmmword [rsi + 0x40], xmm0
movups xmm0, xmmword [r15]
movups xmm1, xmmword [r15 + 0x10]
movups xmm2, xmmword [r15 + 0x20]
movups xmm3, xmmword [r15 + 0x30]
movups xmmword [rsi + 0x30], xmm3
movups xmmword [rsi + 0x20], xmm2
movups xmmword [rsi + 0x10], xmm1
movups xmmword [rsi], xmm0
mov qword [rsi + 0x68], rdi
mov qword [rsi + 0x70], rcx
nop word [rax + rax]
mov rax, qword [r15 + 0x50]
mov qword [rsi + 0x50], rax
mov eax, dword [0x141dd4098]
and eax, dword [0x141dd409c]
xor eax, 0x1aa0880
and eax, 0x81be4ad2
add eax, 0x3fe6395f
movups xmm0, xmmword [r15 + 0x40]
movups xmmword [rsi + 0x40], xmm0
movups xmm0, xmmword [r15]
movups xmm1, xmmword [r15 + 0x10]
movups xmm2, xmmword [r15 + 0x20]
movups xmm3, xmmword [r15 + 0x30]
movups xmmword [rsi + 0x30], xmm3
movups xmmword [rsi + 0x20], xmm2
movups xmmword [rsi + 0x10], xmm1
movups xmmword [rsi], xmm0
mov qword [rsi + 0x68], rdi
mov qword [rsi + 0x70], rcx
cmp eax, 0xe85c9cbe
ja 0x1400be900
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
ud2
mov eax, dword [0x141dd4038]
add eax, dword [0x141dd403c]
cmp eax, 0x89a1c297
jne 0x1400bea5f
jmp 0x1400bea7f
mov eax, dword [0x141dd4050]
imul eax, dword [0x141dd4054]
add eax, 0x9b680c7f
xor eax, 0x7231b620
cmp eax, 0x5828ecb7
jae 0x1400bea85
jmp 0x1400beaaa
mov eax, dword [0x141dd40a0]
sub eax, dword [0x141dd40a4]
imul eax, eax, 0x407b2347
imul rax, rax, 0x1a062f9d
shr rax, 0x3c
cmp eax, 0xf86741a3
jbe 0x1400bea10
ud2
mov eax, dword [0x141dd40a8]
and eax, dword [0x141dd40ac]
xor eax, 0x80402441
and eax, 0xe2f07f4b
add eax, 0x938dac49
ud2
mov eax, dword [0x141dd4040]
imul eax, dword [0x141dd4044]
add eax, 0xe159835
and eax, 0x192dc060
ud2
ud2
ud2
mov eax, dword [0x141dd4058]
and eax, dword [0x141dd405c]
imul eax, eax, 0x3f881bbc
add eax, 0x224d8b04
or eax, 0x10e917df
ud2
ud2