Function at 0x140001af0
Capabilities:
Encode data using xor
Encrypt data using rc4 ksa

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x28
mov rdi, r8
mov rbx, rdx
mov r14, rcx
xor r15d, r15d
nop dword [rax]
mov ecx, 0xf4d4
call sym.operator_new___unsigned_long_long_
mov rsi, rax
xor r12d, r12d
call sub.msvcrt.dll_rand
cdqe
imul rcx, rax, 0xffffffffa1483c03
shr rcx, 0x20
add ecx, eax
mov edx, ecx
shr edx, 0x1f
sar ecx, 0xd
add ecx, edx
imul ecx, ecx, 0x32cb
sub eax, ecx
mov dword [rsi + r12*4], eax
call sub.msvcrt.dll_rand
inc r12
cmp r12, 0x91
jne 0x140001b20
mov rcx, rsi
call sym.operator_delete_void_
inc r15d
cmp r15d, 0x9e8
jne 0x140001b10
xor r15d, r15d
nop word cs:[rax + rax]
mov ecx, 0x26454
call sym.operator_new___unsigned_long_long_
mov rsi, rax
xor r12d, r12d
call sub.msvcrt.dll_rand
cdqe
imul rcx, rax, 0x1219a14b
mov rdx, rcx
shr rdx, 0x3f
sar rcx, 0x2a
add ecx, edx
imul ecx, ecx, 0x3893
sub eax, ecx
mov dword [rsi + r12*4], eax
call sub.msvcrt.dll_rand
inc r12
cmp r12, 0x19b
jne 0x140001b90
mov rcx, rsi
call sym.operator_delete_void_
inc r15d
cmp r15d, 0x6a4
jne 0x140001b80
xor r15d, r15d
nop
mov ecx, 0x1b320
call sym.operator_new___unsigned_long_long_
mov rsi, rax
xor r12d, r12d
call sub.msvcrt.dll_rand
cdqe
imul rcx, rax, 0xfffffffff06a9743
shr rcx, 0x20
add ecx, eax
mov edx, ecx
shr edx, 0x1f
sar ecx, 0xd
add ecx, edx
imul ecx, ecx, 0x2213
sub eax, ecx
mov dword [rsi + r12*4], eax
call sub.msvcrt.dll_rand
inc r12
cmp r12, 0x197
jne 0x140001bf0
mov rcx, rsi
call sym.operator_delete_void_
inc r15d
cmp r15d, 0x8c7
jne 0x140001be0
xor r15d, r15d
nop word cs:[rax + rax]
mov ecx, 0x1b2f0
call sym.operator_new___unsigned_long_long_
mov rsi, rax
xor r12d, r12d
call sub.msvcrt.dll_rand
cdqe
imul rcx, rax, 0x577d9e4d
mov rdx, rcx
shr rdx, 0x3f
sar rcx, 0x2c
add ecx, edx
imul ecx, ecx, 0x2ed1
sub eax, ecx
mov dword [rsi + r12*4], eax
call sub.msvcrt.dll_rand
inc r12
cmp r12, 0x1c1
jne 0x140001c60
mov rcx, rsi
call sym.operator_delete_void_
inc r15d
cmp r15d, 0x985
jne 0x140001c50
xor r15d, r15d
nop
mov ecx, 0x13d78
call sym.operator_new___unsigned_long_long_
mov rsi, rax
xor r12d, r12d
call sub.msvcrt.dll_rand
cdqe
imul rcx, rax, 0x4da637d
mov rdx, rcx
shr rdx, 0x3f
sar rcx, 0x27
add ecx, edx
imul ecx, ecx, 0x1a60
sub eax, ecx
mov dword [rsi + r12*4], eax
call sub.msvcrt.dll_rand
inc r12
cmp r12, 0x67
jne 0x140001cc0
mov rcx, rsi
call sym.operator_delete_void_
inc r15d
cmp r15d, 0xa3c
jne 0x140001cb0
mov ecx, 0x100
call sym.operator_new_unsigned_long_long_
mov rsi, rax
xorps xmm0, xmm0
movups xmmword [rax], xmm0
movups xmmword [rax + 0x10], xmm0
movups xmmword [rax + 0x20], xmm0
movups xmmword [rax + 0x30], xmm0
movups xmmword [rax + 0x40], xmm0
movups xmmword [rax + 0x50], xmm0
movups xmmword [rax + 0x60], xmm0
movups xmmword [rax + 0x70], xmm0
movups xmmword [rax + 0x80], xmm0
movups xmmword [rax + 0x90], xmm0
movups xmmword [rax + 0xa0], xmm0
movups xmmword [rax + 0xb0], xmm0
movups xmmword [rax + 0xc0], xmm0
movups xmmword [rax + 0xd0], xmm0
movups xmmword [rax + 0xe0], xmm0
movups xmmword [rax + 0xf0], xmm0
xor eax, eax
nop word cs:[rax + rax]
mov byte [rsi + rax], al
inc rax
cmp rax, 0x100
jne 0x140001d80
mov r12, qword [r14 + 8]
sub r12, qword [r14]
xor r13d, r13d
nop dword [rax + rax]
mov ecx, 0x1c794
call sym.operator_new___unsigned_long_long_
mov r15, rax
xor ebp, ebp
nop
call sub.msvcrt.dll_rand
cdqe
imul rcx, rax, 0x1870a743
mov rdx, rcx
shr rdx, 0x3f
sar rcx, 0x2a
add ecx, edx
imul ecx, ecx, 0x29e6
sub eax, ecx
mov dword [r15 + rbp*4], eax
call sub.msvcrt.dll_rand
inc rbp
cmp rbp, 0xde
jne 0x140001db0
mov rcx, r15
call sym.operator_delete_void_
inc r13d
cmp r13d, 0x8cf
jne 0x140001da0
xor r13d, r13d
nop
mov ecx, 0x26dc4
call sym.operator_new___unsigned_long_long_
mov r15, rax
xor ebp, ebp
nop
call sub.msvcrt.dll_rand
cdqe
imul rcx, rax, 0x3c38b15f
mov rdx, rcx
shr rdx, 0x3f
sar rcx, 0x2b
add ecx, edx
imul ecx, ecx, 0x2202
sub eax, ecx
mov dword [r15 + rbp*4], eax
call sub.msvcrt.dll_rand
inc rbp
cmp rbp, 0x1ba
jne 0x140001e10
mov rcx, r15
call sym.operator_delete_void_
inc r13d
cmp r13d, 0x9e5
jne 0x140001e00
xor r13d, r13d
nop
mov ecx, 0x19f78
call sym.operator_new___unsigned_long_long_
mov r15, rax
xor ebp, ebp
nop
call sub.msvcrt.dll_rand
cdqe
imul rcx, rax, 0xffffffffa3b64c2f
shr rcx, 0x20
add ecx, eax
mov edx, ecx
shr edx, 0x1f
sar ecx, 0xc
add ecx, edx
imul ecx, ecx, 0x1905
sub eax, ecx
mov dword [r15 + rbp*4], eax
call sub.msvcrt.dll_rand
inc rbp
cmp rbp, 0x158
jne 0x140001e70
mov rcx, r15
call sym.operator_delete_void_
inc r13d
cmp r13d, 0x7b5
jne 0x140001e60
xor r13d, r13d
nop word cs:[rax + rax]
mov ecx, 0x1b0ec
call sym.operator_new___unsigned_long_long_
mov r15, rax
xor ebp, ebp
nop
call sub.msvcrt.dll_rand
cdqe
imul rcx, rax, 0x9e778bf
mov rdx, rcx
shr rdx, 0x3f
sar rcx, 0x28
add ecx, edx
imul ecx, ecx, 0x19d9
sub eax, ecx
mov dword [r15 + rbp*4], eax
call sub.msvcrt.dll_rand
inc rbp
cmp rbp, 0x86
jne 0x140001ee0
mov rcx, r15
call sym.operator_delete_void_
inc r13d
cmp r13d, 0x75e
jne 0x140001ed0
xor r13d, r13d
nop
mov ecx, 0x234bc
call sym.operator_new___unsigned_long_long_
mov r15, rax
xor ebp, ebp
nop
call sub.msvcrt.dll_rand
cdqe
imul rcx, rax, 0x1eb8a091
mov rdx, rcx
shr rdx, 0x3f
sar rcx, 0x2a
add ecx, edx
imul ecx, ecx, 0x2155
sub eax, ecx
mov dword [r15 + rbp*4], eax
call sub.msvcrt.dll_rand
inc rbp
cmp rbp, 0x1b9
jne 0x140001f40
mov rcx, r15
call sym.operator_delete_void_
inc r13d
cmp r13d, 0x91c
jne 0x140001f30
xor r13d, r13d
nop
mov ecx, 0x15578
call sym.operator_new___unsigned_long_long_
mov r15, rax
xor ebp, ebp
nop
call sub.msvcrt.dll_rand
cdqe
imul rcx, rax, 0x7d69a9f7
mov rdx, rcx
shr rdx, 0x3f
sar rcx, 0x2c
add ecx, edx
imul ecx, ecx, 0x20a9
sub eax, ecx
mov dword [r15 + rbp*4], eax
call sub.msvcrt.dll_rand
inc rbp
cmp rbp, 0x68
jne 0x140001fa0
mov rcx, r15
call sym.operator_delete_void_
inc r13d
cmp r13d, 0x6e5
jne 0x140001f90
xor r13d, r13d
nop dword [rax]
mov ecx, 0x21208
call sym.operator_new___unsigned_long_long_
mov r15, rax
xor ebp, ebp
nop
call sub.msvcrt.dll_rand
cdqe
imul rcx, rax, 0x5a353563
mov rdx, rcx
shr rdx, 0x3f
sar rcx, 0x2c
add ecx, edx
imul ecx, ecx, 0x2d68
sub eax, ecx
mov dword [r15 + rbp*4], eax
call sub.msvcrt.dll_rand
inc rbp
cmp rbp, 0x14b
jne 0x140002000
mov rcx, r15
call sym.operator_delete_void_
inc r13d
cmp r13d, 0x693
jne 0x140001ff0
xor r13d, r13d
nop
mov ecx, 0xe4a8
call sym.operator_new___unsigned_long_long_
mov r15, rax
xor ebp, ebp
nop
call sub.msvcrt.dll_rand
cdqe
imul rcx, rax, 0xf1d48bd
mov rdx, rcx
shr rdx, 0x3f
sar rcx, 0x29
add ecx, edx
imul ecx, ecx, 0x21e0
sub eax, ecx
mov dword [r15 + rbp*4], eax
call sub.msvcrt.dll_rand
inc rbp
cmp rbp, 0x1d1
jne 0x140002060
mov rcx, r15
call sym.operator_delete_void_
inc r13d
cmp r13d, 0x8e3
jne 0x140002050
xor r13d, r13d
nop
mov ecx, 0xa4d0
call sym.operator_new___unsigned_long_long_
mov r15, rax
xor ebp, ebp
nop
call sub.msvcrt.dll_rand
cdqe
imul rcx, rax, 0x5b61116d
mov rdx, rcx
shr rdx, 0x3f
sar rcx, 0x2c
add ecx, edx
imul ecx, ecx, 0x2cd3
sub eax, ecx
mov dword [r15 + rbp*4], eax
call sub.msvcrt.dll_rand
inc rbp
cmp rbp, 0x1c6
jne 0x1400020c0
mov rcx, r15
call sym.operator_delete_void_
inc r13d
cmp r13d, 0xa56
jne 0x1400020b0
mov r8, qword [r14]
xor ecx, ecx
xor r9d, r9d
nop word cs:[rax + rax]
movzx r10d, byte [rsi + rcx]
add r9b, r10b
mov rax, rcx
xor edx, edx
div r12
add r9b, byte [r8 + rdx]
movzx eax, r9b
movzx edx, byte [rsi + rax]
mov byte [rsi + rcx], dl
mov byte [rsi + rax], r10b
inc rcx
cmp rcx, 0x100
jne 0x140002120
xor r15d, r15d
nop word cs:[rax + rax]
mov ecx, 0xd1ac
call sym.operator_new___unsigned_long_long_
mov r14, rax
xor r12d, r12d
call sub.msvcrt.dll_rand
cdqe
imul rcx, rax, 0xffffffff86dd75e9
shr rcx, 0x20
add ecx, eax
mov edx, ecx
shr edx, 0x1f
sar ecx, 0xc
add ecx, edx
imul ecx, ecx, 0x1e5f
sub eax, ecx
mov dword [r14 + r12*4], eax
call sub.msvcrt.dll_rand
inc r12
cmp r12, 0x112
jne 0x140002170
mov rcx, r14
call sym.operator_delete_void_
inc r15d
cmp r15d, 0x66d
jne 0x140002160
xor r15d, r15d
nop word cs:[rax + rax]
mov ecx, 0x19958
call sym.operator_new___unsigned_long_long_
mov r14, rax
xor r12d, r12d
call sub.msvcrt.dll_rand
cdqe
imul rcx, rax, 0x7a156681
mov rdx, rcx
shr rdx, 0x3f
sar rcx, 0x2c
add ecx, edx
imul ecx, ecx, 0x218d
sub eax, ecx
mov dword [r14 + r12*4], eax
call sub.msvcrt.dll_rand
inc r12
cmp r12, 0xad
jne 0x1400021e0
mov rcx, r14
call sym.operator_delete_void_
inc r15d
cmp r15d, 0x720
jne 0x1400021d0
xor r15d, r15d
nop
mov ecx, 0x22bb4
call sym.operator_new___unsigned_long_long_
mov r14, rax
xor r12d, r12d
call sub.msvcrt.dll_rand
cdqe
imul rcx, rax, 0x2362f8d
mov rdx, rcx
shr rdx, 0x3f
sar rcx, 0x26
add ecx, edx
imul ecx, ecx, 0x1cf0
sub eax, ecx
mov dword [r14 + r12*4], eax
call sub.msvcrt.dll_rand
inc r12
cmp r12, 0x1aa
jne 0x140002240
mov rcx, r14
call sym.operator_delete_void_
inc r15d
cmp r15d, 0x908
jne 0x140002230
xor r15d, r15d
nop
mov ecx, 0xf93c
call sym.operator_new___unsigned_long_long_
mov r14, rax
xor r12d, r12d
call sub.msvcrt.dll_rand
cdqe
imul rcx, rax, 0x2ac72f75
mov rdx, rcx
shr rdx, 0x3f
sar rcx, 0x2b
add ecx, edx
imul ecx, ecx, 0x2fe0
sub eax, ecx
mov dword [r14 + r12*4], eax
call sub.msvcrt.dll_rand
inc r12
cmp r12, 0x1b6
jne 0x1400022a0
mov rcx, r14
call sym.operator_delete_void_
inc r15d
cmp r15d, 0xa44
jne 0x140002290
xor r15d, r15d
nop
mov ecx, 0x14294
call sym.operator_new___unsigned_long_long_
mov r14, rax
xor r12d, r12d
call sub.msvcrt.dll_rand
cdqe
imul rcx, rax, 0x5637a76d
mov rdx, rcx
shr rdx, 0x3f
sar rcx, 0x2b
add ecx, edx
imul ecx, ecx, 0x17c1
sub eax, ecx
mov dword [r14 + r12*4], eax
call sub.msvcrt.dll_rand
inc r12
cmp r12, 0x16b
jne 0x140002300
mov rcx, r14
call sym.operator_delete_void_
inc r15d
cmp r15d, 0x877
jne 0x1400022f0
test rdi, rdi
je 0x1400023b6
xor eax, eax
xor ecx, ecx
xor edx, edx
nop word [rax + rax]
lea r8d, [rcx + 1]
lea r9d, [rcx + 0x100]
test r8d, r8d
cmovns r9d, r8d
and r9d, 0xffffff00
neg r9d
add ecx, r9d
inc ecx
movsxd r8, ecx
movzx r9d, byte [rsi + r8]
add dl, r9b
movzx r10d, dl
movzx r11d, byte [rsi + r10]
mov byte [rsi + r8], r11b
mov byte [rsi + r10], r9b
add r9b, byte [rsi + r8]
movzx r8d, r9b
movzx r8d, byte [rsi + r8]
xor byte [rbx + rax], r8b
inc rax
cmp rdi, rax
jne 0x140002360
xor ebx, ebx
nop dword [rax + rax]
mov ecx, 0x237a0
call sym.operator_new___unsigned_long_long_
mov rdi, rax
xor r14d, r14d
call sub.msvcrt.dll_rand
cdqe
imul rcx, rax, 0x3f368241
mov rdx, rcx
shr rdx, 0x3f
sar rcx, 0x2b
add ecx, edx
imul ecx, ecx, 0x2066
sub eax, ecx
mov dword [rdi + r14*4], eax
call sub.msvcrt.dll_rand
inc r14
cmp r14, 0xb2
jne 0x1400023d0
mov rcx, rdi
call sym.operator_delete_void_
inc ebx
cmp ebx, 0xa86
jne 0x1400023c0
xor ebx, ebx
nop dword [rax]
mov ecx, 0x256e0
call sym.operator_new___unsigned_long_long_
mov rdi, rax
xor r14d, r14d
call sub.msvcrt.dll_rand
cdqe
imul rcx, rax, 0x2aecd7cd
mov rdx, rcx
shr rdx, 0x3f
sar rcx, 0x2a
add ecx, edx
imul ecx, ecx, 0x17db
sub eax, ecx
mov dword [rdi + r14*4], eax
call sub.msvcrt.dll_rand
inc r14
cmp r14, 0xd1
jne 0x140002430
mov rcx, rdi
call sym.operator_delete_void_
inc ebx
cmp ebx, 0x846
jne 0x140002420
xor ebx, ebx
nop dword [rax]
mov ecx, 0x23a58
call sym.operator_new___unsigned_long_long_
mov rdi, rax
xor r14d, r14d
call sub.msvcrt.dll_rand
cdqe
imul rcx, rax, 0x4a41a9d1
mov rdx, rcx
shr rdx, 0x3f
sar rcx, 0x2c
add ecx, edx
imul ecx, ecx, 0x3729
sub eax, ecx
mov dword [rdi + r14*4], eax
call sub.msvcrt.dll_rand
inc r14
cmp r14, 0x1db
jne 0x140002490
mov rcx, rdi
call sym.operator_delete_void_
inc ebx
cmp ebx, 0x9c4
jne 0x140002480
xor ebx, ebx
nop dword [rax]
mov ecx, 0x21ed4
call sym.operator_new___unsigned_long_long_
mov rdi, rax
xor r14d, r14d
call sub.msvcrt.dll_rand
cdqe
imul rcx, rax, 0x3405e4ab
mov rdx, rcx
shr rdx, 0x3f
sar rcx, 0x2b
add ecx, edx
imul ecx, ecx, 0x275e
sub eax, ecx
mov dword [rdi + r14*4], eax
call sub.msvcrt.dll_rand
inc r14
cmp r14, 0x161
jne 0x1400024f0
mov rcx, rdi
call sym.operator_delete_void_
inc ebx
cmp ebx, 0x7ea
jne 0x1400024e0
xor ebx, ebx
nop dword [rax]
mov ecx, 0xf084
call sym.operator_new___unsigned_long_long_
mov rdi, rax
xor r14d, r14d
call sub.msvcrt.dll_rand
cdqe
imul rcx, rax, 0x7c6e369f
mov rdx, rcx
shr rdx, 0x3f
sar rcx, 0x2c
add ecx, edx
imul ecx, ecx, 0x20eb
sub eax, ecx
mov dword [rdi + r14*4], eax
call sub.msvcrt.dll_rand
inc r14
cmp r14, 0xf5
jne 0x140002550
mov rcx, rdi
call sym.operator_delete_void_
inc ebx
cmp ebx, 0x6ec
jne 0x140002540
xor ebx, ebx
nop dword [rax]
mov ecx, 0x1e9c8
call sym.operator_new___unsigned_long_long_
mov rdi, rax
xor r14d, r14d
call sub.msvcrt.dll_rand
cdqe
imul rcx, rax, 0xffffffff9ee633c1
shr rcx, 0x20
add ecx, eax
mov edx, ecx
shr edx, 0x1f
sar ecx, 0xc
add ecx, edx
imul ecx, ecx, 0x19c7
sub eax, ecx
mov dword [rdi + r14*4], eax
call sub.msvcrt.dll_rand
inc r14
cmp r14, 0x9d
jne 0x1400025b0
mov rcx, rdi
call sym.operator_delete_void_
inc ebx
cmp ebx, 0x8ef
jne 0x1400025a0
xor ebx, ebx
nop
mov ecx, 0x12d44
call sym.operator_new___unsigned_long_long_
mov rdi, rax
xor r14d, r14d
call sub.msvcrt.dll_rand
cdqe
imul rcx, rax, 0x689b467d
mov rdx, rcx
shr rdx, 0x3f
sar rcx, 0x2b
add ecx, edx
imul ecx, ecx, 0x1394
sub eax, ecx
mov dword [rdi + r14*4], eax
call sub.msvcrt.dll_rand
inc r14
cmp r14, 0x1e9
jne 0x140002610
mov rcx, rdi
call sym.operator_delete_void_
inc ebx
cmp ebx, 0x955
jne 0x140002600
xor ebx, ebx
nop dword [rax]
mov ecx, 0xbcd4
call sym.operator_new___unsigned_long_long_
mov rdi, rax
xor r14d, r14d
call sub.msvcrt.dll_rand
cdqe
imul rcx, rax, 0x7af8a501
mov rdx, rcx
shr rdx, 0x3f
sar rcx, 0x2c
add ecx, edx
imul ecx, ecx, 0x214f
sub eax, ecx
mov dword [rdi + r14*4], eax
call sub.msvcrt.dll_rand
inc r14
cmp r14, 0x152
jne 0x140002670
mov rcx, rdi
call sym.operator_delete_void_
inc ebx
cmp ebx, 0x716
jne 0x140002660
xor ebx, ebx
nop dword [rax]
mov ecx, 0x21070
call sym.operator_new___unsigned_long_long_
mov rdi, rax
xor r14d, r14d
call sub.msvcrt.dll_rand
cdqe
imul rcx, rax, 0xffffffffab8f69e3
shr rcx, 0x20
add ecx, eax
mov edx, ecx
shr edx, 0x1f
sar ecx, 0xc
add ecx, edx
imul ecx, ecx, 0x17e0
sub eax, ecx
mov dword [rdi + r14*4], eax
call sub.msvcrt.dll_rand
inc r14
cmp r14, 0x1cd
jne 0x1400026d0
mov rcx, rdi
call sym.operator_delete_void_
inc ebx
cmp ebx, 0x7c8
jne 0x1400026c0
xor ebx, ebx
nop
mov ecx, 0xdea4
call sym.operator_new___unsigned_long_long_
mov rdi, rax
xor r14d, r14d
call sub.msvcrt.dll_rand
cdqe
imul rcx, rax, 0xffffffffa1a48605
shr rcx, 0x20
add ecx, eax
mov edx, ecx
shr edx, 0x1f
sar ecx, 0xc
add ecx, edx
imul ecx, ecx, 0x1957
sub eax, ecx
mov dword [rdi + r14*4], eax
call sub.msvcrt.dll_rand
inc r14
cmp r14, 0xac
jne 0x140002730
mov rcx, rdi
call sym.operator_delete_void_
inc ebx
cmp ebx, 0x989
jne 0x140002720
mov rcx, rsi
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp sym.operator_delete_void_