Function at 0x14012ba80
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x78
mov qword [rsp + 0x58], rcx
call fcn.14012dbd0
mov rcx, qword [rsp + 0x58]
mov qword [rsp + 0x68], rax
add rax, 0x60
mov qword [rsp + 0x60], rax
mov edx, 9
call fcn.14012975d
mov rcx, rax
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x70], rcx
mov al, byte [rax + 0x60]
mov cl, 0x14
xor cl, 0x14
cmp al, cl
jne 0x14012bd97
mov eax, dword [0x1401e2b78]
xor edx, edx
div dword [0x1401e2b7c]
mov ecx, 0x3c7c0c73
xor ecx, 0x38747874
imul eax, ecx
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x8c6f72bc
mov ecx, 0xffffffff
xor ecx, 0x138b74d9
or eax, edx
or ecx, 0x138b74d9
mov edx, 0xbfa9883a
xor edx, 0x405677c5
xor eax, edx
and eax, ecx
sub eax, 0x45496168
cmp eax, 0x2f7ebe4d
jb 0x14012bd9c
mov rcx, qword [rsp + 0x58]
mov eax, dword [0x1401e2b80]
xor eax, 0x21e39e2e
mov edx, dword [0x1401e2b84]
sub eax, edx
add eax, 0xe5e66b1f
mov edx, eax
imul rdx, rdx, 0x77fed2f
shr rdx, 0x20
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 0x1f
or eax, 0xe0b6b064
mov dword [rsp + 0x50], eax
mov eax, 0x4b541fc4
mov dword [rsp + 0x4c], eax
call fcn.1401295c0
mov rdx, qword [rsp + 0x60]
mov r8, qword [rsp + 0x70]
mov ecx, dword [rsp + 0x4c]
mov eax, dword [rsp + 0x50]
mov dl, byte [rdx]
test dl, dl
setne dl
test r8, r8
sete r8b
or dl, r8b
mov byte [rsp + 0x57], dl
cmp eax, ecx
jbe 0x14012bb24
mov al, byte [rsp + 0x57]
test al, 1
jne 0x14012bd97
jmp 0x14012bbae
mov rcx, qword [rsp + 0x58]
mov rax, qword [rsp + 0x70]
movsxd r9, dword [rax]
mov rax, r9
add rax, rcx
mov qword [rsp + 0x40], rax
mov r8, rax
xor r8, rcx
movabs rdx, 0xa5c144be5223a6e6
movabs r10, 0x5a3ebb41addc5919
xor rdx, r10
xor r8, rdx
mov rdx, rcx
and rdx, r8
shl rdx, 1
sub rdx, rcx
mov rcx, rax
sub rcx, rdx
mov rdx, rax
xor rdx, 0xffffffffffffffff
movabs r10, 0x8b39a1eb91f1a922
movabs r8, 0x74c65e146e0e56dd
xor r10, r8
mov r8, rax
xor r8, r10
or rdx, r8
and rdx, r9
xor rdx, 0xffffffffffffffff
mov r8, r9
xor r8, 0xffffffffffffffff
xor r9, 0xffffffffffffffff
or r8, r9
xor rax, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
or rax, r8
movabs r8, 0xbe87ac8ebff51e73
movabs r9, 0x41785371400ae18c
xor r8, r9
xor rdx, r8
xor rax, 0xffffffffffffffff
or rdx, rax
mov rax, rcx
xor rax, 0xffffffffffffffff
movabs r9, 0x7e8148bd58412137
movabs r8, 0x817eb742a7bedec8
xor r9, r8
mov r8, rdx
xor r8, r9
or rax, r8
and rcx, rdx
movabs rdx, 0x8bf0986dd67c7cf7
movabs r8, 0x740f679229838308
xor rdx, r8
xor rcx, rdx
movabs rdx, 0x3f4798a791ac2ff3
movabs r8, 0xc0b867586e53d00c
xor rdx, r8
xor rax, rdx
movabs rdx, 0x121c69023302ad
movabs r8, 0xffede396fdccfd52
xor rdx, r8
xor rcx, rdx
or rax, rcx
cmp rax, 0
jge 0x14012bcf0
call fcn.1400067fe
jmp 0x14012bd97
mov rax, qword [rsp + 0x40]
mov rax, qword [rax + 0x18]
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0x28], rax
mov rax, qword [rax]
mov qword [rsp + 0x30], rax
cmp rax, 0
je 0x14012bd97
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x58]
mov edx, 0x8ca18c4a
xor edx, 0x8ca18c4b
xor r8d, r8d
call rax
mov rax, qword [rsp + 0x60]
cmp byte [rax], 0
je 0x14012bd7a
mov rax, qword [rsp + 0x60]
mov byte [rax], 0
call fcn.14012dbd0
mov rcx, rax
add rcx, 0x10
mov rax, qword [rax + 0x10]
mov rdx, qword [rax + 0x38]
xor r8d, r8d
call fcn.140012a40
mov rax, qword [rsp + 0x60]
mov al, byte [rax]
mov cl, 0x30
xor cl, 0x30
cmp al, cl
jne 0x14012bd97
mov rcx, qword [rsp + 0x28]
mov rax, rcx
and rax, 8
or rcx, 8
add rax, rcx
mov qword [rsp + 0x38], rax
jmp 0x14012bcfe
add rsp, 0x78
ret
invalid