Function at 0x14006ecf0
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x148
mov qword [rsp + 0x110], r9
mov qword [rsp + 0x118], r8
mov qword [rsp + 0x120], rdx
mov qword [rsp + 0x128], rcx
mov rax, rcx
mov qword [rsp + 0x130], rax
mov rax, qword [0x140284b48]
mov qword [rcx], rax
mov rax, qword [str.XK__]
mov qword [rcx + 8], rax
cmp r8, 0
jle 0x14006f6ed
mov rax, qword [rsp + 0x128]
mov rcx, qword [rsp + 0x110]
add rcx, 8
mov qword [rsp + 0xf0], rcx
add rax, 8
mov qword [rsp + 0xf8], rax
lea rax, [rsp + 0x138]
add rax, 8
mov qword [rsp + 0x100], rax
xor eax, eax
mov qword [rsp + 0x108], rax
mov rcx, qword [rsp + 0x120]
mov rax, qword [rsp + 0x108]
mov qword [rsp + 0xe0], rax
mov cl, byte [rcx + rax]
mov byte [rsp + 0xef], cl
cmp rax, 0
je 0x14006f0ae
mov rax, qword [rsp + 0x110]
mov rcx, qword [rsp + 0x128]
mov rdx, qword [rax]
call fcn.140037690
mov rax, qword [rsp + 0x110]
mov rcx, qword [rsp + 0xf0]
mov rax, qword [rax]
mov qword [rsp + 0xd0], rax
mov rcx, qword [rcx]
mov qword [rsp + 0xd8], rcx
movabs rcx, 0x847494cfd4989e1c
movabs rdx, 0x847494cfd4989e1c
xor rcx, rdx
cmp rax, rcx
jle 0x14006f0ae
mov rcx, qword [rsp + 0xd0]
mov rax, rcx
add rax, 1
mov qword [rsp + 0xc8], rax
movabs rdx, 0x30d1a1016d4c23a2
movabs r8, 0xcf2e5efe92b3dc5d
xor rdx, r8
xor rcx, rdx
and rax, rcx
cmp rax, 0
jge 0x14006ee59
call fcn.14000f24b
jmp 0x14006f0ae
mov rax, qword [rsp + 0xc8]
cmp rax, 0
jge 0x14006ee8b
mov rcx, qword [rsp + 0xc8]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
call fcn.14001a720
jmp 0x14006f0ae
mov rax, qword [rsp + 0xd8]
mov rdx, qword [rsp + 0x128]
mov rcx, qword [rsp + 0xf8]
mov rcx, qword [rcx]
add rcx, 8
add rcx, qword [rdx]
mov qword [rsp + 0xb0], rcx
add rax, 8
mov qword [rsp + 0xb8], rax
xor eax, eax
mov qword [rsp + 0xc0], rax
mov rcx, qword [rsp + 0xc0]
mov rdx, qword [rsp + 0xd0]
mov rax, qword [rsp + 0xb0]
mov r8, qword [rsp + 0xb8]
mov r8b, byte [r8 + rcx]
mov byte [rax + rcx], r8b
movabs r8, 0xa7743f79e67cc803
movabs rax, 0xa7743f79e67cc802
xor r8, rax
mov rax, rcx
and rax, r8
mov r8, rcx
or r8, 1
add rax, r8
cmp rcx, rdx
mov qword [rsp + 0xc0], rax
jne 0x14006eecb
mov rdx, qword [rsp + 0xd0]
mov rax, qword [rsp + 0x128]
mov r8, qword [rax]
movabs rax, 0xd1ff8282f8f8a5af
movabs rcx, 0xd1ff8282f8f8a5af
xor rax, rcx
sub rax, r8
movabs rcx, 0x73c743db5a42bcce
movabs r9, 0x73c743db5a42bcce
xor rcx, r9
sub rcx, rdx
add rax, rcx
xor ecx, ecx
sub rcx, rax
mov qword [rsp + 0xa8], rcx
mov rax, rcx
xor rax, r8
xor rcx, rdx
and rax, rcx
movabs rcx, 0x4938c938ab46f0a3
movabs rdx, 0x4938c938ab46f0a3
xor rcx, rdx
cmp rax, rcx
jge 0x14006f09b
mov ecx, dword [0x140275530]
xor ecx, 0xc447cb50
or ecx, dword [0x140275534]
mov edx, 0x78700bc0
xor edx, 0xe88ae3e0
mov eax, ecx
xor eax, edx
mov edx, 0xffffffff
xor edx, 0x90fae820
and ecx, edx
shl ecx, 1
sub ecx, eax
xor eax, eax
sub eax, 0x3aa8b1a9
add ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x129f267a
or eax, edx
mov edx, 0x69a8781b
xor edx, 0x965787e4
xor ecx, edx
mov edx, 0xffffffff
xor edx, 0x129f267a
or ecx, edx
xor eax, 0xffffffff
mov edx, 0x2ca3a840
xor edx, 0xd35c57bf
xor ecx, edx
or eax, ecx
cmp eax, 0x546c6b42
jae 0x14006f6fd
mov ecx, dword [0x140275538]
mov edx, dword [0x14027553c]
xor edx, 0x788ac85a
mov eax, ecx
and eax, edx
or ecx, edx
add eax, ecx
mov ecx, eax
add ecx, 1
mov edx, 0xbd9a65c6
xor edx, 0x42659a39
xor eax, edx
mov edx, 0xab1a5ad4
xor edx, 0x271a7609
or eax, edx
add eax, ecx
or eax, 0xbb946e22
xor eax, 0xa8536263
mov dword [rsp + 0xa4], eax
call fcn.14000f24b
mov eax, dword [rsp + 0xa4]
cmp eax, 0xab69a70a
je 0x14006f033
jmp 0x14006f0ae
mov rax, qword [rsp + 0x128]
mov rcx, qword [rsp + 0xa8]
mov qword [rax], rcx
mov dl, byte [rsp + 0xef]
lea rcx, [rsp + 0x138]
call fcn.140055562
mov rax, qword [rsp + 0x100]
mov rcx, qword [rsp + 0x128]
mov rdx, qword [rsp + 0x138]
mov qword [rsp + 0x98], rdx
mov rax, qword [rax]
mov qword [rsp + 0x90], rax
call fcn.140037690
mov rax, qword [rsp + 0x98]
cmp rax, 0
jle 0x14006f57f
mov rdx, qword [rsp + 0x98]
movabs rax, 0x44a806a882772dd
movabs rcx, 0x44a806a882772dc
xor rax, rcx
mov rcx, rdx
add rcx, rax
mov qword [rsp + 0x88], rcx
mov r8, rdx
and r8, 0xffffffffffffffff
movabs rax, 0xa33ab95d73bf4047
movabs r9, 0xa33ab95d73bf4045
xor rax, r9
imul rax, r8
add rdx, 0xffffffffffffffff
sub rdx, rax
mov rax, rcx
and rax, rdx
xor rax, 0xffffffffffffffff
and rcx, rdx
movabs rdx, 0x56dbf5ec1b387e05
movabs r8, 0xa9240a13e4c781fa
xor rdx, r8
xor rcx, rdx
movabs rdx, 0x14e845978b8fcc71
movabs r8, 0xeb17ba687470338e
xor rdx, r8
xor rax, rdx
movabs rdx, 0xea3dcf84e14fa7d5
movabs r8, 0x15c2307b1eb0582a
xor rdx, r8
xor rcx, rdx
or rax, rcx
movabs rcx, 0xe67f4b7bf0453689
movabs rdx, 0xe67f4b7bf0453689
xor rcx, rdx
cmp rax, rcx
jge 0x14006f1e2
call fcn.14000f24b
jmp 0x14006f57f
mov rax, qword [rsp + 0x88]
movabs rcx, 0xd99c4edd0867f8d1
movabs rdx, 0xd99c4edd0867f8d1
xor rcx, rdx
cmp rax, rcx
jge 0x14006f351
mov eax, dword [0x140275540]
xor eax, 0x97953ea7
mov edx, dword [0x140275544]
xor ecx, ecx
sub ecx, edx
add eax, ecx
or eax, eax
xor eax, 0xffffffff
mov ecx, 0xffffffff
xor ecx, 0xa86749b5
mov edx, 0xf4e5ee8a
xor edx, 0x5c82a73f
mov r8d, 0x2186a724
xor r8d, 0xde7958db
xor edx, r8d
and ecx, edx
or eax, ecx
xor eax, 0xffffffff
or eax, 0x6a88f7d9
sub eax, 0xa4071ce6
add eax, 0x5a159451
add eax, 0xa4071ce6
cmp eax, 0xc9e52ea8
jae 0x14006f706
mov rcx, qword [rsp + 0x88]
mov eax, dword [0x140275548]
mov edx, 0x1072f3df
xor edx, 0xf2a90c37
xor eax, edx
mov edx, dword [0x14027554c]
xor edx, 0xffffffff
add eax, edx
add eax, 1
mov r8d, 0x638c4689
xor r8d, 0x638c4688
mov edx, eax
add edx, r8d
mov r8d, 0xbb8c0ecd
xor r8d, 0x4473f132
xor eax, r8d
or eax, 0x4b87eeee
add eax, edx
mov r8d, 0x49e89ce0
xor edx, edx
div r8d
mov r8d, eax
xor r8d, 0xa2dc5e25
mov edx, 0x99629011
xor edx, 0x669d6fee
xor r8d, edx
mov edx, 0xabb20bc8
xor edx, 0x96e55ed
and edx, r8d
shl edx, 1
sub edx, 0xa2dc5e25
sub eax, edx
mov dword [rsp + 0x84], eax
movabs rdx, 0x730a7bc1be94258d
movabs rax, 0x730a7bc1be94258d
xor rdx, rax
movabs r8, 0x6bfa71e359fbd996
movabs rax, 0x14058e1ca6042669
xor r8, rax
call fcn.14001a720
mov eax, dword [rsp + 0x84]
cmp eax, 0x583a405
jb 0x14006f706
jmp 0x14006f57f
mov rax, qword [rsp + 0x90]
mov rdx, qword [rsp + 0x128]
mov rcx, qword [rsp + 0xf8]
mov rcx, qword [rcx]
add rcx, 8
add rcx, qword [rdx]
mov qword [rsp + 0x68], rcx
add rax, 8
mov qword [rsp + 0x70], rax
xor eax, eax
mov qword [rsp + 0x78], rax
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x60], rax
mov eax, dword [0x140275550]
mov ecx, dword [0x140275554]
xor ecx, 0x994f9e4e
xor eax, ecx
imul ecx, eax, 0xdc60ba49
mov eax, 0x2f27f656
xor eax, 0xeb5652e6
sub ecx, eax
mov eax, ecx
xor eax, 0xffffffff
and eax, 0xf4903d15
mov edx, 0xffffffff
xor edx, 0xf4903d15
and ecx, edx
or eax, ecx
cmp eax, 0x4c9ce140
jbe 0x14006f70f
mov r8, qword [rsp + 0x98]
mov r9, qword [rsp + 0x68]
mov r10, qword [rsp + 0x70]
mov ecx, dword [0x140275558]
mov edx, dword [0x14027555c]
xor eax, eax
sub eax, ecx
xor ecx, ecx
sub ecx, edx
add eax, ecx
mov ecx, 0x8af96c03
xor ecx, 0x8af96c03
sub ecx, eax
mov eax, 0xbb2e49a6
xor eax, 0x6ef5de89
xor ecx, eax
mov edx, 0xffffffff
xor edx, 0x1a7647d3
mov eax, ecx
xor eax, edx
and eax, ecx
mov ecx, 0x33b8b937
xor ecx, 0xe1e0789a
xor edx, edx
div ecx
mov rdx, qword [rsp + 0x60]
mov ecx, 0x62df5073
xor ecx, 0x72ab583b
mov r10b, byte [r10 + rdx]
mov byte [r9 + rdx], r10b
mov r9, rdx
add r9, 1
mov qword [rsp + 0x50], r9
cmp rdx, r8
sete dl
mov byte [rsp + 0x5f], dl
cmp eax, ecx
je 0x14006f3dc
mov rax, qword [rsp + 0x50]
mov cl, byte [rsp + 0x5f]
test cl, 1
mov qword [rsp + 0x78], rax
jne 0x14006f48f
jmp 0x14006f388
mov r8, qword [rsp + 0x98]
mov rax, qword [rsp + 0x128]
mov rdx, qword [rax]
mov r9, rdx
add r9, r8
mov qword [rsp + 0x48], r9
mov rcx, r9
xor rcx, 0xffffffffffffffff
mov rax, rdx
and rax, rcx
xor rdx, 0xffffffffffffffff
mov rcx, r9
and rcx, rdx
or rax, rcx
mov rcx, r9
xor rcx, 0xffffffffffffffff
movabs rdx, 0x7513432d20513687
and rcx, rdx
mov r10, 0xffffffffffffffff
movabs rdx, 0x7513432d20513687
xor r10, rdx
and r9, r10
mov rdx, r8
xor rdx, 0xffffffffffffffff
movabs r11, 0x7513432d20513687
and rdx, r11
and r8, r10
or rcx, r9
or rdx, r8
xor rcx, rdx
and rax, rcx
cmp rax, 0
jge 0x14006f529
call fcn.14000f24b
jmp 0x14006f539
mov rax, qword [rsp + 0x128]
mov rcx, qword [rsp + 0x48]
mov qword [rax], rcx
mov rax, qword [rsp + 0xe0]
movabs rcx, 0x4115cf49bc7d2cd1
movabs rdx, 0x4115cf49bc7d2cd1
xor rcx, rdx
movabs rdx, 0x743120bbf5484884
movabs r8, 0x743120bbf5484885
xor rdx, r8
sub rcx, rdx
sub rax, rcx
mov qword [rsp + 0x40], rax
jmp 0x14006f68a
mov eax, dword [0x140275560]
mov ecx, dword [0x140275564]
mov edx, 0xeca9c4b0
xor edx, 0xb342d798
add eax, edx
add eax, ecx
sub eax, 0x5feb1328
mov ecx, 0x48e288c8
xor ecx, 0x54c288bb
xor eax, ecx
mov ecx, 0xb07760de
xor ecx, 0xe944405e
imul eax, ecx
or eax, 0x85c74dd
cmp eax, 0x9b3d29de
jb 0x14006f718
mov rcx, qword [rsp + 0x90]
mov rdx, qword [rsp + 0xe0]
mov eax, dword [0x140275568]
mov r9d, dword [0x14027556c]
xor r8d, r8d
sub r8d, r9d
add eax, r8d
xor r8d, r8d
sub r8d, eax
mov eax, 0xdd1f2baa
xor eax, 0xdd1f2baa
mov r9d, 0x315cbfa1
xor r9d, 0x68f05136
sub eax, r9d
add r8d, eax
xor eax, eax
sub eax, r8d
mov r8d, 0xe2ce2611
xor r8d, 0x16f7bdf3
or eax, r8d
sub eax, 0x4be3da3d
movabs r8, 0xc5cf7a82c8a0c6cd
sub rdx, r8
add rdx, 1
movabs r8, 0xc5cf7a82c8a0c6cd
add rdx, r8
mov qword [rsp + 0x30], rdx
cmp rcx, 0
sete cl
mov byte [rsp + 0x3f], cl
cmp eax, 0x934cd779
jbe 0x14006f718
mov rax, qword [rsp + 0x30]
mov cl, byte [rsp + 0x3f]
test cl, 1
mov rcx, rax
mov qword [rsp + 0x40], rcx
mov qword [rsp + 0x28], rax
jne 0x14006f6cf
jmp 0x14006f68a
mov rdx, qword [rsp + 0x90]
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x20], rax
movabs rcx, 0x4000000000000000
and rcx, qword [rdx]
cmp rcx, 0
mov qword [rsp + 0x28], rax
jne 0x14006f6cf
mov rcx, qword [rsp + 0x90]
call fcn.14001d1d6
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0x28], rax
mov rcx, qword [rsp + 0x118]
mov rax, qword [rsp + 0x28]
cmp rax, rcx
mov qword [rsp + 0x108], rax
jne 0x14006ed87
mov rax, qword [rsp + 0x130]
add rsp, 0x148
ret
cld
sbb al, 0x6a
xor ebp, ecx
sub eax, 0x4afffff9
and byte [rax], ch
and byte [rax], bpl
cli
jmp 0x14006f272
mov ch, byte [rax + 0x50]
mov ebp, ecx
invalid
mov dword [rdi - 0x5616ba49], edi
invalid