Function at 0x14001c7d6
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x98
mov qword [rsp + 0x70], rdx
mov qword [rsp + 0x78], rcx
mov rax, qword [rcx]
mov qword [rsp + 0x80], rax
cmp rax, rdx
jle 0x14001c2a9
mov rdx, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x78]
call fcn.14001c0a0
jmp 0x14001c7bb
mov rax, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x70]
cmp rax, rcx
jge 0x14001c7bb
mov ecx, dword [0x1401d8c88]
mov eax, dword [0x1401d8c8c]
xor eax, 0xc8c26efb
xor ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov r8d, 0xeb0bf04b
xor r8d, 0x14f40fb4
mov edx, ecx
xor edx, r8d
or eax, edx
mov edx, 0xa538ce03
xor edx, 0xe294fa07
and eax, edx
xor eax, 0xffffffff
mov edx, 0xebdda2a4
xor edx, 0xac7196a0
mov r8d, 0xcf420bfb
xor r8d, 0x88ee3fff
and edx, r8d
xor edx, 0xffffffff
xor ecx, 0xffffffff
xor edx, 0xffffffff
or ecx, edx
and eax, ecx
xor eax, 0xffffffff
mov edx, 0x2a4e6626
xor edx, 0x2a4e6627
mov ecx, eax
add ecx, edx
xor eax, 0xffffffff
or eax, 0x178d9839
add eax, ecx
add eax, 0x8215a414
mov ecx, 0x2d00843a
xor ecx, 0x8bb5fe17
add eax, ecx
sub eax, 0x8215a414
cmp eax, 0x87f29fcd
jbe 0x14001c7c4
mov rdx, qword [rsp + 0x78]
mov ecx, dword [0x1401d8c90]
xor ecx, 0x435044bb
xor ecx, dword [0x1401d8c94]
mov eax, ecx
and eax, 0x8c8678ea
xor ecx, 0x8c8678ea
or eax, ecx
xor eax, 0x42fd7d7
and eax, 0xec9bc96d
mov ecx, 0xa556a8c5
xor ecx, 0x4aa0c694
mov r8, rdx
add r8, 8
mov qword [rsp + 0x58], r8
mov rdx, qword [rdx + 8]
mov qword [rsp + 0x60], rdx
cmp rdx, 0
sete dl
mov byte [rsp + 0x6f], dl
cmp eax, ecx
je 0x14001c361
mov al, byte [rsp + 0x6f]
test al, 1
jne 0x14001c44d
jmp 0x14001c3d5
mov rcx, qword [rsp + 0x70]
mov rax, qword [rsp + 0x60]
mov rdx, qword [rax]
mov rax, rdx
xor rax, 0xffffffffffffffff
mov r8, 0xffffffffffffffff
movabs r9, 0xbfffffffffffffff
xor r8, r9
or rax, r8
movabs r8, 0xbfffffffffffffff
and rdx, r8
movabs r8, 0x24b62b3305239f75
movabs r9, 0xdb49d4ccfadc608a
xor r8, r9
xor rdx, r8
and rax, rdx
movabs rdx, 0x385271040cc413ee
movabs r8, 0xc7ad8efbf33bec11
xor rdx, r8
xor rax, rdx
cmp rax, rcx
jge 0x14001c654
mov r8, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x70]
xor eax, eax
sub rax, r8
mov r9, rcx
add r9, rax
mov qword [rsp + 0x50], r9
mov rax, r9
xor rax, rcx
cmp rax, 0
setl al
mov rcx, r9
xor rcx, 0xffffffffffffffff
movabs rdx, 0x30a7e46c973902ad
and rcx, rdx
mov r10, 0xffffffffffffffff
movabs rdx, 0x30a7e46c973902ad
xor r10, rdx
and r9, r10
movabs r11, 0xa1220ac3c55f561d
movabs rdx, 0x5eddf53c3aa0a9e2
xor r11, rdx
mov rdx, r8
xor rdx, r11
movabs r11, 0x30a7e46c973902ad
and rdx, r11
and r8, r10
or rcx, r9
or rdx, r8
xor rcx, rdx
movabs rdx, 0x2628d55490eddb6b
movabs r8, 0xd9d72aab6f122494
xor rdx, r8
cmp rcx, rdx
setg dl
xor ecx, ecx
xor cl, 1
xor al, cl
xor dl, 0xff
mov cl, 1
xor cl, 0
or al, dl
or cl, 0
xor al, 0xff
and al, cl
test al, 1
jne 0x14001c64a
mov ecx, dword [0x1401d8c98]
and ecx, dword [str.8O9]
mov eax, ecx
and eax, 0xb6ffdc7c
xor ecx, 0xb6ffdc7c
or eax, ecx
mov edx, eax
xor edx, 0xffffffff
and edx, 0x396cf23b
mov r8d, 0xffffffff
xor r8d, 0x396cf23b
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x396cf23b
or eax, 0x396cf23b
imul eax, edx
add eax, ecx
and eax, 0x36240fef
cmp eax, 0xd6fdb605
jae 0x14001c7cd
mov r8, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x80]
mov eax, dword [0x1401d8ca0]
xor edx, edx
div dword [0x1401d8ca4]
mov r9d, 0x5a326024
xor r9d, 0x3963be4c
xor edx, edx
div r9d
mov rdx, qword [rsp + 0x60]
mov r9d, eax
mov r10d, 0x1932dcb
xor r10d, 0xfe6cd234
mov eax, r9d
xor eax, r10d
xor r9d, 0xffffffff
or eax, r9d
mov r9d, 0x5dd9592
xor r9d, 0xe9653671
mov r10d, 0x8c4b224
xor r10d, 0xe47c11c7
and r9d, r10d
mov r10d, 0x46b09cc1
xor r10d, 0xb94f633e
xor r9d, r10d
and eax, r9d
xor eax, 0xffffffff
mov r9d, 0xfb78bb74
xor r9d, 0xeb8e51d
and eax, r9d
mov dword [rsp + 0x4c], eax
mov eax, 0x5a47a0b5
xor eax, 0x18a59ca5
mov dword [rsp + 0x48], eax
mov r9d, 0x10
mov qword [rsp + 0x20], 8
call fcn.1400109f0
mov rdx, qword [rsp + 0x58]
mov ecx, dword [rsp + 0x48]
mov r8, rax
mov eax, dword [rsp + 0x4c]
mov qword [rdx], r8
cmp eax, ecx
jbe 0x14001c572
jmp 0x14001c654
call fcn.140007bb8
jmp 0x14001c7bb
mov rax, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x78]
mov rdx, qword [rsp + 0x70]
mov qword [rcx], rdx
lea rcx, [rsp + 0x88]
add rcx, 8
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x40], rax
mov rcx, qword [rsp + 0x70]
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x30], rax
cmp rax, rcx
jge 0x14001c7bb
mov rdx, qword [rsp + 0x30]
mov rax, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x58]
mov rcx, qword [rcx]
add rcx, 8
shl rdx, 4
add rcx, rdx
mov qword [rsp + 0x88], 0
mov qword [rax], 0
lea rdx, [rsp + 0x88]
call fcn.140013af0
mov rdx, qword [rsp + 0x30]
movabs rcx, 0x5c4eb0a0ce9b3bed
mov rax, rdx
add rax, rcx
add rax, 1
movabs rcx, 0x49d2b317c7d8d49d
movabs r8, 0x159c03b70943ef70
xor rcx, r8
sub rax, rcx
mov r8, rdx
xor r8, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
and r8, 0xffffffffffffffff
movabs rcx, 0x51b6b8221cd526a1
movabs r9, 0x51b6b8221cd526a3
xor rcx, r9
imul rcx, r8
movabs r8, 0xf3a74a9f3babcc78
movabs r9, 0xc58b560c4543387
xor r8, r9
sub rcx, r8
sub rdx, rcx
mov rcx, rax
xor rcx, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
mov r8, 0xffffffffffffffff
movabs r9, 0xadc54137261a2443
xor r8, r9
or rcx, rdx
movabs rdx, 0x4dd2f41e7d889fb7
movabs r9, 0xe017b5295b92bbf4
xor rdx, r9
or rdx, r8
xor rcx, 0xffffffffffffffff
and rcx, rdx
movabs rdx, 0xf131cbb79bc89595
movabs r8, 0xf131cbb79bc89595
xor rdx, r8
cmp rcx, rdx
mov qword [rsp + 0x40], rax
jge 0x14001c67f
call fcn.140007bb8
nop
add rsp, 0x98
ret
or edi, 0xffffff97
jmp 0x14001c361
lodsd eax, dword [rsi]
push rbp
js 0x14001c7ef
jmp 0x14001c572
sub rsp, 0x38
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x28], rcx
xor eax, eax
mov edx, eax
call fcn.14001c0a0
mov rcx, qword [rsp + 0x28]
and al, 0x28
mov rdx, qword [rsp + 0x30]
add rsp, 0x38
jmp 0x14001c270