Function at 0x140161de0
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x68
mov qword [rsp + 0x48], rcx
call fcn.140193b2f
mov rcx, qword [rsp + 0x48]
add rax, 0x50
mov qword [rsp + 0x50], rax
add rcx, 8
mov qword [rsp + 0x58], rcx
xor eax, eax
mov qword [rsp + 0x60], rax
mov rdx, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x48]
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x38], rax
mov rcx, qword [rcx]
mov rdx, qword [rdx]
mov qword [rsp + 0x40], rdx
cmp rax, rcx
jge 0x140161f65
mov ecx, dword [0x14024af10]
mov edx, dword [0x14024af14]
xor edx, 0x9582b040
xor edx, 0xffffffff
mov eax, ecx
xor eax, edx
and eax, ecx
mov ecx, 0x67fb40d0
xor ecx, 0x1e3461ae
or eax, ecx
add eax, 0x50453531
or eax, 0x4c8f27ea
cmp eax, 0xece197db
je 0x1401620b9
mov rcx, qword [rsp + 0x38]
mov eax, dword [0x14024af18]
mov edx, dword [0x14024af1c]
sub eax, 0x2343274d
sub eax, edx
add eax, 0x2343274d
or eax, 0x1c319f48
mov r8d, 0x40a88992
xor r8d, 0x507c9fd0
xor edx, edx
div r8d
mov r8d, 0x6237f80b
xor r8d, 0x9803543e
xor edx, edx
div r8d
mov edx, eax
mov rax, qword [rsp + 0x40]
mov dword [rsp + 0x30], edx
mov rcx, qword [rax + rcx*8 + 8]
lea rdx, [0x14024ab38]
call fcn.1401620cb
mov cl, al
mov eax, dword [rsp + 0x30]
mov byte [rsp + 0x37], cl
cmp eax, 0xc7240d35
je 0x140161e71
mov al, byte [rsp + 0x37]
test al, 1
jne 0x140161ef9
jmp 0x140161f52
mov rcx, qword [rsp + 0x38]
mov rax, qword [rsp + 0x58]
mov rax, qword [rax]
mov rcx, qword [rax + rcx*8 + 8]
call fcn.1401621f0
mov rax, qword [rsp + 0x50]
mov al, byte [rax]
mov cl, 0xfd
xor cl, 0xfd
cmp al, cl
jne 0x1401620b3
mov rcx, qword [rsp + 0x38]
mov rax, qword [rsp + 0x58]
mov rax, qword [rax]
mov rcx, qword [rax + rcx*8 + 8]
movabs rdx, 0x44c7727a4f5223d9
movabs rax, 0x44c7727a4f5223d1
xor rdx, rax
call fcn.14000f52f
mov rax, qword [rsp + 0x38]
add rax, 1
mov qword [rsp + 0x60], rax
jmp 0x140161e0c
mov rax, qword [rsp + 0x40]
cmp rax, 0
je 0x1401620b3
mov eax, dword [0x14024af20]
or eax, dword [0x14024af24]
mov ecx, 0xfc8b5ab3
xor ecx, 0x1fef46ff
xor eax, ecx
mov ecx, 0x71eef263
xor ecx, 0x83f0a2fa
and eax, ecx
mov ecx, eax
xor ecx, 0xffffffff
mov edx, 0x75951ae
xor edx, 0xddc197c4
and edx, ecx
mov r8d, 0xffffffff
xor r8d, 0xda98c66a
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0xda98c66a
or eax, 0xda98c66a
imul eax, edx
add eax, ecx
cmp eax, 0x74e1b8c3
jb 0x1401620c2
mov rcx, qword [rsp + 0x40]
mov eax, dword [0x14024af28]
mov r8d, dword [0x14024af2c]
mov edx, eax
and edx, r8d
xor eax, r8d
or edx, eax
mov eax, 0xed772e9e
xor eax, 0x4efb24d0
sub edx, eax
mov eax, edx
and eax, 0x245cb9d0
or edx, 0x245cb9d0
add eax, edx
or eax, 0xae833210
mov rdx, qword [rcx]
movabs r8, 0x86475bb04ba72932
movabs rcx, 0x79b8a44fb458d6cd
xor r8, rcx
mov rcx, rdx
xor rcx, r8
xor rdx, 0xffffffffffffffff
and rcx, rdx
movabs rdx, 0x4000000000000000
movabs r8, 0x4000000000000000
or rdx, r8
xor rdx, 0xffffffffffffffff
movabs r8, 0xf65c604073d59485
movabs r9, 0x9a39fbf8c2a6b7a
xor r8, r9
xor rcx, r8
xor rdx, 0xffffffffffffffff
and rcx, rdx
cmp rcx, 0
sete cl
mov byte [rsp + 0x2f], cl
cmp eax, 0xab784742
je 0x1401620c2
mov al, byte [rsp + 0x2f]
test al, 1
jne 0x1401620a4
jmp 0x1401620b3
mov rcx, qword [rsp + 0x40]
mov edx, 8
call fcn.14000f4e4
nop
add rsp, 0x68
ret
jnp 0x140162123
jmp 0x140161e71
add edx, dword [rdx - 0x13]
jmp 0x140161fde
mov es, word [rax]
add byte [rax], al