Function at 0x14003cb70
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x48
mov r14, r9
mov rdi, r8
mov esi, edx
mov rbx, rcx
mov rax, qword [0x140129050]
xor rax, rsp
mov qword [rsp + 0x40], rax
call fcn.140043580
mov r13, rax
lea rcx, [rax + 0x18]
lea rdx, str._s__d:
mov r8, rdi
mov r9d, esi
call fcn.140042970
mov rcx, rbx
mov rdx, r13
call fcn.140079030
lea r8, str.SoftwareSimonTathamPuTTYSshHostKeys
xor ecx, ecx
mov rdx, 0xffffffff80000001
xor r9d, r9d
call fcn.140045e20
test rax, rax
je 0x14003cc16
mov r12, rax
mov rdx, qword [r13]
mov rcx, rax
call fcn.140046100
test rax, rax
je 0x14003cc25
mov rsi, rax
mov rcx, r12
call sub.ADVAPI32.dll_RegCloseKey
mov rcx, rsi
mov rdx, r14
call fcn.1400cdf30
xor edi, edi
test eax, eax
setne dil
add edi, edi
jmp 0x14003cc47
mov rcx, r13
call fcn.140043680
mov edi, 1
jmp 0x14003cc57
lea rdx, [0x14010ca43]
mov rcx, rdi
call fcn.1400cdf30
test eax, eax
je 0x14003cc77
mov rcx, r12
call sub.ADVAPI32.dll_RegCloseKey
mov edi, 1
xor esi, esi
mov rcx, rsi
call fcn.140042f50
mov rcx, r13
call fcn.140043680
mov rcx, qword [rsp + 0x40]
xor rcx, rsp
call fcn.1400b8cc0
mov eax, edi
add rsp, 0x48
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rsi, qword [r13]
lea rdx, [0x1401109ac]
mov rcx, rsi
call fcn.1400cdfa0
lea rdx, [rsi + rax]
add rdx, 1
mov rcx, r12
call fcn.140046100
mov rdi, rax
test rax, rax
je 0x14003ce16
call fcn.140043580
mov rbx, rax
mov qword [rsp + 0x28], rax
add rbx, 0x18
lea r15, [0x140102b2b]
mov qword [rsp + 0x30], r15
mov qword [rsp + 0x38], 2
lea rdx, [rsp + 0x30]
mov rcx, rbx
call fcn.1400424c0
lea rdx, [0x140111d67]
mov rcx, rdi
call fcn.1400cdfa0
mov edx, eax
nop word [rax + rax]
lea ecx, [rdx - 1]
movsxd rsi, ecx
xor rsi, 3
cmp byte [rdi + rsi], 0x30
jne 0x14003cd07
cmp edx, 1
mov edx, ecx
jg 0x14003ccf0
lea esi, [rax + 3]
test eax, eax
cmovns esi, eax
sar esi, 2
lea eax, [rcx + 1]
test eax, eax
jle 0x14003cd41
nop dword [rax]
movsxd rbp, ecx
mov rax, rbp
xor rax, 3
movzx edx, byte [rdi + rax]
mov rcx, rbx
call fcn.140042560
lea ecx, [rbp - 1]
add ebp, 1
cmp ebp, 1
ja 0x14003cd20
movsxd rax, esi
lea rsi, [rdi + rax*4]
cmp byte [rdi + rax*4], 0
je 0x14003cd5c
add rsi, 1
mov rcx, rbx
mov dl, 0x2c
call fcn.140042560
mov qword [rsp + 0x30], r15
mov qword [rsp + 0x38], 2
lea rdx, [rsp + 0x30]
mov rcx, rbx
call fcn.1400424c0
lea rdx, [0x140111d67]
mov rcx, rsi
call fcn.1400cdfa0
mov edx, eax
nop dword [rax + rax]
lea ecx, [rdx - 1]
movsxd rbp, ecx
xor rbp, 3
cmp byte [rsi + rbp], 0x30
jne 0x14003cda7
cmp edx, 1
mov edx, ecx
jg 0x14003cd90
lea ebp, [rax + 3]
test eax, eax
cmovns ebp, eax
sar ebp, 2
lea eax, [rcx + 1]
test eax, eax
jle 0x14003cde4
nop dword [rax]
movsxd r15, ecx
mov rax, r15
xor rax, 3
movzx edx, byte [rsi + rax]
mov rcx, rbx
call fcn.140042560
lea ecx, [r15 - 1]
add r15d, 1
cmp r15d, 1
ja 0x14003cdc0
movsxd rax, ebp
cmp byte [rsi + rax*4], 0
je 0x14003cdf7
mov rcx, rbx
mov dl, 0x2c
call fcn.140042560
mov rbx, qword [rsp + 0x28]
mov rsi, qword [rbx]
mov rcx, rsi
mov rdx, r14
call fcn.1400cdf30
test eax, eax
je 0x14003ce1a
mov rcx, rbx
call fcn.140043680
xor esi, esi
jmp 0x14003ce34
mov rdx, qword [r13]
mov rcx, r12
mov r8, rsi
call fcn.1400461f0
mov rcx, rbx
call fcn.1400436c0
mov rsi, rax
mov rcx, rdi
call fcn.140042f50
mov rcx, r12
call sub.ADVAPI32.dll_RegCloseKey
test rsi, rsi
jne 0x14003cbff
jmp 0x14003cc40