Function at 0x1400ad540
Capabilities:
Encode data using xor

Disassembly:
test rcx, rcx
je 0x1400adce0
push rbp
mov rbp, rsp
push r15
push r14
push r13
push r12
push rdi
push rsi
push rbx
and rsp, 0xfffffffffffffff0
sub rsp, 0xe0
mov rbx, qword [0x1403eb520]
mov r10, qword [rbx + 0x20]
test r10, r10
je 0x1400adc6a
mov rsi, rcx
lea r9, [rcx + 0x48]
mov r8, rcx
mov r12d, 0x9e3779b9
mov r11d, 0x9e3779b9
mov ecx, 0xfeedbeef
nop word [rax + rax]
movzx edx, byte [r8 + 5]
movzx eax, byte [r8 + 6]
movzx edi, byte [r8 + 0xa]
shl eax, 0x10
shl edx, 8
add edx, eax
movzx eax, byte [r8 + 4]
shl edi, 0x10
add edx, eax
movzx eax, byte [r8 + 7]
shl eax, 0x18
add edx, eax
movzx eax, byte [r8 + 9]
add edx, r12d
shl eax, 8
add eax, edi
movzx edi, byte [r8 + 8]
add eax, edi
movzx edi, byte [r8 + 0xb]
shl edi, 0x18
add eax, edi
movzx edi, byte [r8 + 2]
add eax, ecx
movzx ecx, byte [r8 + 1]
shl edi, 0x10
shl ecx, 8
add ecx, edi
movzx edi, byte [r8]
add ecx, edi
movzx edi, byte [r8 + 3]
shl edi, 0x18
add ecx, edi
mov edi, eax
sub ecx, edx
shr edi, 0xd
sub edx, eax
sub ecx, eax
add ecx, r11d
xor edi, ecx
mov r12d, edi
sub edx, edi
sub eax, edi
shl r12d, 8
xor r12d, edx
mov r11d, r12d
sub eax, r12d
shr r11d, 0xd
xor r11d, eax
sub edi, r12d
add r8, 0xc
mov ecx, r11d
sub edi, r11d
sub r12d, r11d
shr ecx, 0xc
xor ecx, edi
mov edx, ecx
sub r12d, ecx
sub r11d, ecx
shl edx, 0x10
xor edx, r12d
mov eax, edx
sub r11d, edx
sub ecx, edx
shr eax, 5
xor eax, r11d
mov r11d, eax
sub ecx, eax
sub edx, eax
shr r11d, 3
xor r11d, ecx
mov r12d, r11d
sub edx, r11d
sub eax, r11d
shl r12d, 0xa
xor r12d, edx
mov ecx, r12d
sub eax, r12d
shr ecx, 0xf
xor ecx, eax
cmp r8, r9
jne 0x1400ad598
movzx eax, byte [rsi + 0x4b]
movzx r8d, byte [rsi + 0x4a]
add ecx, 0x4d
movzx edx, byte [rsi + 0x4c]
mov r14, qword [r10 + 0x118]
shl r8d, 0x10
shl eax, 0x18
add eax, r8d
movzx r8d, byte [rsi + 0x48]
add edx, r12d
add eax, r8d
movzx r8d, byte [rsi + 0x49]
shl r8d, 8
add eax, r8d
mov r8d, ecx
add eax, r11d
shr r8d, 0xd
sub eax, edx
sub edx, ecx
sub eax, ecx
xor r8d, eax
mov eax, r8d
sub edx, r8d
sub ecx, r8d
shl eax, 8
xor eax, edx
mov edx, ecx
mov ecx, eax
sub edx, eax
sub r8d, eax
shr ecx, 0xd
xor ecx, edx
mov edx, r8d
mov r8d, ecx
sub edx, ecx
sub eax, ecx
shr r8d, 0xc
xor r8d, edx
mov edx, r8d
sub eax, r8d
sub ecx, r8d
shl edx, 0x10
xor edx, eax
mov eax, edx
sub ecx, edx
shr eax, 5
xor eax, ecx
sub r8d, edx
mov ecx, eax
sub r8d, eax
sub edx, eax
shr ecx, 3
xor ecx, r8d
mov edi, ecx
sub edx, ecx
sub eax, ecx
shl edi, 0xa
xor edi, edx
mov rdx, qword [r14]
sub eax, edi
shr edi, 0xf
xor edi, eax
mov eax, dword [r14 + 8]
mov qword [rsp + 0x68], rdx
sub eax, 1
and eax, edi
shl rax, 4
mov r12, qword [rdx + rax]
test r12, r12
je 0x1400adc6a
mov r13, qword [r14 + 0x20]
mov r15, r13
sub r12, r13
neg r15
jmp 0x1400ad78c
mov r12, qword [r12 + 0x138]
test r12, r12
je 0x1400adc6a
add r12, r15
cmp dword [r12 + 0x14c], edi
jne 0x1400ad778
cmp dword [r12 + 0x148], 0x4d
jne 0x1400ad778
mov rcx, qword [r12 + 0x140]
mov r8d, 0x4d
mov rdx, rsi
call sub.msvcrt.dll_memcmp
test eax, eax
jne 0x1400ad778
mov rax, qword [r12 + 0x120]
lea rcx, [r12 + 0x118]
test rax, rax
je 0x1400adce8
cmp rcx, qword [r14 + 0x18]
je 0x1400adcb0
mov rdx, qword [r12 + 0x128]
mov qword [rax + r13 + 0x10], rdx
mov rdx, qword [rbx + 0x20]
mov rax, qword [r12 + 0x128]
test rax, rax
je 0x1400ad818
mov rdx, qword [rdx + 0x118]
mov r8, qword [r12 + 0x120]
mov rdx, qword [rdx + 0x20]
mov qword [rax + rdx + 8], r8
mov rdx, qword [rbx + 0x20]
mov rdx, qword [rdx + 0x118]
mov eax, dword [rdx + 8]
sub eax, 1
and eax, dword [r12 + 0x14c]
shl rax, 4
add rax, qword [rdx]
sub dword [rax + 8], 1
cmp qword [rax], rcx
je 0x1400add40
mov rax, qword [r12 + 0x130]
test rax, rax
je 0x1400ad85a
mov rdx, qword [r12 + 0x138]
mov qword [rax + 0x20], rdx
mov rax, qword [r12 + 0x138]
test rax, rax
je 0x1400ad873
mov rdx, qword [r12 + 0x130]
mov qword [rax + 0x18], rdx
mov rax, qword [rbx + 0x20]
mov rax, qword [rax + 0x118]
sub dword [rax + 0x10], 1
mov rdx, qword [rbx + 0x28]
mov rax, qword [r12 + 0x158]
lea r8, [r12 + 0x150]
mov rcx, qword [rdx + 0x150]
test rax, rax
je 0x1400add10
cmp r8, qword [rcx + 0x18]
je 0x1400adc80
mov rdx, qword [rcx + 0x20]
mov r9, qword [r12 + 0x160]
mov qword [rax + rdx + 0x10], r9
mov rdx, qword [rbx + 0x28]
mov rax, qword [r12 + 0x160]
test rax, rax
je 0x1400ad8ee
mov rdx, qword [rdx + 0x150]
mov rcx, qword [r12 + 0x158]
mov rdx, qword [rdx + 0x20]
mov qword [rax + rdx + 8], rcx
mov rdx, qword [rbx + 0x28]
mov rdx, qword [rdx + 0x150]
mov eax, dword [rdx + 8]
sub eax, 1
and eax, dword [r12 + 0x184]
shl rax, 4
add rax, qword [rdx]
sub dword [rax + 8], 1
cmp qword [rax], r8
je 0x1400add30
mov rax, qword [r12 + 0x168]
test rax, rax
je 0x1400ad930
mov rdx, qword [r12 + 0x170]
mov qword [rax + 0x20], rdx
mov rax, qword [r12 + 0x170]
test rax, rax
je 0x1400ad949
mov rdx, qword [r12 + 0x168]
mov qword [rax + 0x18], rdx
mov rax, qword [rbx + 0x28]
mov rax, qword [rax + 0x150]
sub dword [rax + 0x10], 1
mov rcx, qword [rsi + 0xd]
mov eax, 0x7830
mov word [rsp + 0x90], ax
lea rax, str.000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFFS
movzx r13d, cl
mov rbx, rcx
mov r10, rcx
mov r8, rcx
movzx edx, word [rax + r13*2]
shr rbx, 0x10
shr r10, 0x20
mov r11, rcx
movzx ebx, bl
movzx r10d, r10b
shr r8, 0x30
mov r9, rcx
movd xmm0, edx
movzx edx, word [rax + rbx*2]
movzx r8d, r8b
movzx edi, ch
shr r11, 0x18
shr rcx, 0x38
pinsrw xmm0, word [rax + rdi*2], 1
movd xmm3, edx
movzx edx, word [rax + r10*2]
shr r9, 0x28
movzx r11d, r11b
movzx r9d, r9b
pinsrw xmm3, word [rax + r11*2], 1
movd xmm1, edx
movzx edx, word [rax + r8*2]
pinsrw xmm1, word [rax + r9*2], 1
punpckldq xmm0, xmm3
movd xmm2, edx
pinsrw xmm2, word [rax + rcx*2], 1
mov rcx, qword [rsi + 0x15]
movzx r13d, cl
mov rbx, rcx
punpckldq xmm1, xmm2
mov r10, rcx
movzx edx, word [rax + r13*2]
shr rbx, 0x10
punpcklqdq xmm0, xmm1
mov r8, rcx
movzx ebx, bl
shr r10, 0x20
mov r11, rcx
mov r9, rcx
shr r8, 0x30
movzx r10d, r10b
movzx edi, ch
shr r11, 0x18
shr rcx, 0x38
movzx r8d, r8b
shr r9, 0x28
movzx r11d, r11b
movups xmmword [rsp + 0x92], xmm0
movd xmm0, edx
movzx edx, word [rax + rbx*2]
movzx r9d, r9b
pinsrw xmm0, word [rax + rdi*2], 1
movd xmm3, edx
movzx edx, word [rax + r10*2]
pinsrw xmm3, word [rax + r11*2], 1
movd xmm1, edx
movzx edx, word [rax + r8*2]
pinsrw xmm1, word [rax + r9*2], 1
punpckldq xmm0, xmm3
movd xmm2, edx
pinsrw xmm2, word [rax + rcx*2], 1
mov rcx, qword [rsi + 0x1d]
movzx r13d, cl
mov rbx, rcx
punpckldq xmm1, xmm2
mov r10, rcx
movzx edx, word [rax + r13*2]
shr rbx, 0x10
punpcklqdq xmm0, xmm1
mov r8, rcx
movzx ebx, bl
shr r10, 0x20
mov r11, rcx
mov r9, rcx
shr r8, 0x30
movzx r10d, r10b
shr r11, 0x18
movzx edi, ch
shr r9, 0x28
movzx r8d, r8b
movzx r11d, r11b
shr rcx, 0x38
movups xmmword [rsp + 0xa2], xmm0
movd xmm0, edx
movzx edx, word [rax + rbx*2]
movzx r9d, r9b
pinsrw xmm0, word [rax + rdi*2], 1
movd xmm3, edx
movzx edx, word [rax + r10*2]
pinsrw xmm3, word [rax + r11*2], 1
movd xmm1, edx
movzx edx, word [rax + r8*2]
pinsrw xmm1, word [rax + r9*2], 1
punpckldq xmm0, xmm3
movd xmm2, edx
pinsrw xmm2, word [rax + rcx*2], 1
mov rdx, qword [rsi + 0x25]
punpckldq xmm1, xmm2
movzx ecx, dl
mov rbx, rdx
mov r10, rdx
punpcklqdq xmm0, xmm1
shr rbx, 0x10
mov r8, rdx
mov r11, rdx
movzx ebx, bl
shr r10, 0x20
mov r9, rdx
movzx esi, dh
movups xmmword [rsp + 0xb2], xmm0
movzx ecx, word [rax + rcx*2]
movzx r10d, r10b
shr r8, 0x30
movzx r8d, r8b
shr r11, 0x18
mov byte [rsp + 0xd2], 0
shr r9, 0x28
movd xmm0, ecx
movzx ecx, word [rax + rbx*2]
movzx r11d, r11b
movzx r9d, r9b
shr rdx, 0x38
pinsrw xmm0, word [rax + rsi*2], 1
movd xmm3, ecx
movzx ecx, word [rax + r10*2]
pinsrw xmm3, word [rax + r11*2], 1
movd xmm1, ecx
movzx ecx, word [rax + r8*2]
pinsrw xmm1, word [rax + r9*2], 1
punpckldq xmm0, xmm3
movd xmm2, ecx
pinsrw xmm2, word [rax + rdx*2], 1
lea rcx, [rsp + 0x70]
punpckldq xmm1, xmm2
punpcklqdq xmm0, xmm1
movups xmmword [rsp + 0xc2], xmm0
movdqu xmm4, xmmword [r12 + 0x10]
movaps xmmword [rsp + 0x70], xmm4
movdqu xmm5, xmmword [r12 + 0x20]
movaps xmmword [rsp + 0x80], xmm5
call fcn.140102870
mov r9d, 2
xor edx, edx
xor ecx, ecx
mov r13, rax
lea r8, [0x1402a2540]
movzx eax, word [r12 + 0x9d]
mov dword [rsp + 0x50], eax
movzx eax, word [r12 + 0x9f]
mov dword [rsp + 0x48], eax
movzx eax, word [r12 + 0xa1]
mov dword [rsp + 0x40], eax
movzx eax, word [r12 + 0xa3]
mov qword [rsp + 0x30], r13
mov dword [rsp + 0x38], eax
lea rax, [rsp + 0x90]
mov qword [rsp + 0x28], rax
lea rax, str.Removed_key_with_fingerprint__s_and_value__s_for_node__04hX::_04hX::_04hX::_04hX
mov qword [rsp + 0x20], rax
call fcn.14005a150
mov rcx, r13
call sub.msvcrt.dll_free
mov rcx, r12
call sub.msvcrt.dll_free
lea rsp, [rbp - 0x38]
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
add rax, qword [rcx + 0x20]
mov qword [rcx + 0x18], rax
mov rax, qword [r12 + 0x158]
test rax, rax
je 0x1400add50
mov rdx, qword [rbx + 0x28]
mov rcx, qword [rdx + 0x150]
jmp 0x1400ad8b0
add rax, r13
mov qword [r14 + 0x18], rax
mov rax, qword [r12 + 0x120]
test rax, rax
je 0x1400add5a
mov rdx, qword [rbx + 0x20]
mov rdx, qword [rdx + 0x118]
mov r13, qword [rdx + 0x20]
jmp 0x1400ad7de
ret
mov rdx, qword [r12 + 0x128]
test rdx, rdx
je 0x1400add89
cmp qword [r14 + 0x18], rcx
je 0x1400adcb0
mov qword [rbx + 0x20], rdx
jmp 0x1400ad7ef
mov rdx, qword [r12 + 0x160]
test rdx, rdx
je 0x1400add64
cmp qword [rcx + 0x18], r8
je 0x1400adc80
mov qword [rbx + 0x28], rdx
jmp 0x1400ad8c5
mov rdx, qword [r12 + 0x170]
mov qword [rax], rdx
jmp 0x1400ad917
mov rdx, qword [r12 + 0x138]
mov qword [rax], rdx
jmp 0x1400ad841
mov rdx, qword [r12 + 0x160]
jmp 0x1400add27
mov rdx, qword [r12 + 0x128]
jmp 0x1400adcff
mov rcx, qword [rcx]
call sub.msvcrt.dll_free
mov rax, qword [rbx + 0x28]
mov rcx, qword [rax + 0x150]
call sub.msvcrt.dll_free
mov qword [rbx + 0x28], 0
jmp 0x1400ad958
mov rcx, qword [rsp + 0x68]
call sub.msvcrt.dll_free
mov rax, qword [rbx + 0x20]
mov rcx, qword [rax + 0x118]
call sub.msvcrt.dll_free
mov qword [rbx + 0x20], 0
jmp 0x1400ad882