Function at 0x14012d5d0
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0xa0
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x18], 0xfffffffffffffffe
mov qword [rbp + 8], rdx
mov qword [rbp + 0x10], rcx
mov ecx, dword [0x14018f834]
add ecx, dword [0x14018f838]
sub ecx, 0x4d486d28
sub ecx, 0xb407c102
add ecx, 0x4d486d28
add ecx, 0x548b252b
sub ecx, 0xb2573a14
sub ecx, 0x548b252b
mov eax, ecx
xor eax, 0xffffffff
and eax, 0x27c89706
xor ecx, 0xffffffff
and ecx, 0x27c89706
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
cmp eax, 0x5d2a6e12
jb 0x14012da82
mov rdx, qword [rbp + 0x10]
mov r9, qword [rbp + 8]
mov eax, dword [0x14018f83c]
mov r10d, dword [0x14018f840]
mov r11d, r10d
not r11d
mov r8d, eax
and r8d, r11d
mov ecx, eax
or ecx, r11d
not ecx
imul ecx, r8d
mov r8d, eax
and r8d, r10d
or eax, r10d
imul eax, r8d
add eax, ecx
imul eax, eax, 0xefa75c05
add eax, 0x1a1ec905
mov dword [rbp - 4], eax
mov eax, 0x10
mov qword [rbp - 0x18], rax
call fcn.14014d730
sub rsp, rax
mov rax, qword [rbp - 0x18]
mov r8, rsp
mov qword [rbp - 0x28], r8
call fcn.14014d730
sub rsp, rax
mov rcx, rsp
mov qword [rbp - 0x20], rcx
mov eax, 0x70
call fcn.14014d730
sub rsp, rax
mov rax, qword [rbp - 0x18]
mov r10, rsp
mov qword [rbp - 0x10], r10
call fcn.14014d730
sub rsp, rax
mov eax, dword [rbp - 4]
mov r10, rsp
mov qword [rbp], r10
mov qword [r8], r9
mov qword [rcx], rdx
cmp eax, 0x63606c51
jbe 0x14012d646
mov rax, qword [rbp - 0x20]
cmp qword [rax], 0
setne al
mov byte [rbp - 0x29], al
mov al, byte [rbp - 0x29]
test al, 1
jne 0x14012d713
jmp 0x14012da37
mov eax, dword [0x14018f854]
mov r8d, dword [0x14018f858]
mov r9d, r8d
xor r9d, 0xffffffff
mov edx, eax
and edx, r9d
mov ecx, eax
or ecx, r9d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, 0x991b7e0d
xor edx, edx
div ecx
mov ecx, eax
mov eax, ecx
and eax, 0x1ce1961
xor ecx, 0x1ce1961
or eax, ecx
mov ecx, eax
add ecx, 1
xor eax, 0xffffffff
or eax, 0x5a8d11ee
add eax, ecx
cmp eax, 0x26e95b1
jae 0x14012dab8
mov rax, qword [rbp - 0x20]
mov rax, qword [rax]
mov qword [rbp - 0x38], rax
mov rcx, qword [rbp - 0x38]
mov edx, dword [0x14018f86c]
add edx, dword [0x14018f870]
and edx, 0x649f4306
mov eax, edx
xor eax, 0xbad228d2
and eax, edx
and eax, 0x79b6a5e6
cmp qword [rcx], 0
setne cl
mov byte [rbp - 0x39], cl
cmp eax, 0x7836e33
jae 0x14012dabd
mov al, byte [rbp - 0x39]
test al, 1
jne 0x14012da37
mov eax, dword [0x14018f884]
xor edx, edx
div dword [0x14018f888]
mov ecx, eax
add ecx, 0xf71447ae
mov eax, ecx
xor eax, 0x4103d8df
and ecx, 0xbefc2720
shl ecx, 1
sub ecx, eax
mov eax, ecx
xor eax, 0xba40a067
and eax, ecx
cmp eax, 0xb2414ffe
jae 0x14012dac2
mov eax, dword [0x14018f88c]
xor edx, edx
div dword [0x14018f890]
mov edx, eax
xor edx, 0xffffffff
and edx, 0xbecd731f
mov ecx, eax
and ecx, 0x41328ce0
imul ecx, edx
mov edx, eax
and edx, 0xbecd731f
or eax, 0xbecd731f
imul eax, edx
add eax, ecx
add eax, 0xfacee175
xor eax, 0x4ea0e52c
mov dword [rbp - 0x54], eax
mov ecx, 0x30
sub rsp, 0x20
call fcn.14014d5c4
mov rdx, qword [rbp]
mov rcx, qword [rbp - 0x28]
add rsp, 0x20
mov r8, rax
mov eax, dword [rbp - 0x54]
mov qword [rbp - 0x50], r8
mov byte [rdx], 1
mov rcx, qword [rcx]
mov qword [rbp - 0x48], rcx
cmp eax, 0x669afcd9
je 0x14012d802
mov ecx, dword [0x14018f894]
xor eax, eax
sub eax, dword [0x14018f898]
add ecx, eax
mov eax, ecx
and eax, 0xab0e6abb
xor ecx, 0xab0e6abb
or eax, ecx
mov edx, eax
and edx, 0x1167efd7
mov ecx, eax
or ecx, 0x1167efd7
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0xee981028
or eax, 0xee981028
imul eax, edx
add eax, ecx
imul eax, eax, 0xf84520b
cmp eax, 0x65c588fa
jbe 0x14012dae0
mov rcx, qword [rbp - 0x48]
sub rsp, 0x20
call fcn.14012f030
add rsp, 0x20
mov qword [rbp - 0x60], rax
mov eax, dword [0x14018f8ac]
xor eax, dword [0x14018f8b0]
xor eax, 0xe5640502
add eax, 0x3dc6f66c
sub eax, 0x1bc49d61
sub eax, 0x3dc6f66c
xor eax, 0xa65bb374
cmp eax, 0xc11b76d8
je 0x14012d8eb
mov rdx, qword [rbp - 0x60]
mov rcx, qword [rbp - 0x10]
sub rsp, 0x20
call fcn.14012f8d0
add rsp, 0x20
jmp 0x14012d935
mov edx, dword [0x14018f8b4]
sub edx, dword [0x14018f8b8]
mov ecx, edx
xor ecx, 0xffffffff
mov eax, ecx
and eax, 0x3d48d0d7
and edx, 0xc2b72f28
or eax, edx
xor eax, 0xdc05ac58
or ecx, 0x1eb28370
xor ecx, 0xffffffff
or eax, ecx
imul eax, eax, 0xc4ed0286
add eax, 0x55f6b99f
sub eax, 0x4624fb42
sub eax, 0x55f6b99f
cmp eax, 0xc50f41a7
jae 0x14012daf6
mov rdx, qword [rbp - 0x10]
mov rcx, qword [rbp - 0x50]
sub rsp, 0x20
xor eax, eax
mov r8d, eax
call fcn.1401300b0
add rsp, 0x20
jmp 0x14012d9a4
mov rcx, qword [rbp - 0x20]
mov rdx, qword [rbp]
mov r9d, dword [0x14018f8cc]
xor r9d, dword [0x14018f8d0]
add r9d, 0xc85d7fad
sub r9d, 0x45527477
sub r9d, 0xc85d7fad
mov r8d, r9d
xor r8d, 0xffffffff
mov eax, r8d
and eax, 0x974d745d
and r9d, 0x68b28ba2
or eax, r9d
xor eax, 0x8e8056c5
or r8d, 0xe632dd67
xor r8d, 0xffffffff
or eax, r8d
imul eax, eax, 0xac1c140a
mov byte [rdx], 0
mov rcx, qword [rcx]
mov qword [rbp - 0x68], rcx
cmp eax, 0xd2cce72b
jb 0x14012dafb
mov rcx, qword [rbp - 0x10]
mov rax, qword [rbp - 0x68]
mov rdx, qword [rbp - 0x50]
mov qword [rax], rdx
sub rsp, 0x20
call fcn.14013fb70
add rsp, 0x20
jmp 0x14012da37
mov ecx, dword [0x14018f94c]
add ecx, dword [0x14018f950]
mov eax, ecx
and eax, 0x7f0bb404
or ecx, 0x7f0bb404
add eax, ecx
mov ecx, 0x80e3365a
xor edx, edx
div ecx
mov ecx, eax
mov eax, ecx
and eax, 0xedf30c51
or ecx, 0xedf30c51
add eax, ecx
cmp eax, 0xaa6acc4a
jb 0x14012db07
mov eax, 2
lea rsp, [rbp + 0x20]
pop rbp
ret
mov rcx, qword [rbp + 0x10]
mov r8, qword [rbp + 8]
mov eax, 0x10
mov qword [rbp - 0x78], rax
call fcn.14014d730
sub rsp, rax
mov rax, qword [rbp - 0x78]
mov rdx, rsp
call fcn.14014d730
sub rsp, rax
mov rax, rsp
mov qword [rdx], r8
mov qword [rax], rcx
jmp 0x14012d646
jmp 0x14012d778
jmp 0x14012d783
mov ecx, 0x30
sub rsp, 0x20
call fcn.14014d5c4
add rsp, 0x20
mov rax, qword [rbp]
mov byte [rax], 1
jmp 0x14012d802
mov rcx, qword [rbp - 0x48]
sub rsp, 0x20
call fcn.14012f030
add rsp, 0x20
jmp 0x14012d8d6
jmp 0x14012d985
mov rax, qword [rbp]
mov byte [rax], 0
jmp 0x14012d9a4
jmp 0x14012da37