Function at 0x140061890
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x28
mov rbx, rdx
mov rsi, rcx
mov r14, rdx
shr r14, 5
nop dword [rax]
mov eax, dword [0x140214cd0]
mov ecx, dword [0x140214cd4]
mov edx, eax
xor edx, ecx
not edx
or eax, ecx
and eax, edx
and eax, 0x54c2af3f
xor eax, 0xbbff50c4
add eax, 0xe26ed101
cmp eax, 0x690f3576
jb 0x1400618b0
nop dword [rax]
mov eax, dword [0x140214cd8]
or eax, dword [0x140214cdc]
mov ecx, eax
or ecx, 0x61885a0
not eax
and eax, 0x31421804
and ecx, 0x61ce5ea
sub ecx, eax
not ecx
or ecx, 0xceb14db8
cmp ecx, 0xbe948847
je 0x1400618e0
mov edi, ebx
and edi, 0x1f
nop dword [rax + rax]
mov eax, dword [str.P_4S___b]
mov ecx, dword [0x140214ce4]
mov edx, eax
xor edx, ecx
not edx
or eax, ecx
and eax, edx
mov ecx, eax
and ecx, 0x50599808
or eax, 0x50599808
add eax, ecx
add eax, 0xbc69d368
not eax
and eax, 0x6c847809
cmp eax, 0xd391e6e1
ja 0x140061920
cmp rbx, 0x500
jae 0x140061fea
nop word cs:[rax + rax]
mov eax, dword [0x140214cf8]
mov ecx, dword [0x140214cfc]
mov edx, eax
not edx
and edx, ecx
mov r8d, ecx
not r8d
and r8d, eax
imul r8d, edx
mov edx, eax
and edx, ecx
or eax, ecx
imul eax, edx
add eax, r8d
add eax, 0x22994b25
mov ecx, eax
xor ecx, 0x2b33d80b
or eax, 0xd4cc27f4
and eax, ecx
cmp eax, 0xa7c8a81
jb 0x140061970
xor eax, eax
nop dword [rax + rax]
test al, al
jne 0x1400619c0
mov rcx, qword [rsi + 0xa0]
xor eax, eax
nop dword [rax]
test al, al
jne 0x1400619d0
test rcx, rcx
je 0x140061b80
mov eax, 0x8c96b8bf
nop word cs:[rax + rax]
mov edx, dword [0x140214d00]
imul edx, dword [0x140214d04]
or edx, 0xd83f9780
imul rdx, rax
shr rdx, 0x3f
or edx, 0xfc18b3ba
cmp edx, 0x1267ef8f
jb 0x1400619f0
nop dword [rax]
mov eax, dword [0x140214d08]
mov edx, dword [0x140214d0c]
mov r8d, edx
not r8d
mov r9d, eax
and r9d, r8d
or r8d, eax
not r8d
imul r8d, r9d
mov r9d, eax
and r9d, edx
or eax, edx
imul eax, r9d
add eax, r8d
add eax, 0x99fe6c6e
or eax, 0xfb88bdf6
cmp eax, 0x6ae0289d
jb 0x140061a20
mov r8d, 0xa1a38597
mov r9, rcx
nop dword [rax + rax]
cmp rcx, 0x29
jae 0x140061f4b
dec r9
lea r10, [r9 + r14]
mov eax, dword [0x140214e08]
xor edx, edx
div dword [0x140214e0c]
nop
mov edx, dword [0x140214e10]
mov r11d, dword [0x140214e14]
mov eax, edx
not eax
mov ebp, r11d
not ebp
mov r15d, eax
and r15d, 0x61d40e4d
and edx, 0x9e2bf1b2
or edx, r15d
or eax, ebp
and ebp, 0x61d40e4d
and r11d, 0x9e2bf1b2
or r11d, ebp
xor r11d, edx
not eax
or eax, r11d
mov edx, eax
not edx
and edx, 0x5c31a980
and eax, 0xa3ce567f
sub eax, edx
or eax, 0x3b7bff7b
cmp eax, 0xceb2ecfb
ja 0x140061a90
mov eax, dword [0x140214e18]
mov edx, dword [0x140214e1c]
mov r11d, eax
xor r11d, edx
not r11d
or eax, edx
and eax, r11d
imul rax, r8
shr rax, 0x3f
imul eax, eax, 0x5e004486
not eax
mov edx, eax
or edx, 0xe178ea69
or eax, 0x6178ea69
and eax, edx
cmp eax, 0xfbd19b52
jb 0x140061af0
cmp r10, 0x28
jae 0x140061f05
mov eax, dword [rsi + r9*4]
mov dword [rsi + r10*4], eax
nop word cs:[rax + rax]
mov eax, dword [0x140214e30]
add eax, dword [0x140214e34]
imul eax, eax, 0x2b5f0694
add eax, 0x36fc444
xor eax, 0x79342db3
cmp eax, 0x5fd325c7
jb 0x140061b50
test r9, r9
jne 0x140061a70
nop dword [rax]
mov eax, dword [0x140214d10]
xor edx, edx
div dword [0x140214d14]
add eax, 0xea1a2491
mov ecx, eax
not ecx
mov edx, eax
and edx, 0x88b95361
and ecx, 0x7746ac9e
imul ecx, edx
mov edx, eax
and edx, 0x7746ac9e
or eax, 0x7746ac9e
imul eax, edx
add eax, ecx
not eax
and eax, 0x9df98cd3
cmp eax, 0x9848fa27
je 0x140061b80
nop dword [rax + rax]
mov eax, dword [0x140214d18]
sub eax, dword [0x140214d1c]
or eax, 0x54f3b516
add eax, 0x9ab14b4
cmp eax, 0x3cf98374
jb 0x140061bd0
cmp rbx, 0x20
jb 0x140061c7f
nop word [rax + rax]
mov eax, dword [0x140214d20]
or eax, dword [0x140214d24]
add eax, 0xc0888eff
imul rcx, rax, 0x1e078477
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
mov ecx, eax
shr ecx, 0x1d
shr eax, 0x1c
and eax, 6
sub ecx, eax
add ecx, 0xa046bee3
cmp r14, 1
mov r8, r14
adc r8, 0
cmp ecx, 0x48960725
jb 0x140061c00
shl r8, 2
mov rcx, rsi
xor edx, edx
call sub.VCRUNTIME140.dll_memset
nop word cs:[rax + rax]
mov eax, dword [0x140214d28]
imul eax, dword [0x140214d2c]
imul eax, eax, 0x58e45bcb
add eax, 0x683119ba
cmp eax, 0x31c02aaa
jb 0x140061c60
mov r9, qword [rsi + 0xa0]
add r9, r14
nop dword [rax]
mov eax, dword [0x140214d30]
or eax, dword [0x140214d34]
not eax
or eax, 0xb3fef9ba
mov ecx, eax
not ecx
and eax, 0x6c4400ad
mov edx, ecx
and edx, 0x10640
imul edx, eax
mov eax, ecx
and eax, 0x4c000005
or ecx, 0x6c4400ad
imul ecx, eax
add ecx, edx
cmp ecx, 0xe4d597a9
ja 0x140061c90
test rdi, rdi
je 0x1400621f9
mov rax, r9
not rax
lea rax, [rax + r9*2]
nop word cs:[rax + rax]
mov ecx, dword [0x140214d48]
mov edx, dword [0x140214d4c]
not ecx
not edx
and edx, ecx
not edx
imul rcx, rdx, 0x5ec2d1d3
shr rcx, 0x3e
or ecx, 0x28cfacf6
imul rcx, rcx, 0x5c6aa2a1
shr rcx, 0x3a
cmp ecx, 0x2e068ee2
je 0x140061cf0
nop dword [rax + rax]
mov ecx, dword [0x140214d50]
sub ecx, dword [0x140214d54]
imul ecx, ecx, 0x199cebc8
add ecx, 0xf8a49c4f
and ecx, 0xfffffffa
xor ecx, 0x42912fb8
cmp ecx, 0x7e1a4b80
ja 0x140061d30
cmp rax, 0x27
ja 0x140062015
mov edx, 0xb5c25191
nop dword [rax + rax]
mov ecx, dword [0x140214d58]
mov r8d, ecx
not r8d
or r8d, dword [0x140214d5c]
lea r11d, [rcx + r8]
inc r11d
mov ecx, r11d
or ecx, 0x8a68ab0e
not r11d
or r11d, 0x458350a0
and r11d, ecx
not r11d
or r11d, 0x30140451
imul r11, rdx
shr r11, 0x3f
mov r10d, dword [rsi + rax*4]
mov r8d, ebx
neg r8d
mov ecx, r8d
xor ecx, 0xffffffe0
or r8d, 0x1f
and r8d, ecx
mov ebp, r10d
mov ecx, r8d
shr ebp, cl
cmp r11d, 0x79e54cab
ja 0x140061d70
mov eax, dword [0x140214d60]
xor edx, edx
div dword [0x140214d64]
nop dword [rax + rax]
mov eax, dword [0x140214d68]
mov ecx, dword [0x140214d6c]
mov edx, eax
xor edx, ecx
not edx
or eax, ecx
and eax, edx
xor eax, 0xe96eef0b
add eax, 0xbfc54f0a
imul rcx, rax, 0x132d5ee3
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x1d
cmp eax, 0x284a1195
ja 0x140061df0
nop dword [rax + rax]
mov eax, dword [0x140214d70]
and eax, dword [0x140214d74]
mov ecx, eax
xor ecx, 0x91c213e7
and ecx, eax
mov eax, ecx
and eax, 0xd18d6ae
add eax, eax
sub ecx, eax
cmp ecx, 0xd0074dd7
je 0x140061e30
mov r11, r9
test ebp, ebp
je 0x14006226c
nop word cs:[rax + rax]
mov eax, dword [0x140214da0]
xor edx, edx
div dword [0x140214da4]
mov ecx, eax
not ecx
and ecx, 0x752bdb9d
mov edx, eax
and edx, 0x8ad42462
imul edx, ecx
mov ecx, eax
and ecx, 0x752bdb9d
or eax, 0x752bdb9d
imul eax, ecx
add eax, edx
or eax, 0x3323fb0d
imul eax, eax, 0x2fb7070b
cmp eax, 0x8d74685e
je 0x140061e70
cmp r9, 0x27
ja 0x140062110
mov eax, dword [0x140214da8]
mov ecx, dword [0x140214dac]
mov edx, eax
xor edx, ecx
not ecx
and ecx, eax
add ecx, ecx
sub ecx, edx
imul rax, rcx, 0x586c6ba9
shr rax, 0x3e
add eax, 0xcc346439
not eax
and eax, 0x2808103
or eax, 0x8c144030
cmp eax, 0x2cd1f61d
jae 0x140062416
jmp 0x14006244d
ud2
mov eax, dword [0x140214e20]
add eax, dword [0x140214e24]
mov ecx, eax
not ecx
and ecx, 0xbe6a9a7
and eax, 0x34195658
sub eax, ecx
not eax
and eax, 0x20a00a62
or eax, 0x441fc515
cmp eax, 0xea84ff60
jbe 0x140061f80
ud2
mov eax, dword [0x140214e28]
mov ecx, dword [0x140214e2c]
mov edx, eax
not edx
and edx, ecx
mov r8d, ecx
not r8d
and r8d, eax
imul r8d, edx
mov edx, eax
and edx, ecx
or eax, ecx
imul eax, edx
add eax, r8d
mov ecx, eax
not ecx
and ecx, 0xbde735
mov edx, eax
and edx, 0x1f4218ca
imul edx, ecx
mov ecx, eax
and ecx, 0xbde735
or eax, 0xbde735
imul eax, ecx
add eax, edx
xor eax, 0x21840d2
and eax, 0x135e55d3
ud2
mov eax, dword [0x140214ce8]
sub eax, dword [0x140214cec]
or eax, 0x146fc041
add eax, 0x38eb5590
and eax, 0x9fa3038f
cmp eax, 0xf9f83b6b
jbe 0x140062194
jmp 0x1400621e4
mov eax, dword [0x140214d78]
mov ecx, dword [0x140214d7c]
mov edx, eax
xor edx, ecx
not ecx
and ecx, eax
add ecx, ecx
sub ecx, edx
mov eax, ecx
and eax, 0x705d26bf
add eax, eax
neg eax
add eax, ecx
add eax, 0xf05d26bf
mov ecx, eax
not ecx
and ecx, 0x7eefa2ed
and eax, 0x81105d12
sub eax, ecx
and eax, 0xabe0e035
cmp eax, 0x51c87aeb
jne 0x14006205e
ud2
mov eax, 0xb99cd00b
nop word cs:[rax + rax]
mov ecx, dword [0x140214d80]
mov edx, dword [0x140214d84]
not edx
mov r8d, ecx
or r8d, edx
and edx, ecx
not edx
and edx, r8d
mov ecx, edx
xor ecx, 0x7d5a86c4
xor edx, 0xcadb4b94
add edx, ecx
and ecx, 0x487e32af
sub edx, ecx
imul rdx, rax
shr rdx, 0x3a
ud2
mov eax, dword [0x140214dc8]
mov ecx, dword [0x140214dcc]
mov edx, eax
or edx, ecx
not edx
not eax
not ecx
and ecx, eax
or ecx, edx
not ecx
or ecx, 0x33c4835c
add ecx, 0xfbb534d8
mov eax, ecx
xor eax, 0x7dc0a599
and ecx, 0x23f5866
add ecx, ecx
sub ecx, eax
cmp ecx, 0xcb196455
jbe 0x140062160
ud2
mov eax, dword [0x140214dd0]
sub eax, dword [0x140214dd4]
lea ecx, [rax + 0x3438aaa7]
mov edx, ecx
and edx, 0xd02eadfb
xor ecx, 0x2fd15204
add eax, ecx
add eax, 0x3438aaa7
sub eax, edx
ud2
mov eax, dword [0x140214cf0]
or eax, dword [0x140214cf4]
mov ecx, eax
not ecx
mov edx, eax
and edx, 0xf7ee5622
and ecx, 0x811a9dd
imul ecx, edx
mov edx, eax
and edx, 0x811a9dd
or eax, 0x811a9dd
imul eax, edx
add eax, ecx
imul eax, eax, 0x36edc615
mov ecx, 0xd87b8fb1
imul rcx, rax
shr rcx, 0x3f
ud2
ud2
mov eax, dword [0x140214d38]
and eax, dword [0x140214d3c]
add eax, 0xe08be38e
or eax, 0x98ecc79
add eax, 0xdb8899d7
cmp eax, 0x39deefab
jae 0x140062230
mov qword [rsi + 0xa0], r9
nop word cs:[rax + rax]
mov eax, dword [0x140214d40]
mov ecx, dword [0x140214d44]
mov edx, eax
and edx, ecx
or eax, ecx
add eax, edx
and eax, 0x3880180
add eax, 0xd02bdd36
mov qword [rsi + 0xa0], r9
cmp eax, 0x31a7f48b
jb 0x140062230
mov rax, rsi
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
pop r15
ret
mov eax, dword [0x140214d90]
xor edx, edx
div dword [0x140214d94]
lea rax, [r14 + 1]
nop
mov ecx, dword [0x140214d98]
xor ecx, dword [0x140214d9c]
add ecx, 0x97703b2e
shr ecx, 3
imul rcx, rcx, 0x9cd9dab
shr rcx, 0x32
not ecx
and ecx, 0xb33b1208
add ecx, 0x6606bc45
jae 0x140062280
cmp rax, r9
jae 0x140062300
nop word cs:[rax + rax]
lea rcx, [r9 - 2]
cmp rcx, 0x28
jae 0x1400623cf
mov ecx, edi
shl r10d, cl
mov edx, dword [rsi + r9*4 - 8]
mov ebx, edx
mov ecx, r8d
shr ebx, cl
or ebx, r10d
mov dword [rsi + r9*4 - 4], ebx
lea rcx, [r9 - 1]
mov r10d, edx
mov r9, rcx
cmp rax, rcx
jb 0x1400622c0
nop word cs:[rax + rax]
mov eax, dword [0x140214dd8]
xor edx, edx
div dword [0x140214ddc]
mov ecx, eax
xor ecx, 0x6c373a7d
xor eax, 0xc7072914
add eax, ecx
and ecx, 0x54cfec96
sub eax, ecx
cmp eax, 0xcb4c3e57
je 0x140062300
mov r8d, dword [rsi + r14*4]
mov ecx, edi
shl r8d, cl
mov eax, dword [0x140214de0]
xor edx, edx
div dword [0x140214de4]
imul rax, rax, 0x247ab211
shr rax, 0x3c
mov ecx, eax
not ecx
mov edx, eax
and edx, 1
and ecx, 0xc410fb6
imul ecx, edx
mov edx, eax
and edx, 0xfffffffe
or eax, 0xc410fb6
imul eax, edx
add eax, ecx
and eax, 0x3e1ffede
cmp eax, 0xcd88cb86
jne 0x140062380
mov dword [rsi + r14*4], r8d
nop
mov eax, dword [0x140214de8]
xor edx, edx
div dword [0x140214dec]
mov ecx, eax
and ecx, 0x1cfc2536
xor eax, 0x1cfc2536
lea eax, [rax + rcx*2]
mov ecx, eax
not ecx
and ecx, 0x56ad4f83
and eax, 0xa952b07c
sub eax, ecx
mov ecx, eax
not ecx
or ecx, 0x69e06996
add ecx, eax
mov dword [rsi + r14*4], r8d
cmp ecx, 0xc264102f
je 0x140062380
mov r9, r11
jmp 0x1400621f9
mov eax, dword [0x140214df0]
xor edx, edx
div dword [0x140214df4]
add eax, 0x1c92cc66
mov ecx, eax
not ecx
and ecx, 0x4cc15c7b
and eax, 0xb33ea384
sub eax, ecx
mov ecx, eax
and ecx, 0x7d27cc6c
add ecx, ecx
neg ecx
add eax, ecx
add eax, 0xfd27cc6c
cmp eax, 0x340e35fb
jbe 0x1400624f2
jmp 0x140062527
mov eax, dword [0x140214db0]
mov ecx, dword [0x140214db4]
mov edx, eax
xor edx, ecx
not edx
or eax, ecx
and eax, edx
imul eax, eax, 0xb651d482
mov ecx, eax
and ecx, 0x495830cc
xor eax, 0xc95830cc
lea eax, [rax + rcx*2]
mov dword [rsi + r9*4], ebp
cmp eax, 0x567eeb02
jne 0x140062453
mov dword [rsi + r9*4], ebp
jmp 0x140062416
lea r11, [r9 + 1]
nop word [rax + rax]
mov eax, dword [0x140214db8]
add eax, dword [0x140214dbc]
mov ecx, eax
and ecx, 0x4c95fd8d
add ecx, ecx
sub eax, ecx
add eax, 0xca6a136
mov ecx, eax
and ecx, 0x68664a42
add ecx, ecx
sub eax, ecx
add eax, 0x68664a42
cmp eax, 0x5fec203a
jb 0x140062460
nop word cs:[rax + rax]
mov eax, dword [0x140214dc0]
or eax, dword [0x140214dc4]
mov ecx, eax
and ecx, 0x3a90c297
add ecx, ecx
neg ecx
add eax, ecx
add eax, 0xba90c297
mov ecx, eax
not ecx
and ecx, 0x1499eea6
mov edx, eax
and edx, 0xeb661159
imul edx, ecx
mov ecx, eax
and ecx, 0x1499eea6
or eax, 0x1499eea6
imul eax, ecx
add eax, edx
cmp eax, 0x3d89122d
je 0x1400624a0
jmp 0x14006226c
mov eax, dword [0x140214df8]
mov ecx, dword [0x140214dfc]
mov edx, eax
xor edx, ecx
not ecx
and ecx, eax
add ecx, ecx
sub ecx, edx
or ecx, 0x571948
imul rax, rcx, 0x2a706c6d
shr rax, 0x3b
and eax, 0xfffffffd
ud2
ud2