Function at 0x14007fe30
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x68
mov r15, qword [rsp + 0xd0]
mov eax, 1
mov r14, r9
mov r12, r8
mov r13, qword [r15]
cmp qword [r9], r13
cmova r13, qword [r9]
cmp r13, rax
cmovb r13, rax
mov rcx, r13
call fcn.140082f90
mov rcx, r13
mov rbx, rax
call fcn.140082f90
mov rsi, qword [r14]
mov rbp, rax
cmp qword [rbx], rsi
mov rdx, qword [r14 + 8]
cmovb rsi, qword [rbx]
mov rcx, qword [rbx + 8]
lea rdi, [rsi*8]
mov r8, rdi
call sub.VCRUNTIME140.dll_memmove
mov rdx, qword [rbx]
mov rcx, qword [rbx + 8]
sub rdx, rsi
shl rdx, 3
add rcx, rdi
call fcn.1400abcc0
mov rsi, qword [r15]
cmp qword [rbp], rsi
mov rdx, qword [r15 + 8]
cmovb rsi, qword [rbp]
mov rcx, qword [rbp + 8]
lea rdi, [rsi*8]
mov r8, rdi
call sub.VCRUNTIME140.dll_memmove
mov rdx, qword [rbp]
mov rcx, qword [rbp + 8]
sub rdx, rsi
shl rdx, 3
add rcx, rdi
call fcn.1400abcc0
lea rcx, [r13 + 1]
call fcn.140082f90
lea rcx, [r13 + 1]
mov qword [rsp + 0x30], rax
mov r14, rax
call fcn.140082f90
mov rcx, r13
mov qword [rsp + 0x38], rax
mov r15, rax
call fcn.140082f90
shl r13, 7
mov qword [rsp + 0x28], rax
mov qword [rsp + 0xd0], r13
lea rcx, [r13*2]
shr rcx, 6
call fcn.140082f90
mov qword [rsp + 0x20], rax
mov qword [rsp + 0xc8], 0
test r13, r13
je 0x1400801aa
mov r15, rax
mov r14, r13
nop dword [rax + rax]
mov rdi, qword [rbx]
mov r9b, 1
mov r11, qword [rbp]
mov r10, rdi
cmp r11, rdi
cmova r10, r11
xor ecx, ecx
test r10, r10
je 0x14007ffce
nop dword [rax + rax]
cmp rcx, r11
jae 0x14007ff9f
mov rax, qword [rbp + 8]
mov r8, qword [rax + rcx*8]
jmp 0x14007ffa2
xor r8d, r8d
cmp rcx, rdi
jae 0x14007ffb1
mov rax, qword [rbx + 8]
mov rdx, qword [rax + rcx*8]
jmp 0x14007ffb3
xor edx, edx
add r9b, 0xff
not rdx
adc r8, rdx
mov qword [rsp + 0x40], r8
setb r9b
inc rcx
cmp rcx, r10
jb 0x14007ff90
mov rax, qword [rbx + 8]
movzx r12d, r9b
mov ecx, dword [rax]
mov edx, ecx
mov rax, qword [rbp + 8]
and edx, 1
xor r12d, edx
mov edi, dword [rax]
and edi, ecx
mov rcx, rbx
and edi, 1
and r12d, edi
xor r12d, edx
mov rdx, rbp
mov r8d, r12d
call fcn.140080b60
mov rdx, qword [rbx]
xor ecx, ecx
mov r11, qword [rbx + 8]
mov rsi, rdx
mov r13d, edi
neg rdi
movzx r10d, dil
and r10b, 1
test rdx, rdx
je 0x140080078
nop
cmp rcx, rdx
jae 0x14008002f
mov rax, qword [rbx + 8]
mov r9, qword [rax + rcx*8]
jmp 0x140080032
xor r9d, r9d
cmp rcx, qword [rbp]
jae 0x140080042
mov rax, qword [rbp + 8]
mov r8, qword [rax + rcx*8]
jmp 0x140080045
xor r8d, r8d
not r8
mov rax, rdx
and r8, rdi
add r10b, 0xff
adc r9, r8
mov qword [rsp + 0x48], r9
setb r10b
test r11, r11
je 0x14008006d
mov qword [r11 + rcx*8], r9
mov rdx, qword [rbx]
mov rax, rdx
inc rcx
cmp rcx, rsi
jb 0x140080020
mov rdx, rax
xor ecx, ecx
test rdx, rdx
je 0x1400800d1
cmp rcx, rdx
jae 0x14008008e
mov rax, qword [rbx + 8]
mov rdx, qword [rax + rcx*8]
jmp 0x140080090
xor edx, edx
mov rax, qword [rbx + 8]
lea r8, [rcx*8]
mov qword [r8 + rax], rdx
mov rax, qword [rbx + 8]
shr qword [rax + r8], 1
inc rcx
cmp rcx, qword [rbx]
jae 0x1400800bb
mov rax, qword [rbx + 8]
mov rdx, qword [r8 + rax + 8]
jmp 0x1400800bd
xor edx, edx
mov rax, qword [rbx + 8]
shl rdx, 0x3f
or qword [rax + r8], rdx
mov rdx, qword [rbx]
cmp rcx, rdx
jb 0x140080084
mov rsi, qword [rsp + 0xc8]
add rsi, rsi
mov rdi, rsi
shr rdi, 6
cmp rdi, qword [r15]
jb 0x140080102
mov r8d, 0x140
lea rdx, str.C:Usersyangjun04Downloadsputty_srccryptompint.c
lea rcx, str.word___x__nw
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
mov rax, qword [r15 + 8]
mov ecx, esi
mov rdx, qword [rax + rdi*8]
lea r8, [rax + rdi*8]
and ecx, 0x3f
mov eax, ecx
btr rdx, rax
shl r13, cl
mov qword [r8], rdx
mov rax, qword [r15 + 8]
or qword [rax + rdi*8], r13
lea rdi, [rsi + 1]
mov rsi, rdi
shr rsi, 6
cmp rsi, qword [r15]
jb 0x140080151
mov r8d, 0x140
lea rdx, str.C:Usersyangjun04Downloadsputty_srccryptompint.c
lea rcx, str.word___x__nw
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
mov rax, qword [r15 + 8]
and edi, 0x3f
mov rdx, qword [rax + rsi*8]
lea r8, [rax + rsi*8]
mov eax, edi
mov ecx, edi
btr rdx, rax
mov qword [r8], rdx
mov rax, qword [r15 + 8]
lea rdx, [rax + rsi*8]
mov eax, r12d
shl rax, cl
or qword [rdx], rax
mov rax, qword [rsp + 0xc8]
inc rax
mov qword [rsp + 0xc8], rax
cmp rax, r14
jb 0x14007ff70
mov r14, qword [rsp + 0x30]
mov r15, qword [rsp + 0x38]
mov r12, qword [rsp + 0xc0]
test r12, r12
je 0x1400801bd
mov r8, rbp
mov rdx, rbx
mov rcx, r12
call fcn.14007fd30
cmp qword [rsp + 0xb0], 0
jne 0x1400801d7
cmp qword [rsp + 0xb8], 0
je 0x1400807f5
cmp qword [rbx], 0
jbe 0x1400801e6
mov rax, qword [rbx + 8]
mov rcx, qword [rax]
jmp 0x1400801e8
xor ecx, ecx
mov rax, qword [r14 + 8]
and ecx, 1
mov qword [rax], rcx
cmp qword [rbp], 0
jbe 0x140080202
mov rax, qword [rbp + 8]
mov rcx, qword [rax]
jmp 0x140080204
xor ecx, ecx
mov rax, qword [r15 + 8]
and ecx, 1
mov qword [rax], rcx
mov rsi, qword [r14]
cmp qword [rbx], rsi
mov rdx, qword [r14 + 8]
cmovb rsi, qword [rbx]
mov rcx, qword [rbx + 8]
lea rdi, [rsi*8]
mov r8, rdi
call sub.VCRUNTIME140.dll_memmove
mov rdx, qword [rbx]
mov rcx, qword [rbx + 8]
sub rdx, rsi
shl rdx, 3
add rcx, rdi
call fcn.1400abcc0
mov rsi, qword [r15]
cmp qword [rbp], rsi
mov rdx, qword [r15 + 8]
cmovb rsi, qword [rbp]
mov rcx, qword [rbp + 8]
lea rdi, [rsi*8]
mov r8, rdi
call sub.VCRUNTIME140.dll_memmove
mov rdx, qword [rbp]
mov rcx, qword [rbp + 8]
sub rdx, rsi
shl rdx, 3
add rcx, rdi
call fcn.1400abcc0
mov rax, qword [rbp + 8]
mov rcx, qword [rsp + 0xd0]
mov r13d, dword [rax]
test rcx, rcx
je 0x1400805ff
nop dword [rax]
dec rcx
mov qword [rsp + 0xd0], rcx
lea r8, [rcx + rcx]
mov rcx, qword [rsp + 0x20]
mov rax, r8
shr rax, 6
mov r9, qword [rcx]
mov rdx, qword [rcx + 8]
cmp rax, r9
jae 0x1400802cd
mov rsi, qword [rdx + rax*8]
jmp 0x1400802cf
xor esi, esi
movzx ecx, r8b
and cl, 0x3f
shr rsi, cl
inc r8
mov rax, r8
shr rax, 6
cmp rax, r9
jae 0x1400802ee
mov r12, qword [rdx + rax*8]
jmp 0x1400802f1
xor r12d, r12d
mov r10, qword [r14 + 8]
movzx ecx, r8b
mov rdi, qword [r14]
and cl, 0x3f
shr r12, cl
xor r9b, r9b
and r12d, 1
xor ecx, ecx
mov r11d, dword [r10]
and r11d, 1
neg r11
test rdi, rdi
je 0x14008036b
nop word [rax + rax]
cmp rcx, qword [r14]
jae 0x14008032f
mov rax, qword [r14 + 8]
mov rdx, qword [rax + rcx*8]
jmp 0x140080331
xor edx, edx
cmp rcx, qword [rbp]
jae 0x140080341
mov rax, qword [rbp + 8]
mov r8, qword [rax + rcx*8]
jmp 0x140080344
xor r8d, r8d
and r8, r11
add r9b, 0xff
adc rdx, r8
mov qword [rsp + 0xc8], rdx
setb r9b
test r10, r10
je 0x140080363
mov qword [r10 + rcx*8], rdx
inc rcx
cmp rcx, rdi
jb 0x140080320
mov rdi, qword [r15]
xor r9b, r9b
mov r10, qword [r15 + 8]
xor ecx, ecx
test rdi, rdi
je 0x1400803c7
nop dword [rax]
cmp rcx, qword [r15]
jae 0x14008038f
mov rax, qword [r15 + 8]
mov rdx, qword [rax + rcx*8]
jmp 0x140080391
xor edx, edx
cmp rcx, qword [rbx]
jae 0x1400803a0
mov rax, qword [rbx + 8]
mov r8, qword [rax + rcx*8]
jmp 0x1400803a3
xor r8d, r8d
and r8, r11
add r9b, 0xff
adc rdx, r8
mov qword [rsp + 0x38], rdx
setb r9b
test r10, r10
je 0x1400803bf
mov qword [r10 + rcx*8], rdx
inc rcx
cmp rcx, rdi
jb 0x140080380
mov rax, qword [r14]
xor ecx, ecx
test rax, rax
je 0x140080423
cmp rcx, rax
jae 0x1400803e0
mov rax, qword [r14 + 8]
mov rdx, qword [rax + rcx*8]
jmp 0x1400803e2
xor edx, edx
mov rax, qword [r14 + 8]
lea r8, [rcx*8]
mov qword [r8 + rax], rdx
mov rax, qword [r14 + 8]
shr qword [r8 + rax], 1
inc rcx
cmp rcx, qword [r14]
jae 0x14008040d
mov rax, qword [r14 + 8]
mov rdx, qword [r8 + rax + 8]
jmp 0x14008040f
xor edx, edx
mov rax, qword [r14 + 8]
shl rdx, 0x3f
or qword [r8 + rax], rdx
mov rax, qword [r14]
cmp rcx, rax
jb 0x1400803d6
mov r11, qword [r15]
and esi, 1
mov r10, qword [r15 + 8]
neg rsi
xor r9b, r9b
xor ecx, ecx
test r11, r11
je 0x140080487
nop word [rax + rax]
cmp rcx, qword [r15]
jae 0x14008044f
mov rax, qword [r15 + 8]
mov rdx, qword [rax + rcx*8]
jmp 0x140080451
xor edx, edx
cmp rcx, qword [r14]
jae 0x140080460
mov rax, qword [r14 + 8]
mov r8, qword [rax + rcx*8]
jmp 0x140080463
xor r8d, r8d
and r8, rsi
add r9b, 0xff
adc rdx, r8
mov qword [rsp + 0x30], rdx
setb r9b
test r10, r10
je 0x14008047f
mov qword [r10 + rcx*8], rdx
inc rcx
cmp rcx, r11
jb 0x140080440
mov r8d, 1
mov rdx, rbx
mov rcx, rbx
call fcn.140082e90
mov r9, qword [rbx]
xor r10b, r10b
mov r11, qword [rbx + 8]
xor ecx, ecx
mov rdi, r9
test r9, r9
je 0x140080504
nop dword [rax]
cmp rcx, r9
jae 0x1400804bf
mov rax, qword [rbx + 8]
mov rdx, qword [rax + rcx*8]
jmp 0x1400804c1
xor edx, edx
cmp rcx, qword [rbp]
jae 0x1400804d1
mov rax, qword [rbp + 8]
mov r8, qword [rax + rcx*8]
jmp 0x1400804d4
xor r8d, r8d
and r8, rsi
mov rax, r9
add r10b, 0xff
adc rdx, r8
mov qword [rsp + 0x50], rdx
setb r10b
test r11, r11
je 0x1400804f9
mov qword [r11 + rcx*8], rdx
mov r9, qword [rbx]
mov rax, r9
inc rcx
cmp rcx, rdi
jb 0x1400804b0
mov r9, rax
cmp r9, qword [rbp]
je 0x140080524
mov r8d, 0xa6
lea rdx, str.C:Usersyangjun04Downloadsputty_srccryptompint.c
lea rcx, str.x0__nw__x1__nw
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
mov edi, r12d
xor r8d, r8d
neg rdi
mov qword [rsp + 0xc0], rdi
cmp qword [rbx], r8
jbe 0x140080573
nop word [rax + rax]
mov rcx, qword [rbx + 8]
mov rax, qword [rbp + 8]
mov rdx, qword [rcx + r8*8]
xor rdx, qword [rax + r8*8]
mov rcx, qword [rsp + 0xc0]
mov rax, qword [rbx + 8]
and rcx, rdx
xor qword [rax + r8*8], rcx
mov rax, qword [rbp + 8]
xor qword [rax + r8*8], rcx
inc r8
cmp r8, qword [rbx]
jb 0x140080540
mov rax, qword [r15]
cmp qword [r14], rax
je 0x140080595
mov r8d, 0xa6
lea rdx, str.C:Usersyangjun04Downloadsputty_srccryptompint.c
lea rcx, str.x0__nw__x1__nw
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
mov rax, qword [r14]
xor r8d, r8d
mov qword [rsp + 0xc0], rdi
mov rdx, rax
test rax, rax
je 0x1400805e9
nop dword [rax + rax]
mov rcx, qword [r14 + 8]
mov rax, qword [r15 + 8]
mov rdx, qword [rcx + r8*8]
xor rdx, qword [rax + r8*8]
mov rcx, qword [rsp + 0xc0]
mov rax, qword [r14 + 8]
and rcx, rdx
xor qword [rax + r8*8], rcx
mov rax, qword [r15 + 8]
xor qword [rax + r8*8], rcx
inc r8
mov rax, qword [r14]
mov rdx, rax
cmp r8, rax
jb 0x1400805b0
mov rcx, qword [rsp + 0xd0]
xor r13d, r12d
test rcx, rcx
jne 0x1400802a0
jmp 0x140080605
mov rax, qword [r14]
mov rdx, rax
mov r12, qword [rsp + 0x28]
xor ecx, ecx
mov r11b, 1
mov r10, qword [r12]
mov rdi, qword [r12 + 8]
test r10, r10
je 0x140080671
nop dword [rax]
cmp rcx, qword [rbp]
jae 0x140080630
mov rax, qword [rbp + 8]
mov r9, qword [rax + rcx*8]
jmp 0x140080633
xor r9d, r9d
cmp rcx, rdx
jae 0x140080642
mov rax, qword [r14 + 8]
mov r8, qword [rax + rcx*8]
jmp 0x140080645
xor r8d, r8d
add r11b, 0xff
not r8
mov rax, rdx
adc r9, r8
setb r11b
test rdi, rdi
je 0x140080665
mov qword [rdi + rcx*8], r9
mov rdx, qword [r14]
mov rax, rdx
inc rcx
cmp rcx, r10
jb 0x140080620
mov r10, qword [r12]
mov r11d, r13d
xor edx, edx
and r11d, 1
neg r11
test rax, rax
je 0x1400806c7
cmp rdx, rax
jae 0x140080691
mov rax, qword [r14 + 8]
mov r8, qword [rax + rdx*8]
jmp 0x140080694
xor r8d, r8d
cmp rdx, qword [r12]
jae 0x1400806a5
mov rax, qword [r12 + 8]
mov rcx, qword [rax + rdx*8]
jmp 0x1400806a7
xor ecx, ecx
mov rax, qword [r14 + 8]
xor rcx, r8
and rcx, r11
xor rcx, r8
mov qword [rax + rdx*8], rcx
inc rdx
mov rax, qword [r14]
cmp rdx, rax
jb 0x140080687
mov r10, qword [r12]
mov rdi, qword [r12 + 8]
xor ecx, ecx
mov r9b, 1
test r10, r10
je 0x140080718
cmp rcx, qword [rbx]
jae 0x1400806e5
mov rax, qword [rbx + 8]
mov rdx, qword [rax + rcx*8]
jmp 0x1400806e7
xor edx, edx
cmp rcx, qword [r15]
jae 0x1400806f6
mov rax, qword [r15 + 8]
mov r8, qword [rax + rcx*8]
jmp 0x1400806f9
xor r8d, r8d
add r9b, 0xff
not r8
adc rdx, r8
setb r9b
test rdi, rdi
je 0x140080710
mov qword [rdi + rcx*8], rdx
inc rcx
cmp rcx, r10
jb 0x1400806d6
mov rsi, qword [r15]
xor edx, edx
test rsi, rsi
je 0x140080763
cmp rdx, rsi
jae 0x140080731
mov rax, qword [r15 + 8]
mov r8, qword [rax + rdx*8]
jmp 0x140080734
xor r8d, r8d
cmp rdx, qword [r12]
jae 0x140080745
mov rax, qword [r12 + 8]
mov rcx, qword [rax + rdx*8]
jmp 0x140080747
xor ecx, ecx
mov rax, qword [r15 + 8]
xor rcx, r8
and rcx, r11
xor rcx, r8
mov qword [rax + rdx*8], rcx
inc rdx
mov rsi, qword [r15]
cmp rdx, rsi
jb 0x140080727
mov r13, qword [rsp + 0xb0]
test r13, r13
je 0x1400807ae
mov rsi, qword [r14]
cmp qword [r13], rsi
mov rdx, qword [r14 + 8]
cmovb rsi, qword [r13]
mov rcx, qword [r13 + 8]
lea rdi, [rsi*8]
mov r8, rdi
call sub.VCRUNTIME140.dll_memmove
mov rdx, qword [r13]
mov rcx, qword [r13 + 8]
sub rdx, rsi
shl rdx, 3
add rcx, rdi
call fcn.1400abcc0
mov rsi, qword [r15]
mov r13, qword [rsp + 0xb8]
test r13, r13
je 0x1400807fa
cmp qword [r13], rsi
mov rdx, qword [r15 + 8]
cmovb rsi, qword [r13]
mov rcx, qword [r13 + 8]
lea rdi, [rsi*8]
mov r8, rdi
call sub.VCRUNTIME140.dll_memmove
mov rdx, qword [r13]
mov rcx, qword [r13 + 8]
sub rdx, rsi
shl rdx, 3
add rcx, rdi
call fcn.1400abcc0
jmp 0x1400807fa
mov r12, qword [rsp + 0x28]
mov rdx, qword [rbx]
mov rcx, qword [rbx + 8]
shl rdx, 3
call fcn.1400abcc0
mov edx, 0x10
mov rcx, rbx
call fcn.1400abcc0
mov rcx, rbx
call fcn.1400a62e0
mov rdx, qword [rbp]
mov rcx, qword [rbp + 8]
shl rdx, 3
call fcn.1400abcc0
mov edx, 0x10
mov rcx, rbp
call fcn.1400abcc0
mov rcx, rbp
call fcn.1400a62e0
mov rdx, qword [r14]
mov rcx, qword [r14 + 8]
shl rdx, 3
call fcn.1400abcc0
mov edx, 0x10
mov rcx, r14
call fcn.1400abcc0
mov rcx, r14
call fcn.1400a62e0
mov rdx, qword [r15]
mov rcx, qword [r15 + 8]
shl rdx, 3
call fcn.1400abcc0
mov edx, 0x10
mov rcx, r15
call fcn.1400abcc0
mov rcx, r15
call fcn.1400a62e0
mov rdx, qword [r12]
mov rcx, qword [r12 + 8]
shl rdx, 3
call fcn.1400abcc0
mov edx, 0x10
mov rcx, r12
call fcn.1400abcc0
mov rcx, r12
call fcn.1400a62e0
mov rbx, qword [rsp + 0x20]
mov rdx, qword [rbx]
mov rcx, qword [rbx + 8]
shl rdx, 3
call fcn.1400abcc0
mov edx, 0x10
mov rcx, rbx
call fcn.1400abcc0
mov rcx, rbx
add rsp, 0x68
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
jmp fcn.1400a62e0