Function at 0x1400465f0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x20
mov rdi, rdx
mov rsi, rcx
mov r15, rdx
shr r15, 5
nop dword [rax + rax]
mov eax, dword [0x141dc6450]
and eax, dword [0x141dc6454]
xor eax, 0xe0ac06c6
add eax, 0x47a13a11
cmp eax, 0x78f0b521
ja 0x140046610
mov ebx, edi
and ebx, 0x1f
nop word cs:[rax + rax]
mov eax, dword [0x141dc6458]
or eax, dword [0x141dc645c]
and eax, 0x8840a023
xor eax, 0xa9040168
or eax, 0x46b24e80
cmp eax, 0xea0a3396
ja 0x140046640
cmp rdi, 0x500
jae 0x140046899
nop
mov eax, dword [0x141dc6478]
xor eax, dword [0x141dc647c]
or eax, 0x55eca770
cmp eax, 0x3e988643
je 0x140046670
mov eax, dword [0x141dc6480]
xor edx, edx
div dword [0x141dc6484]
nop word cs:[rax + rax]
mov eax, dword [0x141dc6488]
imul eax, dword [0x141dc648c]
add eax, 0xe9ec27dd
xor eax, 0xb20f6830
and eax, 0xbf8f7833
cmp eax, 0x317edd7
jb 0x1400466a0
mov rcx, qword [rsi + 0xa0]
test rcx, rcx
je 0x1400467c0
nop word cs:[rax + rax]
mov eax, dword [0x141dc6490]
imul eax, dword [0x141dc6494]
add eax, 0xb310a9dc
or eax, 0xa3e3ffff
cmp eax, 0xd3ac75dc
je 0x1400466e0
mov r8, rcx
nop word cs:[rax + rax]
cmp rcx, 0x29
jae 0x14004683e
dec r8
lea r9, [r8 + r15]
mov eax, dword [0x141dc6550]
and eax, dword [0x141dc6554]
or eax, 0x148000
and eax, 0x4548001
cmp eax, 0xccc68c96
ja 0x140046721
cmp r9, 0x28
jae 0x140046864
nop dword [rax + rax]
mov eax, dword [0x141dc6560]
imul eax, dword [0x141dc6564]
or eax, 0xfdffffff
cmp eax, 0x3f1acf26
je 0x140046750
mov eax, dword [0x141dc6568]
xor edx, edx
div dword [0x141dc656c]
nop word [rax + rax]
mov eax, dword [0x141dc6570]
imul eax, dword [0x141dc6574]
and eax, 0x6e15622a
imul eax, eax, 0x34e9684b
add eax, 0xb234f5c0
cmp eax, 0xb81cbd4d
ja 0x140046780
mov eax, dword [rsi + r8*4]
mov dword [rsi + r9*4], eax
test r8, r8
jne 0x140046710
nop word cs:[rax + rax]
mov eax, dword [0x141dc6498]
xor edx, edx
div dword [0x141dc649c]
imul eax, eax, 0xf5ef5ef2
add eax, 0x8af433c3
and eax, 0xa536577a
cmp eax, 0xf12aca76
je 0x1400467c0
cmp rdi, 0x20
jb 0x140046956
nop
mov eax, dword [0x141dc64a0]
or eax, dword [0x141dc64a4]
xor eax, 0xa1124828
and eax, 0xb3d26e28
imul eax, eax, 0x761f4e4d
cmp r15, 1
mov r14, r15
adc r14, 0
cmp eax, 0x5fe4c908
je 0x1400467f0
shl r14, 2
mov eax, dword [0x141dc64a8]
and eax, dword [0x141dc64ac]
cmp eax, 0x9338a4fa
jne 0x14004691a
jmp 0x140046947
ud2
ud2
mov eax, dword [0x141dc6460]
add eax, dword [0x141dc6464]
xor eax, 0x732007f2
add eax, 0xe38f608a
cmp eax, 0x256eeadb
ja 0x1400468e4
mov eax, dword [0x141dc6468]
xor eax, dword [0x141dc646c]
add eax, 0xa552a57
imul rcx, rax, 0xe4398b
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x1f
ud2
ud2
ud2
mov ebp, dword [0x141dc64b0]
sub ebp, dword [0x141dc64b4]
add ebp, 0x9c215c0
xor ebp, 0x335458b
mov rcx, rsi
xor edx, edx
mov r8, r14
call sub.VCRUNTIME140.dll_memset
cmp ebp, 0xc306ec21
jb 0x140046956
mov rcx, rsi
xor edx, edx
mov r8, r14
call sub.VCRUNTIME140.dll_memset
jmp 0x14004691a
mov eax, 0xc03275a5
nop dword [rax + rax]
mov ecx, dword [0x141dc64b8]
and ecx, dword [0x141dc64bc]
add ecx, 0x7b7111d7
imul rcx, rax
shr rcx, 0x3d
xor ecx, 0x17a961b2
cmp ecx, 0x7c386818
ja 0x140046960
mov r8, qword [rsi + 0xa0]
add r8, r15
nop word cs:[rax + rax]
mov eax, dword [0x141dc64c0]
imul eax, dword [0x141dc64c4]
imul rax, rax, 0x6fd55a49
shr rax, 0x3e
or eax, 0x88ac821e
xor eax, 0xfa0fbd59
cmp eax, 0x55d757fa
jb 0x1400469a0
test rbx, rbx
je 0x140046b51
lea rax, [r8 - 1]
nop word cs:[rax + rax]
mov ecx, dword [0x141dc64c8]
sub ecx, dword [0x141dc64cc]
and ecx, 0xf2442100
cmp ecx, 0x6d9b5511
je 0x1400469e0
cmp rax, 0x27
ja 0x140046918
mov eax, dword [0x141dc64d0]
xor edx, edx
div dword [0x141dc64d4]
nop word cs:[rax + rax]
mov eax, dword [0x141dc64d8]
and eax, dword [0x141dc64dc]
add eax, 0x8ec39b0a
xor eax, 0x8094
and eax, 0x6670a1b6
cmp eax, 0xf9ab66d7
ja 0x140046a20
mov r9d, dword [rsi + r8*4 - 4]
neg edi
and edi, 0x1f
nop dword [rax]
mov eax, dword [0x141dc64e0]
imul eax, dword [0x141dc64e4]
or eax, 0xb07ac2cd
imul eax, eax, 0x90c60da1
add eax, 0x86a679d7
mov r10d, r9d
mov ecx, edi
shr r10d, cl
cmp eax, 0xf29b0982
ja 0x140046a50
mov rax, r8
test r10d, r10d
je 0x140046b6d
mov eax, dword [0x141dc64e8]
xor edx, edx
div dword [str..iF]
nop word cs:[rax + rax]
mov eax, dword [0x141dc64f0]
xor eax, dword [0x141dc64f4]
add eax, 0x829a304c
or eax, 0x59c33205
cmp eax, 0x3f24eee6
je 0x140046aa0
nop dword [rax]
mov eax, dword [0x141dc64f8]
or eax, dword [0x141dc64fc]
add eax, 0xd417f130
xor eax, 0xc3440041
or eax, 0x2c03cb20
cmp eax, 0x84eae034
ja 0x140046ac0
cmp r8, 0x27
ja 0x140046918
nop dword [rax]
mov eax, dword [0x141dc6500]
xor edx, edx
div dword [0x141dc6504]
and eax, 0x45000424
or eax, 0x38da694b
imul eax, eax, 0xc16a536d
cmp eax, 0x918c8575
je 0x140046af0
mov eax, dword [0x141dc6508]
xor edx, edx
div dword [0x141dc650c]
imul rcx, rax, 0xbb2c0a3
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x1d
or eax, 0xa021002
and eax, 0xa021003
cmp eax, 0xb06f16ab
jbe 0x140046d13
jmp 0x140046d37
mov rax, r8
mov qword [rsi + 0xa0], rax
mov rax, rsi
add rsp, 0x20
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
lea rdx, [r15 + 1]
cmp rdx, r8
jae 0x140046c87
mov r10d, 0x865dd795
xor r11d, r11d
nop word cs:[rax + rax]
mov ecx, dword [0x141dc6518]
or ecx, dword [0x141dc651c]
or ecx, 0x11c0024
and ecx, 0x31c0065
cmp ecx, 0x206c43cc
ja 0x140046b90
lea rcx, [r8 - 2]
cmp rcx, 0x28
jae 0x140046c92
mov r14d, dword [0x141dc6538]
xor r14d, dword [0x141dc653c]
xor r14d, 0xe50a11ae
shr r14d, 1
imul r14, r10
shr r14, 0x3c
or r14d, 0xc4a6a74e
mov ebp, r9d
mov ecx, ebx
shl ebp, cl
cmp r14d, 0x50f92ca2
jb 0x140046bbe
mov ecx, dword [0x141dc6540]
xor ecx, dword [0x141dc6544]
lea r14, [r8 - 1]
add ecx, 0x669fa67a
xor ecx, 0xed061403
cmp ecx, 0x513d705f
jae 0x140046c30
mov r9d, dword [rsi + r8*4 - 8]
mov ecx, edi
shr r9d, cl
or r9d, ebp
mov dword [rsi + r14*4], r9d
nop word [rax + rax]
mov r9d, dword [rsi + r8*4 - 8]
mov r12d, r9d
mov ecx, edi
shr r12d, cl
or r12d, ebp
mov dword [rsi + r14*4], r12d
test r11b, r11b
jne 0x140046c30
nop dword [rax]
mov ecx, dword [0x141dc6548]
or ecx, dword [0x141dc654c]
imul rcx, rcx, 0x1701ed77
shr rcx, 0x3b
imul ecx, ecx, 0x73288fa6
xor ecx, 0x7dc15ebf
cmp ecx, 0xb563bff4
ja 0x140046c50
mov r8, r14
cmp rdx, r14
jb 0x140046b90
mov ecx, ebx
shl dword [rsi + r15*4], cl
jmp 0x140046b54
mov eax, dword [0x141dc6520]
and eax, dword [0x141dc6524]
add eax, 0x6dcb0170
or eax, 0xf7d5adff
cmp eax, 0xdd142495
jae 0x140046cc0
ud2
mov eax, dword [0x141dc6528]
xor edx, edx
div dword [0x141dc652c]
add eax, 0x6d8ad504
and eax, 0x24a7e79e
ud2
mov eax, dword [0x141dc6510]
xor edx, edx
div dword [0x141dc6514]
imul eax, eax, 0x7842aa7d
xor eax, 0xf4a4021a
mov dword [rsi + r8*4], r10d
cmp eax, 0x4808c0ba
ja 0x140046d3d
mov dword [rsi + r8*4], r10d
jmp 0x140046d13
lea rax, [r8 + 1]
jmp 0x140046b6d