Function at 0x140049220
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x28
mov r14, rdx
shr r14, 5
mov rbx, rdx
mov rsi, rcx
nop dword [rax]
mov eax, dword [0x141dc7438]
or eax, dword [0x141dc743c]
xor eax, 0x162d3266
add eax, 0xe77cbdb5
or eax, 0x7d26b3
cmp eax, 0xbf34a681
ja 0x140049240
mov edi, ebx
and edi, 0x1f
xor eax, eax
nop dword [rax]
test al, al
jne 0x140049270
cmp rbx, 0x500
jae 0x140049738
xor eax, eax
nop word cs:[rax + rax]
test al, al
jne 0x140049290
mov rax, qword [rsi + 0xa0]
test rax, rax
je 0x140049350
mov cl, 1
nop word cs:[rax + rax]
test cl, cl
je 0x1400492b0
xor ecx, ecx
mov rdx, rax
nop dword [rax]
cmp rax, 0x29
jae 0x1400497e5
dec rdx
nop dword [rax]
mov r8d, dword [0x141dc7500]
xor r8d, dword [0x141dc7504]
add r8d, 0xf7b7438f
xor r8d, 0xac004000
or r8d, 0x121abd57
cmp r8d, 0x673bd8dc
jb 0x1400492d0
lea r8, [rdx + r14]
cmp r8, 0x28
jae 0x1400497e5
test cl, cl
jne 0x14004930a
mov r9d, dword [rsi + rdx*4]
mov dword [rsi + r8*4], r9d
nop word cs:[rax + rax]
mov r8d, dword [0x141dc7508]
or r8d, dword [0x141dc750c]
or r8d, 0xbe5dfbe7
imul r8d, r8d, 0x278604ff
cmp r8d, 0x57dd4672
ja 0x140049320
test rdx, rdx
jne 0x1400492c0
nop
mov eax, dword [0x141dc7450]
xor edx, edx
div dword [str._r]
imul eax, eax, 0x43bdfa81
cmp eax, 0x406b3efd
je 0x140049350
cmp rbx, 0x20
jb 0x14004938a
cmp r14, 1
mov r8, r14
adc r8, 0
shl r8, 2
mov rcx, rsi
xor edx, edx
call sub.VCRUNTIME140.dll_memset
mov r8, qword [rsi + 0xa0]
add r8, r14
nop word cs:[rax + rax]
mov eax, dword [0x141dc7458]
add eax, dword [0x141dc745c]
or eax, 0xcc702fba
add eax, 0xf4204b18
xor eax, 0x8d688b92
cmp eax, 0x84f0ef88
ja 0x1400493a0
test rdi, rdi
je 0x1400496cb
lea rax, [r8 - 1]
xor ecx, ecx
nop word cs:[rax + rax]
test cl, cl
jne 0x1400493e0
cmp rax, 0x27
ja 0x1400496e5
nop
mov eax, dword [0x141dc7460]
xor edx, edx
div dword [0x141dc7464]
xor eax, 0x849908
or eax, 0xd07324b5
imul eax, eax, 0x6a46aa0a
cmp eax, 0xa6900704
jb 0x1400493f0
mov r9d, dword [rsi + r8*4 - 4]
nop word [rax + rax]
mov eax, dword [0x141dc7468]
imul eax, dword [0x141dc746c]
xor eax, 0x35012010
or eax, 0xc264562e
xor eax, 0x56922b5b
cmp eax, 0x9cde7a96
ja 0x140049420
neg ebx
and ebx, 0x1f
mov eax, r9d
mov ecx, ebx
shr eax, cl
mov r10, r8
test eax, eax
je 0x140049543
nop word [rax + rax]
mov ecx, dword [0x141dc7488]
sub ecx, dword [0x141dc748c]
add ecx, 0x9fc5917
and ecx, 0x65094e0d
cmp ecx, 0x7eaa52d8
ja 0x140049460
mov ecx, dword [0x141dc7490]
and ecx, dword [0x141dc7494]
xor ecx, 0x2081297
or ecx, 0x9cf7e140
imul ecx, ecx, 0xbfe21af0
cmp ecx, 0x73623c8f
je 0x140049480
cmp r8, 0x27
ja 0x14004979c
mov ecx, dword [0x141dc7498]
add ecx, dword [0x141dc749c]
imul rcx, rcx, 0x58bab2d9
shr rcx, 0x3e
imul ecx, ecx, 0xe76e7292
cmp ecx, 0x9811709f
je 0x1400494b0
mov ecx, dword [0x141dc74a0]
add ecx, dword [0x141dc74a4]
imul ecx, ecx, 0x4e1e9120
imul rcx, rcx, 0x52764a0f
shr rcx, 0x3e
cmp ecx, 0x1a5ef90f
jbe 0x140049500
mov dword [rsi + r8*4], eax
nop
mov ecx, dword [0x141dc74a8]
and ecx, dword [0x141dc74ac]
add ecx, 0xf0c2d7c5
or ecx, 0x5b00a1d6
and ecx, 0x5b2be7de
mov dword [rsi + r8*4], eax
cmp ecx, 0xdb7ad445
ja 0x140049500
lea r10, [r8 + 1]
nop
mov eax, dword [0x141dc74b0]
sub eax, dword [0x141dc74b4]
cmp eax, 0x67e1f1e4
je 0x140049530
mov eax, dword [0x141dc7478]
xor edx, edx
div dword [0x141dc747c]
lea r11, [r14 + 1]
nop word cs:[rax + rax]
mov eax, dword [0x141dc7480]
add eax, dword [0x141dc7484]
xor eax, 0x1241c6a0
or eax, 0xed1c3945
add eax, 0xb1d92b85
cmp eax, 0x214f0710
jb 0x140049560
cmp r11, r8
jae 0x140049690
nop dword [rax + rax]
mov eax, dword [0x141dc74d0]
xor edx, edx
div dword [0x141dc74d4]
nop
mov eax, dword [0x141dc74d8]
xor eax, dword [0x141dc74dc]
add eax, 0x3ac1d230
or eax, 0x5849b27a
xor eax, 0x190a8522
cmp eax, 0xb6b8f49c
ja 0x1400495a0
lea rax, [r8 - 2]
cmp rax, 0x28
jae 0x14004970e
mov ecx, edi
shl r9d, cl
lea rax, [r8 - 1]
mov ecx, dword [0x141dc74e8]
sub ecx, dword [0x141dc74ec]
and ecx, 0x24017a0
imul ecx, ecx, 0xe03d9493
xor ecx, 0x75cac67
cmp ecx, 0xa57bd9cd
ja 0x14004963a
nop
mov ebp, dword [0x141dc74f0]
sub ebp, dword [0x141dc74f4]
or ebp, 0xd7ed9572
add ebp, 0xe7b19064
mov edx, dword [rsi + r8*4 - 8]
mov r15d, edx
mov ecx, ebx
shr r15d, cl
or ebp, 0x31c06b75
or r15d, r9d
mov dword [rsi + rax*4], r15d
cmp ebp, 0xa0717f97
jne 0x140049650
mov edx, dword [rsi + r8*4 - 8]
mov ecx, ebx
shr edx, cl
or edx, r9d
mov dword [rsi + rax*4], edx
jmp 0x140049600
mov ecx, dword [0x141dc74f8]
sub ecx, dword [0x141dc74fc]
add ecx, 0x5aec21b
or ecx, 0x9ea12739
and ecx, 0xdffbb77f
cmp ecx, 0x7a49fd7f
je 0x140049650
mov r9d, edx
mov r8, rax
cmp r11, rax
jb 0x140049590
nop word cs:[rax + rax]
mov eax, dword [0x141dc74c8]
imul eax, dword [0x141dc74cc]
imul eax, eax, 0x6ca8d48c
add eax, 0x70975d8
shr eax, 3
imul rax, rax, 0x451e627
shr rax, 0x36
cmp eax, 0x861f36a
ja 0x140049690
mov eax, dword [rsi + r14*4]
mov ecx, edi
shl eax, cl
mov dword [rsi + r14*4], eax
jmp 0x1400496ce
mov r10, r8
mov qword [rsi + 0xa0], r10
mov rax, rsi
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
pop r15
ret
ud2
ud2
mov eax, dword [0x141dc7440]
xor eax, dword [0x141dc7444]
xor eax, 0x39993400
shr eax, 7
imul rax, rax, 0x2175747
shr rax, 0x32
imul eax, eax, 0x21610127
cmp eax, 0xb0d60ef4
jbe 0x140049770
ud2
mov eax, dword [0x141dc7448]
sub eax, dword [0x141dc744c]
and eax, 0x55743f66
add eax, 0x36020770
imul rax, rax, 0x4e597f7b
shr rax, 0x3e
ud2
mov eax, dword [0x141dc74b8]
or eax, dword [0x141dc74bc]
and eax, 0x3f4641b2
xor eax, 0x70dc0470
cmp eax, 0x5a4dfad1
jbe 0x1400497c0
ud2
mov eax, dword [0x141dc74c0]
or eax, dword [0x141dc74c4]
or eax, 0xb01b9c23
xor eax, 0xb249ca8
imul eax, eax, 0x20754748
ud2
ud2