Function at 0x14012a350
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0xd8
mov qword [rsp + 0xb8], r8
mov qword [rsp + 0xa8], rdx
mov qword [rsp + 0xb0], rcx
call fcn.14012ae31
mov r8, qword [rsp + 0xb8]
mov qword [rsp + 0xc0], rax
mov qword [rsp + 0xd0], 0
cmp r8, 0
jge 0x14012a3ba
mov rcx, qword [rsp + 0xb8]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
call fcn.14000dc65
jmp 0x14012adfb
mov rdx, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0xb0]
call fcn.14012ae50
mov rcx, rax
mov rax, qword [rsp + 0xc0]
mov qword [rsp + 0xa0], rcx
cmp byte [rax], 0
jne 0x14012adfb
mov rax, qword [rsp + 0xa0]
mov rdx, qword [rax]
xor eax, eax
mov r8b, al
xor r8b, 0
and r8b, 1
lea rcx, [rsp + 0xd0]
call fcn.14012ecc0
mov rax, qword [rsp + 0xc0]
cmp byte [rax], 0
jne 0x14012adfb
mov rax, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0xb0]
add rcx, 8
mov qword [rsp + 0x90], rcx
mov qword [rsp + 0x98], rax
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0x88], rax
mov r8d, dword [0x140208660]
xor r8d, 0x17d5a4cf
xor r8d, dword [0x140208664]
mov eax, r8d
xor eax, 0xffffffff
mov ecx, 0xd7597a62
xor ecx, 0xfa321fd9
and ecx, eax
mov r9d, 0xffffffff
xor r9d, 0x2d6b65bb
and r8d, r9d
mov eax, 0x66b8f752
xor eax, 0x114ca0fd
mov edx, 0x11ba4538
xor edx, 0xee45bac7
xor eax, edx
mov edx, 0xcb5832b
xor edx, 0x21dee690
and eax, edx
mov edx, 0xb6be15a8
xor edx, 0xc14a4207
and edx, r9d
or ecx, r8d
or eax, edx
xor ecx, eax
mov eax, 0xfd5c93fb
xor eax, 0x327bc17
mov edx, 0x75b7f548
xor edx, 0x8a480ab7
xor eax, edx
add ecx, eax
mov eax, 0x7c8fc011
xor eax, 0x7c8fc010
add ecx, eax
mov eax, ecx
or eax, eax
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xb24b272c
mov r8d, 0x7afd494c
xor r8d, 0xc8b66e60
mov r9d, 0xfbeb337b
xor r9d, 0x414cc84
xor r8d, r9d
and edx, r8d
or eax, edx
xor eax, 0xffffffff
mov edx, 0x99cddf8e
xor edx, 0x2b86f8a2
or ecx, edx
mov edx, 0xca1ac974
xor edx, 0x35e5368b
xor ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
mov ecx, 0xb3e76fa1
xor ecx, 0x48b7488b
cmp eax, ecx
jae 0x14012ae04
mov rcx, qword [rsp + 0x88]
mov rdx, qword [rsp + 0xa8]
mov eax, dword [0x140208668]
or eax, dword [0x14020866c]
add eax, 0x1949acd2
or eax, 0x83d81917
mov r8d, 0xb09e7574
xor r8d, 0x68a6db97
mov r9d, eax
xor r9d, r8d
mov r8d, 0xcab38c0e
xor r8d, 0x354c73f1
xor r9d, r8d
and r9d, 0xd838aee3
mov r8d, 0x7ae633fc
xor r8d, 0x7ae633fe
imul r8d, r9d
sub r8d, 0xd838aee3
sub eax, r8d
cmp rcx, rdx
setg cl
mov byte [rsp + 0x87], cl
cmp eax, 0x7f4723bd
je 0x14012ae04
mov al, byte [rsp + 0x87]
test al, 1
jne 0x14012a5ee
jmp 0x14012ad56
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0xc8], 0
movabs rcx, 0x7ac3d18f1f978a3b
mov rdx, rax
add rdx, rcx
add rdx, 0xffffffffffffffff
movabs rcx, 0x7ac3d18f1f978a3b
sub rdx, rcx
mov qword [rsp + 0x78], rdx
mov rcx, rdx
and rcx, rcx
xor rcx, 0xffffffffffffffff
and rcx, rax
movabs r8, 0xe57a46380c30d8b9
movabs r9, 0x1a85b9c7f3cf2746
xor r8, r9
xor rcx, r8
movabs r9, 0x3eb6594cd0082367
movabs r8, 0xc149a6b32ff7dc98
xor r9, r8
mov r8, rax
xor r8, r9
mov r9, rax
xor r9, 0xffffffffffffffff
or r8, r9
and rdx, r8
xor rdx, 0xffffffffffffffff
and rcx, rdx
xor rcx, 0xffffffffffffffff
movabs rdx, 0x1071b159fda4aa01
movabs r8, 0x1071b159fda4aa01
xor rdx, r8
cmp rcx, rdx
setl dl
cmp rax, 0
setg al
mov cl, 1
xor cl, 0
xor al, cl
xor dl, 0xff
mov cl, 1
xor cl, 1
or al, dl
or cl, 1
xor al, 0xff
and al, cl
test al, 1
jne 0x14012a6cd
jmp 0x14012a6d7
call fcn.140007f57
jmp 0x14012acdf
mov rax, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x78]
sar rcx, 1
mov qword [rsp + 0x70], rcx
cmp rax, 1
jge 0x14012a842
mov eax, dword [0x140208670]
mov r8d, dword [0x140208674]
mov ecx, eax
xor ecx, 0xffffffff
mov edx, r8d
and edx, ecx
mov r9d, r8d
xor r9d, 0xffffffff
mov ecx, eax
and ecx, r9d
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
mov edx, eax
xor edx, 0xffffffff
and edx, 0xd2499cf4
mov r8d, 0xffffffff
xor r8d, 0xd2499cf4
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov r8d, 0xa85ef48d
xor r8d, 0x7a176879
mov edx, eax
and edx, r8d
or eax, 0xd2499cf4
imul eax, edx
add eax, ecx
mov ecx, 0x3b2338bc
xor ecx, 0x5a7a4499
and eax, ecx
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0xb688ee00
mov edx, 0xffffffff
xor edx, 0xb688ee00
and eax, edx
sub eax, ecx
cmp eax, 0x24229b03
jb 0x14012ae0d
mov rcx, qword [rsp + 0x70]
mov eax, dword [0x140208678]
mov edx, 0xab975858
xor edx, 0x6a423f64
xor eax, edx
mov r8d, dword [0x14020867c]
xor r8d, 0x64df671e
mov edx, eax
xor edx, r8d
xor r8d, 0xffffffff
and eax, r8d
shl eax, 1
sub eax, edx
mov r8d, 0x79478e95
xor edx, edx
div r8d
mov edx, eax
mov eax, 0xfd5e5672
xor eax, 0xfdfc1f91
xor edx, eax
mov eax, edx
and eax, 0x68eeb994
xor edx, 0x68eeb994
or eax, edx
mov dword [rsp + 0x6c], eax
movabs rdx, 0xd475ed0f60c9f493
movabs rax, 0xd475ed0f60c9f493
xor rdx, rax
movabs r8, 0xc9b055c2a6b5a845
movabs rax, 0xb64faa3d594a57ba
xor r8, rax
call fcn.14000dc65
mov eax, dword [rsp + 0x6c]
cmp eax, 0x43a32ec2
jbe 0x14012a798
jmp 0x14012acdf
mov r8d, dword [0x140208680]
xor r8d, 0x17bd7356
or r8d, dword [0x140208684]
mov ecx, r8d
xor ecx, 0xffffffff
mov eax, 0xef999871
xor eax, 0xb5873856
and eax, ecx
mov edx, 0xffffffff
xor edx, 0x5a1ea027
and r8d, edx
mov ecx, 0xffffffff
xor ecx, 0x949feac4
mov r9d, 0x78b906b6
xor r9d, 0x22a7a691
and ecx, r9d
and edx, 0x949feac4
or eax, r8d
or ecx, edx
xor eax, ecx
sub eax, 0x1e44c651
mov ecx, 0xc7ea3df1
xor ecx, 0x788a9bb1
or eax, ecx
cmp eax, 0xa653deb0
jb 0x14012ae16
mov rdx, qword [rsp + 0x70]
mov rcx, qword [rsp + 0xb0]
mov eax, dword [0x140208688]
xor eax, dword [0x14020868c]
xor r8d, r8d
sub r8d, 0x1a96b109
add eax, r8d
xor eax, 0x704bcbf
xor r8d, r8d
sub r8d, 0xe330a6f9
sub eax, r8d
mov dword [rsp + 0x5c], eax
mov eax, 0x4c40502f
xor eax, 0x9bcc4c99
mov dword [rsp + 0x58], eax
call fcn.14012ae50
mov rdx, qword [rsp + 0xc0]
mov ecx, dword [rsp + 0x58]
mov r8, rax
mov eax, dword [rsp + 0x5c]
mov qword [rsp + 0x60], r8
cmp byte [rdx], 0
sete dl
mov byte [rsp + 0x6b], dl
cmp eax, ecx
je 0x14012a8bc
mov rax, qword [rsp + 0x88]
mov dl, byte [rsp + 0x6b]
mov cl, 1
test dl, 1
mov byte [rsp + 0x4f], cl
mov qword [rsp + 0x50], rax
jne 0x14012a95a
jmp 0x14012acfa
mov rax, qword [rsp + 0x60]
mov rdx, qword [rax]
lea rcx, [rsp + 0xc8]
xor r8d, r8d
call fcn.14012ecc0
mov rcx, qword [rsp + 0xc0]
mov rax, qword [rsp + 0x88]
mov dl, byte [rcx]
mov r8b, 0x29
xor r8b, 0x29
mov cl, 1
cmp dl, r8b
mov byte [rsp + 0x4f], cl
mov qword [rsp + 0x50], rax
jne 0x14012acfa
mov rcx, qword [rsp + 0xd0]
mov rdx, qword [rsp + 0xc8]
call fcn.14012b167
mov cl, al
mov rax, qword [rsp + 0xc0]
mov al, byte [rax]
test al, al
sete al
mov byte [rsp + 0x4e], al
and al, cl
test al, 1
jne 0x14012a9d8
jmp 0x14012acab
mov eax, dword [0x140208690]
mov r8d, dword [0x140208694]
mov ecx, 0x2586fbc3
xor ecx, 0xda79043c
mov r9d, r8d
xor r9d, ecx
mov edx, eax
and edx, r9d
mov ecx, eax
or ecx, r9d
mov r9d, 0x369121e0
xor r9d, 0xc96ede1f
xor ecx, r9d
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, 0xccb911f8
xor edx, edx
div ecx
and eax, 0x6f6c5b9c
sub eax, 0x938ff92a
cmp eax, 0xd7a7624
jb 0x14012ae1f
mov rcx, qword [rsp + 0x88]
mov eax, dword [0x140208698]
mov r8d, dword [0x14020869c]
xor r8d, 0x73c7602b
mov edx, 0x78eb9805
xor edx, 0x78eb9805
sub edx, r8d
add eax, edx
imul eax, eax, 0x7ef89824
or eax, 0xaca7857c
mov r8d, 0x5929bbb3
xor r8d, 0xfc56fce0
xor edx, edx
div r8d
mov rdx, qword [rsp + 0xb0]
mov rdx, qword [rdx]
mov qword [rsp + 0x40], rdx
cmp rcx, rdx
setl cl
mov byte [rsp + 0x4d], cl
cmp eax, 0x1be640a3
ja 0x14012aa3e
mov al, byte [rsp + 0x4d]
test al, 1
jne 0x14012ac23
jmp 0x14012aabd
mov eax, dword [0x1402086a0]
mov ecx, 0x9efe5893
xor ecx, 0xffd85b48
xor eax, ecx
mov edx, dword [0x1402086a4]
xor edx, 0xefbb30c6
xor eax, 0xffffffff
mov ecx, 0xc67caeb7
xor ecx, 0x39835148
xor edx, ecx
mov ecx, 0x9292a465
xor ecx, 0xad21f572
mov r8d, 0xb267a95f
xor r8d, 0x4d9856a0
xor ecx, r8d
or eax, edx
or ecx, 0x3fb35117
xor eax, 0xffffffff
and eax, ecx
or eax, 0xea71a516
mov ecx, eax
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xafb7a878
and ecx, edx
mov edx, 0xda901689
xor edx, 0x256fe976
xor eax, edx
mov edx, 0xffffffff
xor edx, 0xafb7a878
and eax, edx
or ecx, eax
mov eax, 0x1c863750
xor eax, 0xe379c8af
xor ecx, eax
mov eax, ecx
and eax, 0x6911d356
xor ecx, 0x6911d356
or eax, ecx
cmp eax, 0x6f4559e1
jb 0x14012ae28
mov rcx, qword [rsp + 0x88]
mov eax, dword [0x1402086a8]
xor eax, 0x999000fd
mov r8d, dword [0x1402086ac]
mov edx, 0x511af5c7
xor edx, 0xc4aa405
xor r8d, edx
xor edx, edx
div r8d
and eax, 0x106544be
mov r8d, 0x502043da
xor edx, edx
div r8d
mov rdx, qword [rsp + 0x40]
mov r8d, eax
mov r9d, 0xffffffff
xor r9d, 0x7d7971e7
mov eax, r8d
xor eax, r9d
and eax, r8d
mov dword [rsp + 0x3c], eax
movabs rax, 0x1c4b9faf7aead4dd
movabs r8, 0xe3b4605085152b22
xor rax, r8
movabs r8, 0x2f3cf5ffea4433c3
movabs r9, 0xd0c30a0015bbcc3c
xor r8, r9
xor rax, r8
xor r8d, r8d
sub r8, 1
sub rax, r8
sub rdx, rax
call fcn.140014583
mov eax, dword [rsp + 0x3c]
cmp eax, 0xa1033928
jae 0x14012ab6d
jmp 0x14012acdf
mov rax, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x90]
mov rcx, qword [rcx]
add rcx, 8
shl rax, 3
add rcx, rax
mov rdx, qword [rsp + 0xc8]
call fcn.14012ee5d
mov rdx, qword [rsp + 0xc0]
mov rax, qword [rsp + 0x88]
mov cl, 1
cmp byte [rdx], 0
mov byte [rsp + 0x4f], cl
mov qword [rsp + 0x50], rax
jne 0x14012acfa
lea rcx, [rsp + 0xc8]
call fcn.14012eede
mov rcx, qword [rsp + 0xc0]
mov rax, qword [rsp + 0x88]
mov rdx, qword [rsp + 0x70]
mov cl, byte [rcx]
cmp cl, 0
cmove rax, rdx
mov byte [rsp + 0x4f], cl
mov qword [rsp + 0x50], rax
jmp 0x14012acfa
mov al, byte [rsp + 0x4e]
test al, 1
jne 0x14012acbc
jmp 0x14012acdf
mov rcx, qword [rsp + 0xc8]
call fcn.14012eee6
mov rax, qword [rsp + 0xc0]
cmp byte [rax], 0
je 0x14012ad56
jmp 0x14012ad51
mov rax, qword [rsp + 0x88]
mov rcx, qword [rsp + 0xc0]
mov cl, byte [rcx]
mov byte [rsp + 0x4f], cl
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0xc0]
mov cl, byte [rsp + 0x4f]
mov rdx, qword [rsp + 0x50]
mov qword [rsp + 0x30], rdx
mov byte [rsp + 0x3b], cl
mov byte [rax], 0
mov rcx, qword [rsp + 0xc8]
call fcn.14012eee6
mov rax, qword [rsp + 0xc0]
mov al, byte [rax]
mov cl, 0xf3
xor cl, 0xf3
cmp al, cl
jne 0x14012ad51
mov al, byte [rsp + 0x3b]
mov rcx, qword [rsp + 0xc0]
mov byte [rcx], al
cmp al, 0
je 0x14012ad7c
jmp 0x14012adfb
mov rax, qword [rsp + 0x88]
mov rcx, qword [rsp + 0xb0]
mov rcx, qword [rcx]
mov qword [rsp + 0x28], rcx
cmp rax, rcx
jl 0x14012add0
jmp 0x14012ad8e
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x98], rax
jmp 0x14012a445
mov rcx, qword [rsp + 0x88]
mov rdx, qword [rsp + 0x28]
movabs rax, 0xf051b66770422a79
sub rdx, rax
add rdx, 0xffffffffffffffff
movabs rax, 0xcc0be328497d7145
movabs r8, 0x3c5a554f393f5b3c
xor rax, r8
add rdx, rax
call fcn.140014583
jmp 0x14012adfb
mov rax, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x90]
mov rcx, qword [rcx]
add rcx, 8
shl rax, 3
add rcx, rax
mov rdx, qword [rsp + 0xd0]
call fcn.14012ee5d
nop
add rsp, 0xd8
ret
call 0x129d205ef
idiv rdi
invalid
call 0x129fdb75c
invalid
rcl ebp, 1
mov bl, 0xac
jmp 0x14012a8bc
lahf
fld xword [rbx]
mov esi, 0xfffc16e9
call rsp
xchg ebp, eax
hlt
invalid