Function at 0x140046ac0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x28
mov rdi, rdx
mov rsi, rcx
mov r14, rdx
shr r14, 5
nop dword [rax]
mov eax, dword [0x141dc3498]
mov ecx, dword [0x141dc349c]
add eax, ecx
add eax, 0x17dff397
and eax, 0x602d8c4a
imul eax, eax, 0xbc941c55
cmp eax, 0x81c805ee
jb 0x140046ae0
cmp rdi, 0x500
jae 0x1400470da
mov ebx, edi
and ebx, 0x1f
nop word [rax + rax]
mov eax, dword [0x141dc34a0]
xor edx, edx
div dword [0x141dc34a4]
imul eax, eax, 0xb3535305
cmp eax, 0x3462b3f2
je 0x140046b20
nop dword [rax + rax]
mov eax, dword [0x141dc34a8]
or eax, dword [0x141dc34ac]
add eax, 0xa27aed63
or eax, 0xe9c2fc9
imul eax, eax, 0x88cac74b
cmp eax, 0x5d34b131
je 0x140046b40
mov rax, qword [rsi + 0xa0]
test rax, rax
je 0x140046c8a
nop word cs:[rax + rax]
mov ecx, dword [str._s3]
or ecx, dword [0x141dc34b4]
add ecx, 0xc1f37b93
and ecx, 0x87004e0
cmp ecx, 0xb58ddcae
ja 0x140046b80
mov ecx, dword [0x141dc34b8]
mov edx, dword [0x141dc34bc]
add ecx, edx
add ecx, 0xc4d4599b
or ecx, 0xb3e06a13
and ecx, 0xbbfdeebf
cmp ecx, 0x22a0a815
je 0x140046ba0
mov ecx, 0xaf51178b
mov rdx, rax
cmp rax, 0x29
jae 0x140046e2e
dec rdx
lea r8, [rdx + r14]
nop word cs:[rax + rax]
mov r9d, dword [0x141dc3570]
or r9d, dword [0x141dc3574]
imul r9d, r9d, 0xf0627ec4
or r9d, 0xc4642cbb
cmp r9d, 0xc97a510c
je 0x140046bf0
cmp r8, 0x28
jae 0x1400470da
mov r10d, dword [0x141dc3580]
xor r10d, dword [0x141dc3584]
mov r9d, dword [rsi + rdx*4]
or r10d, 0x7fdbfddc
add r10d, 0xa88f0c3d
cmp r10d, 0xb12fbcda
jbe 0x140046c50
mov dword [rsi + r8*4], r9d
nop dword [rax]
mov r10d, dword [0x141dc3588]
or r10d, dword [0x141dc358c]
add r10d, 0xc703d5a
imul r10, rcx
shr r10, 0x3b
add r10d, 0x5f5a5f8b
mov dword [rsi + r8*4], r9d
cmp r10d, 0xd811c98c
ja 0x140046c50
test rdx, rdx
jne 0x140046bd0
mov eax, dword [0x141dc34c0]
xor edx, edx
div dword [0x141dc34c4]
nop dword [rax + rax]
mov eax, dword [0x141dc34c8]
add eax, dword [0x141dc34cc]
imul eax, eax, 0xe4cc7873
or eax, 0xa485860f
cmp eax, 0x29fee4ed
je 0x140046ca0
cmp rdi, 0x20
jb 0x140046cdd
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 [rax + rax]
mov eax, dword [0x141dc34d0]
xor eax, dword [0x141dc34d4]
add eax, 0x30ae5e4a
xor eax, 0x4963c3b8
add eax, 0xf467c2d2
cmp eax, 0xf1c93675
jb 0x140046cf0
test rbx, rbx
je 0x140046ee5
lea rcx, [r8 - 1]
nop
mov eax, dword [0x141dc34e8]
and eax, dword [0x141dc34ec]
xor eax, 0x82048210
or eax, 0x745b59a8
shr eax, 2
imul rax, rax, 0x4391a22f
shr rax, 0x3c
cmp eax, 0x916a992e
ja 0x140046d20
nop dword [rax + rax]
mov eax, dword [0x141dc34f0]
xor edx, edx
div dword [0x141dc34f4]
imul eax, eax, 0xecb4dd03
add eax, 0xac76c079
cmp eax, 0x1bc8f3b6
jb 0x140046d50
cmp rcx, 0x27
ja 0x1400470da
mov r9d, dword [rsi + r8*4 - 4]
neg edi
and edi, 0x1f
nop word cs:[rax + rax]
mov eax, dword [0x141dc34f8]
imul eax, dword [0x141dc34fc]
imul edx, eax, 0xbe51cc92
and edx, 0x42b71fe6
mov eax, r9d
mov ecx, edi
shr eax, cl
cmp edx, 0x4a39ae4e
ja 0x140046d90
mov r10, r8
test eax, eax
je 0x140046f49
mov ecx, 0xa1eab9df
nop dword [rax + rax]
mov edx, dword [0x141dc3500]
or edx, dword [0x141dc3504]
imul rdx, rcx
shr rdx, 0x3b
or edx, 0x9b68c4fd
add edx, 0xfc2bf78a
cmp edx, 0x210b2d2f
jb 0x140046dd0
cmp r8, 0x27
ja 0x140046e6d
mov ecx, dword [0x141dc3508]
imul ecx, dword [0x141dc350c]
add ecx, 0x85c0707
or ecx, 0x2c002010
and ecx, 0x6da02058
cmp ecx, 0x698637c6
jne 0x1400470dc
jmp 0x140047106
ud2
mov eax, dword [0x141dc3520]
or eax, dword [0x141dc3524]
imul eax, eax, 0x209c0c0e
add eax, 0x503e3d43
or eax, 0xb44b3e4f
cmp eax, 0xc1a200ba
jae 0x140046ea0
ud2
mov eax, dword [0x141dc3528]
sub eax, dword [0x141dc352c]
and eax, 0x855f33f6
ud2
mov eax, dword [0x141dc34d8]
xor eax, dword [0x141dc34dc]
add eax, 0xea010c15
xor eax, 0x9b34289c
imul eax, eax, 0x664fca11
cmp eax, 0x92646122
jbe 0x140046f10
mov qword [rsi + 0xa0], r8
nop
mov eax, dword [0x141dc34e0]
sub eax, dword [0x141dc34e4]
imul eax, eax, 0xcbb50c2a
or eax, 0xff8fbffb
mov qword [rsi + 0xa0], r8
cmp eax, 0x9e6d4f9
jb 0x140046f10
mov rax, rsi
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea r11, [r14 + 1]
cmp r11, r8
jae 0x140047040
xor ebp, ebp
mov r15d, 0xc9f73391
nop
mov eax, dword [0x141dc3540]
xor edx, edx
div dword [str._8Am]
nop
mov eax, dword [0x141dc3548]
add eax, dword [0x141dc354c]
imul eax, eax, 0x99dce8b
xor eax, 0x73598316
imul rax, r15
shr rax, 0x3d
cmp eax, 0xeb9b265b
ja 0x140046f70
lea rax, [r8 - 2]
cmp rax, 0x28
jae 0x14004707b
lea r12, [r8 - 1]
mov ecx, ebx
shl r9d, cl
test bpl, bpl
je 0x140046fd0
mov eax, dword [rsi + r8*4 - 8]
mov ecx, edi
shr eax, cl
or eax, r9d
mov dword [rsi + r12*4], eax
nop word cs:[rax + rax]
mov eax, dword [0x141dc3560]
xor edx, edx
div dword [0x141dc3564]
or eax, 0x56838851
imul rdx, rax, 0x10d2cde3
shr rdx, 0x39
mov eax, dword [rsi + r8*4 - 8]
mov r13d, eax
mov ecx, edi
shr r13d, cl
or edx, 0x1605b250
or r13d, r9d
mov dword [rsi + r12*4], r13d
cmp edx, 0xcad584cf
ja 0x140046fd0
mov ecx, dword [str.DOm_]
xor ecx, dword [0x141dc356c]
shr ecx, 1
imul rcx, rcx, 0x5a7d0249
shr rcx, 0x37
cmp ecx, 0x9f2712dd
je 0x140047010
mov r9d, eax
mov r8, r12
cmp r11, r12
jb 0x140046f60
mov ecx, ebx
shl dword [rsi + r14*4], cl
nop word cs:[rax + rax]
mov eax, dword [0x141dc3538]
imul eax, dword [0x141dc353c]
add eax, 0x790dcde
or eax, 0x3064eb90
and eax, 0x3cf4ebf5
cmp eax, 0xff1ced7a
je 0x140047050
mov r8, r10
jmp 0x140046ee5
mov eax, dword [0x141dc3550]
xor eax, dword [0x141dc3554]
and eax, 0xb00c5a20
mov ecx, 0x870712b9
imul rcx, rax
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x1b
cmp eax, 0xd897e1eb
jne 0x1400470ab
ud2
mov eax, 0xacc5deb5
mov ecx, dword [0x141dc3558]
and ecx, dword [0x141dc355c]
xor ecx, 0xbceb8f18
imul rcx, rax
shr rcx, 0x3e
add ecx, 0x34887375
ud2
ud2
mov ecx, dword [0x141dc3510]
sub ecx, dword [0x141dc3514]
add ecx, 0xffa71035
xor ecx, 0x413741ae
add ecx, 0xc93fa767
mov dword [rsi + r8*4], eax
cmp ecx, 0xacc8e067
jae 0x14004710c
mov dword [rsi + r8*4], eax
jmp 0x1400470dc
lea r10, [r8 + 1]
mov eax, dword [0x141dc3518]
xor edx, edx
div dword [0x141dc351c]
add eax, 0x2e41bbb9
imul rcx, rax, 0x98fafad
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x1f
cmp eax, 0xadcd421b
je 0x140047110
jmp 0x140046f49