Function at 0x1401b1d50
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x58
mov qword [rsp + 0x48], rcx
xor eax, eax
cmp rcx, 0
mov byte [rsp + 0x57], al
je 0x1401b20a6
mov rax, qword [rsp + 0x48]
mov rcx, rax
add rcx, 0xfffffffffffffff0
mov qword [rsp + 0x38], rcx
mov rcx, qword [rax - 0x10]
mov qword [rsp + 0x40], rcx
mov al, 1
cmp rcx, 0x10
mov byte [rsp + 0x57], al
jb 0x1401b20a6
mov rdx, qword [rsp + 0x40]
mov rcx, 0xffffffffffffffff
xor rcx, 0xfffffffffffffff0
movabs rax, 0x896457d1b8b40981
movabs r8, 0x896457d1b8b40981
xor rax, r8
movabs r8, 0x4b2d88af50b2640d
movabs r9, 0x4b2d88af50b2640c
xor r8, r9
sub rax, r8
sub rcx, rax
mov rax, rdx
sub rax, rcx
mov qword [rsp + 0x30], rax
mov rcx, rax
xor rcx, rdx
cmp rcx, 0
setl cl
cmp rax, 0xffffffffffffffff
setg al
and al, cl
test al, 1
jne 0x1401b1e05
jmp 0x1401b1f9f
mov ecx, dword [0x1401e08f0]
mov r8d, dword [0x1401e08f4]
mov edx, 0x640cf6bf
xor edx, 0x9bf30940
mov eax, ecx
xor eax, edx
mov edx, r8d
and edx, eax
mov r9d, r8d
xor r9d, 0xffffffff
mov eax, ecx
and eax, r9d
imul eax, edx
mov edx, ecx
and edx, r8d
or ecx, r8d
imul ecx, edx
add ecx, eax
xor ecx, 0x73f3db4c
mov edx, 0x4c294c7a
xor edx, 0xb3d6b385
mov eax, ecx
xor eax, edx
mov edx, 0x89ce8fc0
xor edx, 0x7631703f
xor ecx, edx
or eax, ecx
mov ecx, 0xffffffff
xor ecx, 0xf289901a
mov edx, 0xffffffff
xor edx, 0xf289901a
or ecx, edx
xor eax, 0xffffffff
mov edx, 0xfb70d427
xor edx, 0x48f2bd8
xor ecx, edx
or eax, ecx
xor eax, 0x95721ec
mov ecx, 0xbc7d62ac
xor ecx, 0x55a1770
cmp eax, ecx
jbe 0x1401b20b4
mov ecx, dword [0x1401e08f8]
mov edx, dword [0x1401e08fc]
xor ecx, 0xffffffff
mov eax, 0xdac55e04
xor eax, 0x253aa1fb
xor edx, eax
mov eax, 0x9c5f683a
xor eax, 0x328d5100
mov r8d, 0xd455a2a4
xor r8d, 0x2baa5d5b
xor eax, r8d
or ecx, edx
or eax, 0xaed2393a
xor ecx, 0xffffffff
and ecx, eax
mov eax, 0x2c27d57c
xor eax, 0xcc371253
imul ecx, eax
mov eax, 0x910387b0
xor eax, 0x6cf13377
add ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov r8d, 0xdc547d0c
xor r8d, 0x23ab82f3
mov edx, ecx
xor edx, r8d
and eax, edx
mov edx, 0xffffffff
xor edx, 0xcebfaee2
mov r8d, 0xffffffff
xor r8d, 0xcebfaee2
and edx, r8d
xor eax, 0xffffffff
mov r8d, 0xde642744
xor r8d, 0x219bd8bb
xor edx, r8d
and eax, edx
mov edx, 0xfaf90d39
xor edx, 0x506f2c6
xor ecx, edx
mov edx, 0xffffffff
xor edx, 0xcebfaee2
and ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
mov dword [rsp + 0x2c], eax
mov eax, 0x45722f10
xor eax, 0x5d382e72
mov dword [rsp + 0x28], eax
call fcn.1400077a3
mov ecx, dword [rsp + 0x28]
mov eax, dword [rsp + 0x2c]
cmp eax, ecx
jbe 0x1401b20b4
xor eax, eax
mov byte [rsp + 0x57], al
jmp 0x1401b20a6
mov eax, dword [0x1401e0900]
mov ecx, 0xc4d54064
xor ecx, 0x6de00642
xor eax, ecx
mov ecx, dword [0x1401e0904]
mov edx, 0x64b7a078
xor edx, 0x5d5ca077
xor ecx, edx
and eax, ecx
mov ecx, 0xe8c68ef
xor edx, edx
div ecx
mov ecx, eax
mov edx, 0x33b5af86
xor edx, 0xcc4a5079
mov eax, ecx
xor eax, edx
mov edx, ecx
xor edx, 0xffffffff
and eax, edx
mov edx, 0xffffffff
xor edx, 0xfcd67633
mov r8d, 0x23f43d92
xor r8d, 0xdf224ba1
mov r9d, 0x78314d55
xor r9d, 0x87ceb2aa
xor r8d, r9d
and edx, r8d
or eax, edx
xor eax, 0xffffffff
or ecx, 0xfcd67633
mov edx, 0x82fe65e3
xor edx, 0x7d019a1c
xor ecx, edx
or eax, ecx
xor eax, 0xffffffff
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0x145d4c7b
mov edx, 0xffffffff
xor edx, 0x145d4c7b
and eax, edx
sub eax, ecx
cmp eax, 0xfc7cea15
ja 0x1401b20bd
mov r8, qword [rsp + 0x30]
mov eax, dword [0x1401e0908]
xor edx, edx
div dword [0x1401e090c]
mov rdx, qword [rsp + 0x38]
imul eax, eax, 0x29052c14
or eax, 0x4adededb
mov ecx, 0xe2c34393
xor ecx, 0x2bf5d312
sub eax, ecx
mov ecx, 0x3ec7a823
xor ecx, 0x6e998563
mov qword [rdx], r8
cmp eax, ecx
jb 0x1401b2055
xor eax, eax
mov byte [rsp + 0x57], al
jmp 0x1401b20a6
mov al, byte [rsp + 0x57]
and al, 1
movzx eax, al
add rsp, 0x58
ret
sub eax, 0xe9c6aaed
jmp 0x1401b20b8
jmp 0x1401b1ea8
xor al, 0xe6
mov al, 0x74
jmp 0x1401b2055