Function at 0x14012e0c0
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0x1d0
lea rbp, [rsp + 0x80]
mov qword [rbp - 0x18], rcx
mov qword [rbp - 0x10], rcx
mov eax, 0x10
mov qword [rbp - 8], rax
call fcn.1401da3e0
sub rsp, rax
mov rax, qword [rbp - 8]
mov rcx, rsp
mov qword [rbp + 0x10], rcx
call fcn.1401da3e0
sub rsp, rax
mov rax, qword [rbp - 8]
mov rcx, rsp
mov qword [rbp], rcx
call fcn.1401da3e0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 8], rax
sub rsp, 0x20
call fcn.14015ddd5
mov rcx, qword [rbp + 0x10]
add rsp, 0x20
mov qword [rbp + 0x20], rax
add rax, 0x60
mov qword [rbp + 0x18], rax
mov ax, 0x52c6
xor ax, 0x53be
mov word [rcx], ax
sub rsp, 0x20
call fcn.140065550
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x20]
mov qword [rbp + 0x28], rcx
cmp byte [rax + 0x60], 0
jne 0x14012e9cb
movabs rdx, 0xa293f1a7ac83b835
movabs rax, 0xa293f1a7ac83b825
xor rdx, rax
lea rcx, [rbp + 0x140]
sub rsp, 0x20
call fcn.14012eada
mov rax, qword [rbp + 0x28]
add rsp, 0x20
mov rcx, qword [rax]
mov qword [rbp + 0xe0], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0xe8], rax
lea rcx, [rbp + 0x140]
mov rdx, 0xffffffff80000002
lea r8, [rbp + 0xe0]
mov r9d, 0x20019
sub rsp, 0x20
call fcn.1400d01e0
mov rax, qword [rbp + 0x18]
add rsp, 0x20
cmp byte [rax], 0
jne 0x14012e9cb
mov rax, qword [rbp + 0x140]
mov qword [rbp - 0x20], rax
cmp byte [rbp + 0x148], 0
jne 0x14012e32c
sub rsp, 0x20
call fcn.1400860e4
add rsp, 0x20
mov rax, qword [rbp + 0x18]
mov al, byte [rax]
mov cl, 0x7b
xor cl, 0x7b
cmp al, cl
jne 0x14012e9cb
movabs rdx, 0x8487ee0c03715faf
movabs rax, 0x8487ee0c03715fb7
xor rdx, rax
lea rcx, [rbp + 0xc8]
sub rsp, 0x20
call fcn.14012eada
add rsp, 0x20
lea rcx, [rbp + 0xc8]
sub rsp, 0x20
call fcn.14012eb44
mov rax, qword [rbp + 0x18]
add rsp, 0x20
cmp byte [rax], 0
jne 0x14012e327
mov eax, dword [0x1401e2cf8]
mov edx, dword [0x1401e2cfc]
and eax, eax
xor eax, 0xffffffff
mov ecx, edx
xor ecx, 0xffffffff
xor edx, 0xffffffff
or ecx, edx
and eax, ecx
xor eax, 0xffffffff
imul eax, eax, 0x3027f96d
mov ecx, eax
xor ecx, 0x2bfa528
xor ecx, 0xffffffff
mov edx, 0x91b626b8
xor edx, 0x93098390
or eax, edx
and eax, ecx
mov ecx, 0xa91c4640
xor edx, edx
div ecx
cmp eax, 0x7a93ca98
ja 0x14012eabf
mov rcx, qword [rbp - 0x18]
mov eax, dword [0x1401e2d00]
xor eax, 0x7876bf4f
mov r8d, dword [0x1401e2d04]
xor r8d, 0xb663c488
mov edx, eax
xor edx, r8d
mov r9d, 0xdb98034f
xor r9d, 0x2467fcb0
xor edx, r9d
or eax, r8d
and eax, edx
sub eax, 0xa143476e
xor eax, 0xc5a05d15
sub eax, 0x14f59497
mov rdx, qword [rbp + 0xc8]
mov qword [rcx], rdx
mov rdx, qword [rbp + 0xd0]
mov qword [rcx + 8], rdx
mov rdx, qword [rbp + 0xd8]
mov qword [rcx + 0x10], rdx
cmp eax, 0x6eb9f5b1
je 0x14012e2b1
jmp 0x14012eab2
jmp 0x14012e9cb
mov rcx, qword [rbp]
mov word [rcx], 0xfe
sub rsp, 0x20
call fcn.140065550
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x18]
mov qword [rbp - 0x28], rcx
cmp byte [rax], 0
jne 0x14012e99f
mov rax, qword [rbp - 0x28]
mov rcx, qword [rax]
mov qword [rbp + 0xa8], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0xb0], rax
lea rcx, [rbp + 0xb8]
lea rdx, [rbp + 0xa8]
sub rsp, 0x20
call fcn.14001e153
add rsp, 0x20
mov rax, qword [rbp + 0xb8]
mov qword [rbp - 0x40], rax
mov rax, qword [rbp + 0xc0]
mov qword [rbp - 0x38], rax
lea rcx, [rbp + 0x138]
mov edx, 8
sub rsp, 0x20
call fcn.14012eada
mov rdx, qword [rbp - 0x40]
mov rax, qword [rbp - 0x38]
mov rcx, qword [rbp - 0x20]
add rsp, 0x20
mov qword [rbp + 0x98], rdx
mov qword [rbp + 0xa0], rax
lea rdx, [rbp + 0x98]
sub rsp, 0x20
call fcn.1400d0770
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x18]
mov qword [rbp - 0x30], rcx
mov al, byte [rax]
mov cl, 0xa2
xor cl, 0xa2
cmp al, cl
jne 0x14012e99f
mov rax, qword [rbp - 0x30]
mov ecx, eax
mov dword [rbp - 0x44], ecx
movabs rcx, 0xd3f1dfc5ee1ff5a8
movabs rdx, 0xd3f1dfc4ee1ff5a8
xor rcx, rdx
and rax, rcx
cmp rax, 0
jne 0x14012e631
sub rsp, 0x20
call fcn.1400860fc
add rsp, 0x20
mov rax, qword [rbp + 0x18]
mov al, byte [rax]
mov cl, 0x95
xor cl, 0x95
cmp al, cl
jne 0x14012e99f
lea rcx, [rbp + 0x80]
mov edx, 0x18
sub rsp, 0x20
call fcn.14012eada
add rsp, 0x20
lea rcx, [rbp + 0x80]
sub rsp, 0x20
call fcn.14012eb44
mov rax, qword [rbp + 0x18]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0x86
xor cl, 0x86
cmp al, cl
je 0x14012e493
jmp 0x14012e99f
mov eax, dword [str.I___Q]
mov r8d, dword [0x1401e2d0c]
mov ecx, 0xf0874fec
xor ecx, 0x9bb0ad03
xor r8d, ecx
mov r9d, r8d
xor r9d, 0xffffffff
mov edx, eax
and edx, r9d
mov ecx, eax
or ecx, r9d
mov r9d, 0x20644983
xor r9d, 0xdf9bb67c
xor ecx, r9d
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, eax
and ecx, 0x53fc630a
xor ecx, 0xffffffff
add eax, 0x53fc630a
add eax, 1
add eax, ecx
xor eax, 0x761a4a65
imul eax, eax, 0xd4d99147
cmp eax, 0x146601f1
je 0x14012eac8
mov rcx, qword [rbp - 0x20]
mov rax, qword [rbp - 0x18]
mov edx, dword [0x1401e2d10]
xor edx, 0xba8715b9
mov r10d, dword [0x1401e2d14]
mov r8d, edx
xor r8d, 0xffffffff
mov r9d, r10d
and r9d, r8d
mov r8d, 0xeb782070
xor r8d, 0x1487df8f
mov r11d, r10d
xor r11d, r8d
mov r8d, edx
and r8d, r11d
imul r8d, r9d
mov r9d, edx
and r9d, r10d
or edx, r10d
imul edx, r9d
add edx, r8d
mov r8d, 0xb0513da6
xor r8d, 0x950163d4
sub edx, r8d
mov r8d, 0x2cca21b7
xor r8d, 0x53dee591
sub edx, r8d
add edx, 0xafc8f2eb
add edx, 0x7f14c426
mov r9d, edx
xor r9d, 0xffffffff
and r9d, 0x1b7e9bb8
mov r10d, 0xffffffff
xor r10d, 0x1b7e9bb8
mov r8d, edx
and r8d, r10d
imul r8d, r9d
mov r10d, 0xe308b9c5
xor r10d, 0xf876227d
mov r9d, edx
and r9d, r10d
or edx, 0x1b7e9bb8
imul edx, r9d
add edx, r8d
mov dword [rbp - 0x4c], edx
mov rdx, qword [rbp + 0x80]
mov qword [rax], rdx
mov rdx, qword [rbp + 0x88]
mov qword [rax + 8], rdx
mov rdx, qword [rbp + 0x90]
mov qword [rax + 0x10], rdx
sub rsp, 0x20
call fcn.1400d0b70
mov rcx, qword [rbp + 0x18]
mov eax, dword [rbp - 0x4c]
add rsp, 0x20
mov cl, byte [rcx]
mov dl, 0xc5
xor dl, 0xc5
cmp cl, dl
sete cl
mov byte [rbp - 0x45], cl
cmp eax, 0xbf1d1db2
je 0x14012e50a
mov al, byte [rbp - 0x45]
test al, 1
jne 0x14012eab2
jmp 0x14012e9cb
mov word [rbp + 0x136], 0x20a
lea rcx, [rbp + 0x136]
sub rsp, 0x20
call fcn.140065550
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x18]
mov qword [rbp - 0x58], rcx
cmp byte [rax], 0
jne 0x14012e99f
mov rax, qword [rbp - 0x58]
mov rcx, qword [rax]
mov qword [rbp + 0x60], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x68], rax
lea rcx, [rbp + 0x70]
lea rdx, [rbp + 0x60]
sub rsp, 0x20
call fcn.14001e153
add rsp, 0x20
mov rax, qword [rbp + 0x70]
mov qword [rbp - 0x68], rax
mov rax, qword [rbp + 0x78]
mov qword [rbp - 0x60], rax
lea rcx, [rbp + 0x120]
mov edx, 0x10
sub rsp, 0x20
call fcn.14012eada
mov rcx, qword [rbp - 0x68]
mov rax, qword [rbp - 0x60]
mov rdx, qword [rbp - 0x20]
mov r8, qword [rbp + 8]
add rsp, 0x20
mov qword [r8], rcx
mov qword [r8 + 8], rax
lea rcx, [rbp + 0x120]
sub rsp, 0x20
call fcn.1400d0c80
mov rax, qword [rbp + 0x18]
add rsp, 0x20
cmp byte [rax], 0
jne 0x14012e99f
cmp byte [rbp + 0x128], 0
jne 0x14012e8b3
sub rsp, 0x20
call fcn.1400860ff
add rsp, 0x20
mov rax, qword [rbp + 0x18]
mov al, byte [rax]
mov cl, 0x66
xor cl, 0x66
cmp al, cl
jne 0x14012e99f
lea rcx, [rbp + 0x48]
mov edx, 0x18
sub rsp, 0x20
call fcn.14012eada
add rsp, 0x20
lea rcx, [rbp + 0x48]
sub rsp, 0x20
call fcn.14012eb44
mov rax, qword [rbp + 0x18]
add rsp, 0x20
cmp byte [rax], 0
je 0x14012e874
mov eax, dword [0x1401e2d18]
xor eax, 0x62f8e2cf
sub eax, dword [0x1401e2d1c]
xor eax, 0xf6feb817
mov edx, 0xefff689b
xor edx, 0x10009764
mov ecx, eax
xor ecx, edx
mov edx, 0x2b63eb58
xor edx, 0xda51ac49
and edx, ecx
mov r8d, 0xb78dfba7
xor r8d, 0x46bfbcb6
mov ecx, 0xfd36d87
xor ecx, 0xf02c9278
xor r8d, ecx
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0xf1324711
mov r8d, 0xc150caec
xor r8d, 0x30628dfd
or eax, r8d
imul eax, edx
add eax, ecx
and eax, 0x424af798
cmp eax, 0xbc42c3f
jae 0x14012ead1
mov eax, dword [0x1401e2d20]
mov ecx, dword [0x1401e2d24]
mov edx, 0x5cb67b09
xor edx, 0xdebbe4f5
xor ecx, edx
and eax, ecx
mov ecx, 0xe4606062
xor edx, edx
div ecx
mov edx, eax
mov eax, 0x4c2a921b
xor eax, 0xb3d56de4
xor edx, eax
mov ecx, 0xffffffff
xor ecx, 0xf63b79e0
mov eax, 0xffffffff
xor eax, 0xc038654b
or edx, ecx
or eax, 0xc038654b
mov ecx, 0x47cef03e
xor ecx, 0xb8310fc1
xor edx, ecx
and edx, eax
mov eax, 0xaef7e6b1
xor eax, 0xea17cd17
mov ecx, edx
xor ecx, eax
mov eax, 0x585a9e1d
xor eax, 0x1cbab5bb
mov r8d, 0xd78751f6
xor r8d, 0x2878ae09
xor eax, r8d
and edx, eax
mov eax, 0x3347b9ca
xor eax, 0x3347b9c8
imul eax, edx
sub eax, ecx
cmp eax, 0x6387242e
jbe 0x14012ead1
jmp 0x14012e99f
mov rcx, qword [rbp - 0x20]
mov rax, qword [rbp - 0x18]
mov rdx, qword [rbp + 0x48]
mov qword [rax], rdx
mov rdx, qword [rbp + 0x50]
mov qword [rax + 8], rdx
mov rdx, qword [rbp + 0x58]
mov qword [rax + 0x10], rdx
sub rsp, 0x20
call fcn.1400d0b70
mov rax, qword [rbp + 0x18]
add rsp, 0x20
mov al, byte [rax]
cmp al, 0
je 0x14012eab2
jmp 0x14012e9cb
mov rax, qword [rbp + 0x120]
mov qword [rbp - 0x70], rax
movabs rdx, 0xd3bbe9fc4d5c3d9f
movabs rax, 0xd3bbe9fc4d5c3d87
xor rdx, rax
lea rcx, [rbp + 0x108]
sub rsp, 0x20
call fcn.14012eada
add rsp, 0x20
movabs rdx, 0x85e5faeee4a2866a
movabs rax, 0x85e5faeee4a28672
xor rdx, rax
lea rcx, [rbp + 0x30]
sub rsp, 0x20
call fcn.14012eada
mov edx, dword [rbp - 0x44]
mov rcx, qword [rbp - 0x70]
mov rax, qword [rbp + 0x18]
add rsp, 0x20
mov r8b, 0x75
xor r8b, 0x74
mov byte [rbp + 0x40], r8b
mov dword [rbp + 0x30], edx
mov qword [rbp + 0x38], rcx
mov rcx, qword [rbp + 0x30]
mov qword [rbp + 0x108], rcx
mov rcx, qword [rbp + 0x38]
mov qword [rbp + 0x110], rcx
mov rcx, qword [rbp + 0x40]
mov qword [rbp + 0x118], rcx
cmp byte [rax], 0
jne 0x14012e99f
mov rcx, qword [rbp - 0x20]
mov rax, qword [rbp - 0x18]
mov rdx, qword [rbp + 0x108]
mov qword [rax], rdx
mov rdx, qword [rbp + 0x110]
mov qword [rax + 8], rdx
mov rdx, qword [rbp + 0x118]
mov qword [rax + 0x10], rdx
sub rsp, 0x20
call fcn.1400d0b70
mov rax, qword [rbp + 0x18]
add rsp, 0x20
cmp byte [rax], 0
je 0x14012eab2
jmp 0x14012e9cb
mov rax, qword [rbp + 0x18]
mov rcx, qword [rbp - 0x20]
mov byte [rax], 0
sub rsp, 0x20
call fcn.1400d0b70
mov rax, qword [rbp + 0x18]
add rsp, 0x20
cmp byte [rax], 0
jne 0x14012e9cb
mov rax, qword [rbp + 0x18]
mov byte [rax], 1
sub rsp, 0x20
call fcn.14012eb64
add rsp, 0x20
mov rax, qword [rax]
mov qword [rbp - 0x78], rax
cmp word [rax + 0x12], 1
jle 0x14012ea41
mov rax, qword [rbp - 0x78]
mov rax, qword [rax + 0x18]
cmp dword [rax + 8], 0xd4054986
jne 0x14012ea41
mov rax, qword [rbp + 0x18]
mov cl, 0xb0
xor cl, 0xb0
mov byte [rax], cl
sub rsp, 0x20
call fcn.14012eb76
add rsp, 0x20
mov rcx, rax
sub rsp, 0x20
call fcn.140095e90
mov rax, qword [rbp + 0x18]
add rsp, 0x20
cmp byte [rax], 0
jne 0x14012eab2
sub rsp, 0x20
call fcn.14012eba3
add rsp, 0x20
mov rax, qword [rbp + 0x18]
cmp byte [rax], 0
jne 0x14012eab2
lea rcx, [rbp + 0xf0]
mov edx, 0x18
sub rsp, 0x20
call fcn.14012eada
add rsp, 0x20
lea rcx, [rbp + 0xf0]
sub rsp, 0x20
call fcn.14012eb44
mov rax, qword [rbp + 0x18]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0x62
xor cl, 0x62
cmp al, cl
jne 0x14012eab2
mov rax, qword [rbp - 0x18]
mov rcx, qword [rbp + 0xf0]
mov qword [rax], rcx
mov rcx, qword [rbp + 0xf8]
mov qword [rax + 8], rcx
mov rcx, qword [rbp + 0x100]
mov qword [rax + 0x10], rcx
mov rax, qword [rbp - 0x10]
lea rsp, [rbp + 0x150]
pop rbp
ret
adc eax, 0xe9fb3a64
jmp 0x15c12eac0
sbb esp, ebp
rol byte [0x1400d24ba], 0xff
xchg esi, eax
shl cl, 1
adc al, 0xe9
hlt