Function at 0x14012dc10
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0xe0
lea rbp, [rsp + 0x80]
mov eax, 0x10
mov qword [rbp + 0x28], rax
call fcn.1401c7680
sub rsp, rax
mov rax, qword [rbp + 0x28]
mov rcx, rsp
mov qword [rbp + 0x30], rcx
call fcn.1401c7680
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x38], rax
sub rsp, 0x20
call fcn.140142430
add rsp, 0x20
add rax, 0x60
mov qword [rbp + 0x40], rax
mov rax, qword [0x14024ecd0]
mov al, byte [rax]
mov cl, 0x64
xor cl, 0x64
cmp al, cl
jne 0x14012dd17
movabs rcx, 0xc0344c0b9dfd78c
movabs rax, 0xc0344c0b9dfd7cc
xor rcx, rax
movabs rdx, 0xaf9291608607b4fe
movabs rax, 0xaf9291608607b4f6
xor rdx, rax
sub rsp, 0x20
call fcn.14001217d
add rsp, 0x20
mov rcx, rax
mov rax, qword [0x1401dd770]
mov qword [rcx], rax
lea rax, [0x1401dce28]
mov qword [rcx + 0x10], rax
mov rax, qword [0x1401dced8]
mov qword [rcx + 0x18], rax
mov rax, qword [0x1401dcee0]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
lea rdx, [0x1401dce28]
lea r8, [0x1401dce8e]
lea r9, [0x1401dce43]
sub rsp, 0x30
mov qword [rsp + 0x20], 0x666f4e88
call fcn.1400120ce
add rsp, 0x30
jmp 0x14012e797
mov qword [rbp + 0x58], 0
mov rax, qword [0x1401ddb20]
mov rcx, qword [rax]
sub rsp, 0x20
call fcn.14005aed0
add rsp, 0x20
mov rax, qword [rbp + 0x40]
cmp byte [rax], 0
jne 0x14012e205
mov rax, qword [0x1401ddb20]
mov rax, qword [rax]
mov rax, qword [rax]
mov qword [rbp + 0x18], rax
xor eax, eax
mov qword [rbp + 0x20], rax
mov rcx, qword [rbp + 0x18]
mov rax, qword [rbp + 0x20]
mov qword [rbp + 0x10], rax
cmp rax, rcx
jge 0x14012e205
mov rax, qword [rbp + 0x10]
mov rcx, qword [0x1401ddb20]
mov rcx, qword [rcx]
mov qword [rbp], rcx
mov rcx, qword [rcx]
mov qword [rbp + 8], rcx
cmp rax, rcx
jl 0x14012df6b
mov eax, dword [0x1401cfc98]
xor eax, 0x98055bf3
mov edx, dword [0x1401cfc9c]
mov ecx, eax
xor ecx, edx
xor edx, 0xffffffff
and eax, edx
shl eax, 1
sub eax, ecx
mov r8d, 0xd3308b25
xor r8d, 0x788cfeb6
mov ecx, 0x3e84a3f
xor ecx, 0xfc17b5c0
xor r8d, ecx
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov r8d, 0xff148b56
xor r8d, 0x54a8fec5
mov edx, eax
and edx, r8d
or eax, 0xabbc7593
imul eax, edx
add eax, ecx
add eax, 0xb7874668
mov ecx, 0x8901e9a1
xor ecx, 0xeb769cf0
and ecx, eax
mov edx, 0x6dfc1c26
xor edx, 0x9203e3d9
xor ecx, edx
mov edx, 0x18d4cf2f
xor edx, 0x7aa3ba7e
add eax, edx
add eax, 1
add eax, ecx
cmp eax, 0xaa6d94aa
je 0x14012e79d
mov rcx, qword [rbp + 0x10]
mov rdx, qword [rbp + 8]
mov eax, dword [0x1401cfca0]
mov r10d, dword [0x1401cfca4]
mov r11d, r10d
xor r11d, 0xffffffff
mov r9d, eax
and r9d, r11d
mov r8d, eax
or r8d, r11d
xor r8d, 0xffffffff
imul r8d, r9d
mov r9d, eax
and r9d, r10d
or eax, r10d
imul eax, r9d
add eax, r8d
imul eax, eax, 0xb9ce9d9c
mov r8d, 0xe6029d40
xor r8d, 0x19fd62bf
mov r9d, eax
xor r9d, r8d
and r9d, 0x9876b40a
mov r10d, 0x41782f05
xor r10d, 0xd90e9b0f
mov r8d, 0xcce26bdd
xor r8d, 0x331d9422
xor r10d, r8d
mov r8d, eax
and r8d, r10d
imul r8d, r9d
mov r9d, eax
and r9d, 0x9876b40a
or eax, 0x9876b40a
imul eax, r9d
add eax, r8d
mov r10d, 0xffffffff
xor r10d, 0x27a88e94
mov r9d, eax
and r9d, r10d
mov r8d, eax
or r8d, r10d
xor r8d, 0xffffffff
imul r8d, r9d
mov r9d, eax
and r9d, 0x27a88e94
or eax, 0x27a88e94
imul eax, r9d
add eax, r8d
mov dword [rbp - 4], eax
mov eax, 0xc7966e2f
xor eax, 0x88de81ff
mov dword [rbp - 8], eax
movabs rax, 0x13ed84ff29399348
sub rdx, rax
movabs rax, 0xaed7ca1bcd73c1dd
movabs r8, 0x512835e4328c3e22
xor rax, r8
add rdx, rax
movabs rax, 0x13ed84ff29399348
add rdx, rax
sub rsp, 0x20
call fcn.1400122ad
mov ecx, dword [rbp - 8]
mov eax, dword [rbp - 4]
add rsp, 0x20
cmp eax, ecx
ja 0x14012de33
jmp 0x14012e205
mov eax, dword [0x1401cfca8]
mov ecx, dword [0x1401cfcac]
xor ecx, 0xcdbe1d6a
imul eax, ecx
sub eax, 0xe8521232
and eax, 0xf8d33ea
mov ecx, 0x966c90e5
xor edx, edx
div ecx
cmp eax, 0x855dcc04
jae 0x14012e7a6
mov rdx, qword [rbp + 0x40]
mov r9, qword [rbp + 0x10]
mov r8, qword [rbp]
mov ecx, dword [0x1401cfcb0]
xor ecx, 0x49caab4b
mov eax, dword [0x1401cfcb4]
or ecx, eax
mov r10d, ecx
not r10d
mov eax, ecx
and eax, 0x97f394de
and r10d, 0x680c6b21
imul r10d, eax
mov eax, ecx
and eax, 0x680c6b21
or ecx, 0x680c6b21
imul ecx, eax
mov eax, ecx
mov ecx, r10d
lea eax, [rax + rcx + 0x26fd9e69]
mov r10d, eax
not r10d
and r10d, 0x3c1f94a
mov ecx, eax
and ecx, 0xfc3e06b5
imul ecx, r10d
mov r10d, eax
and r10d, 0x3c1f94a
or eax, 0x3c1f94a
imul eax, r10d
add eax, ecx
mov ecx, 0xf4dfd66a
mov r8, qword [r8 + 8]
mov qword [rbp - 0x18], r8
lea r9, [r9 + r9*2]
mov r8, qword [r8 + r9*8 + 8]
test r8, r8
sete r8b
mov dl, byte [rdx]
test dl, dl
setne dl
mov byte [rbp - 0xa], dl
or dl, r8b
mov byte [rbp - 9], dl
cmp eax, ecx
je 0x14012df9e
mov al, byte [rbp - 9]
test al, 1
jne 0x14012e180
jmp 0x14012e065
mov rcx, qword [rbp + 0x10]
mov rax, qword [rbp - 0x18]
add rax, 8
imul rcx, rcx, 0x18
add rax, rcx
add rax, 0x10
mov rdx, qword [rax]
lea rcx, [rbp + 0x58]
sub rsp, 0x20
call fcn.140094045
add rsp, 0x20
mov rax, qword [rbp + 0x58]
mov qword [rbp - 0x20], rax
cmp byte [rax], 0
je 0x14012e190
mov ecx, dword [0x1401cfcb8]
mov eax, dword [0x1401cfcbc]
add ecx, 0xe65a0fd9
add ecx, eax
mov eax, 0x25d18f2f
xor eax, 0xc38b80f6
sub ecx, eax
mov edx, 0x18d539ae
xor edx, 0x733970ef
mov eax, ecx
and eax, edx
xor ecx, 0x6bec4941
or eax, ecx
imul eax, eax, 0xadd9e2e9
mov ecx, 0xffffffff
xor ecx, 0x721a55e6
add eax, ecx
add eax, 1
cmp eax, 0x9ce96a96
jb 0x14012e7af
mov rdx, qword [rbp - 0x20]
mov eax, dword [0x1401cfcc0]
or eax, dword [0x1401cfcc4]
mov ecx, eax
add ecx, 1
xor eax, 0xffffffff
or eax, 0x6ebf5bff
add eax, ecx
mov ecx, 0x23ddb938
xor ecx, 0xf6bde706
or eax, ecx
imul eax, eax, 0x7e6a5454
mov ecx, 0xaaba669d
xor ecx, 0x54278e8c
cmp byte [rdx + 1], 1
sete dl
mov byte [rbp - 0x21], dl
cmp eax, ecx
jae 0x14012e0f9
mov al, byte [rbp - 0x21]
test al, 1
jne 0x14012e190
jmp 0x14012e158
mov rcx, qword [rbp - 0x20]
sub rsp, 0x20
call fcn.1400941b0
call fcn.1400943c7
mov rax, qword [rbp + 0x40]
add rsp, 0x20
cmp byte [rax], 0
je 0x14012e21b
jmp 0x14012e67b
mov al, byte [rbp - 0xa]
test al, 1
jne 0x14012e205
jmp 0x14012e190
mov rax, qword [rbp + 0x10]
movabs rcx, 0xb94bcd7a9715fb97
movabs rdx, 0xb94bcd7a9715fb96
xor rcx, rdx
movabs rdx, 0x770113de31854ab1
movabs r8, 0x88feec21ce7ab54e
xor rdx, r8
xor rcx, rdx
movabs rdx, 0x8f2caf245453402
movabs r8, 0x8f2caf245453402
xor rdx, r8
movabs r8, 0xe9e4d0cb75ef5121
movabs r9, 0xe9e4d0cb75ef5120
xor r8, r9
sub rdx, r8
sub rcx, rdx
sub rax, rcx
mov qword [rbp + 0x20], rax
jmp 0x14012dd5a
mov rcx, qword [rbp + 0x58]
sub rsp, 0x20
call fcn.1400941b0
add rsp, 0x20
jmp 0x14012e797
mov rax, qword [0x14024ecd0]
mov rcx, rax
add rcx, 8
mov qword [rbp - 0x30], rcx
cmp qword [rax + 8], 0
je 0x14012e4d3
mov rcx, qword [rbp - 0x30]
sub rsp, 0x20
call fcn.140142547
add rsp, 0x20
mov rax, qword [0x14024ecd0]
mov qword [rbp - 0x40], rax
mov rax, qword [rax + 8]
mov qword [rbp - 0x38], rax
cmp rax, 1
jge 0x14012e2ab
mov rdx, qword [rbp - 0x38]
movabs rax, 0x2caf65a42abf9da0
movabs rcx, 0xc0fc12942a2ed912
xor rax, rcx
add rdx, rax
add rdx, 0xffffffffffffffff
movabs rax, 0xec537730009144b2
sub rdx, rax
xor eax, eax
mov ecx, eax
sub rsp, 0x20
call fcn.1400122ad
add rsp, 0x20
jmp 0x14012e67b
mov edx, dword [0x1401cfcc8]
xor edx, 0x4f6df2a3
mov ecx, dword [0x1401cfccc]
mov r11d, edx
xor r11d, 0xffffffff
and r11d, 0xebfa29c6
mov r8d, 0xffffffff
xor r8d, 0xebfa29c6
and edx, r8d
mov r9d, 0xd97b3b02
xor r9d, 0x2684c4fd
mov eax, ecx
xor eax, r9d
and eax, 0xebfa29c6
and ecx, r8d
or r11d, edx
or eax, ecx
xor r11d, eax
mov eax, 0x1c44f473
xor eax, 0xe3bb0b8c
mov ecx, r11d
xor ecx, eax
mov edx, 0xffffffff
xor edx, 0x3afdf701
mov r8d, 0xffffffff
xor r8d, 0x4774dd92
mov eax, ecx
and eax, 0x4774dd92
and r11d, r8d
mov r9d, edx
and r9d, 0x4774dd92
mov r10d, 0x8636e59d
xor r10d, 0xbccb129c
and r10d, r8d
or eax, r11d
or r9d, r10d
xor eax, r9d
or ecx, edx
xor ecx, 0xffffffff
mov edx, 0x469aa371
xor edx, 0x1ee7ee3
or edx, r8d
and ecx, edx
or eax, ecx
mov edx, 0x2d766a37
xor edx, 0x27c99c5a
mov ecx, 0xd5275640
xor ecx, 0x2ad8a9bf
xor edx, ecx
mov ecx, eax
and ecx, edx
mov edx, eax
xor edx, 0xabff66d
add eax, edx
sub eax, ecx
mov ecx, 0xc0f09fcb
xor ecx, 0x8e212d38
xor edx, edx
div ecx
mov ecx, 0x5c671d29
xor ecx, 0x73063c50
cmp eax, ecx
je 0x14012e7b8
mov rdx, qword [rbp - 0x38]
mov rax, qword [rbp - 0x40]
mov r8d, dword [0x1401cfcd0]
mov r9d, dword [str.yoj]
xor r9d, 0xcdd651f2
mov ecx, r8d
xor ecx, r9d
xor ecx, 0xffffffff
or r8d, r9d
and r8d, ecx
mov ecx, 0xffffffff
xor ecx, 0x8e98af88
xor r9d, r9d
sub r9d, 1
sub ecx, r9d
sub r8d, ecx
mov ecx, r8d
and ecx, ecx
mov r9d, 0xe133246
xor r9d, 0xf1eccdb9
xor ecx, r9d
mov r9d, 0xed2976fd
xor r9d, 0x3cc3fa9f
and ecx, r9d
xor ecx, 0xffffffff
mov r9d, 0xd1ea8c62
and r9d, 0xd1ea8c62
mov r10d, 0x243db963
xor r10d, 0xdbc2469c
xor r9d, r10d
and r8d, r9d
xor r8d, 0xffffffff
xor ecx, 0xffffffff
mov r9d, 0xeb919f7f
xor r9d, 0x146e6080
xor r8d, r9d
or ecx, r8d
mov r8d, ecx
xor r8d, 0xd1897037
xor r8d, 0xffffffff
mov r9d, 0x1c44c5f2
xor r9d, 0xcdcdb5c5
or ecx, r9d
and ecx, r8d
mov dword [rbp - 0x48], ecx
mov rcx, qword [rax + 0x10]
add rcx, 8
movabs r8, 0x2521af4dee761a8
movabs rax, 0x9d2b2f5e4a42e488
xor r8, rax
sub rsp, 0x20
call fcn.140090b10
mov rcx, qword [rbp + 0x40]
mov eax, dword [rbp - 0x48]
add rsp, 0x20
cmp byte [rcx], 0
sete cl
mov byte [rbp - 0x41], cl
cmp eax, 0x9f8a128b
jbe 0x14012e3b2
mov al, byte [rbp - 0x41]
test al, 1
jne 0x14012e4d3
jmp 0x14012e67b
mov rcx, qword [rbp + 0x30]
mov rdx, qword [rbp + 0x38]
mov rax, qword [0x1401ddb18]
mov rax, qword [rax]
mov r8, qword [rax + 0x58]
mov qword [rdx], r8
mov rax, qword [rax + 0x60]
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.14001c072
mov rax, qword [rbp + 0x30]
add rsp, 0x20
mov rcx, qword [rax]
mov rax, qword [rax + 8]
mov qword [rbp + 0x48], rcx
mov qword [rbp + 0x50], rax
lea rcx, [rbp + 0x48]
sub rsp, 0x20
call fcn.14011a300
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x40]
mov dl, byte [rax]
mov byte [rbp - 0x4b], dl
mov byte [rax], 0
sub rsp, 0x20
call fcn.1400de970
mov rcx, qword [rbp + 0x40]
mov al, byte [rbp - 0x4b]
add rsp, 0x20
mov cl, byte [rcx]
mov dl, 0x91
xor dl, 0x91
mov r8b, 0x98
xor r8b, 0x99
mov byte [rbp - 0x4a], r8b
cmp cl, dl
mov byte [rbp - 0x49], al
je 0x14012e56b
mov al, byte [rbp - 0x4a]
mov byte [rbp - 0x49], al
mov rax, qword [rbp + 0x40]
mov cl, byte [rbp - 0x49]
mov byte [rbp - 0x59], cl
mov cl, 0xb6
xor cl, 0xb6
mov byte [rax], cl
mov rax, qword [0x14024ecd0]
mov rcx, rax
add rcx, 8
mov qword [rbp - 0x58], rcx
mov rax, qword [rax + 8]
movabs rcx, 0xe0a47549e3596eb5
movabs rdx, 0xe0a47549e3596eb5
xor rcx, rdx
cmp rax, rcx
je 0x14012e672
mov rcx, qword [rbp - 0x58]
sub rsp, 0x20
call fcn.140142547
add rsp, 0x20
mov rax, qword [0x14024ecd0]
mov qword [rbp - 0x70], rax
mov rax, qword [rax + 8]
mov qword [rbp - 0x68], rax
movabs rcx, 0xe5b05a2d3e116443
movabs rdx, 0xe5b05a2d3e116442
xor rcx, rdx
cmp rax, rcx
jge 0x14012e631
mov rax, qword [rbp - 0x68]
mov rdx, rax
and rdx, 0xffffffffffffffff
or rax, 0xffffffffffffffff
add rdx, rax
movabs rcx, 0x95ca298abaafdb07
movabs rax, 0x95ca298abaafdb07
xor rcx, rax
sub rsp, 0x20
call fcn.1400122ad
add rsp, 0x20
jmp 0x14012e67b
mov rdx, qword [rbp - 0x68]
mov rax, qword [rbp - 0x70]
mov rcx, qword [rax + 0x10]
add rcx, 8
movabs r8, 0xc7ca3741741f2a60
movabs rax, 0x58b39c4270b70f40
xor r8, rax
sub rsp, 0x20
call fcn.140090b10
mov rax, qword [rbp + 0x40]
add rsp, 0x20
cmp byte [rax], 0
jne 0x14012e67b
mov rax, qword [rbp + 0x40]
mov cl, byte [rbp - 0x59]
mov byte [rax], cl
mov eax, dword [0x1401cfcd8]
mov ecx, dword [0x1401cfcdc]
mov edx, 0x96e1ddd4
xor edx, 0xef2e86b5
xor ecx, edx
sub eax, ecx
add eax, 0x11adb3af
mov ecx, 0xd091fcd1
xor ecx, 0x4aecca07
sub eax, ecx
sub eax, 0x11adb3af
xor eax, 0x26e28af3
imul eax, eax, 0xfe2012d7
cmp eax, 0xe09d35aa
ja 0x14012e7c1
mov rax, qword [rbp + 0x40]
mov ecx, dword [0x1401cfce0]
mov edx, dword [0x1401cfce4]
mov r8d, 0xe19e982d
xor r8d, 0x48bfa93d
xor edx, r8d
sub ecx, edx
mov r8d, 0x498c804f
xor r8d, 0xaecd75bd
mov edx, ecx
and edx, r8d
mov r8d, 0xc10d291e
xor r8d, 0xc10d291c
imul edx, r8d
xor ecx, 0xe741f5f2
add ecx, edx
mov edx, 0xffffffff
xor edx, 0x6c615493
add ecx, edx
add ecx, 1
mov edx, 0x920e4b46
xor edx, 0x920e4b46
mov r8d, 0x29cafa00
xor r8d, 0xfde8031b
sub edx, r8d
sub ecx, edx
mov dword [rbp - 0x78], ecx
mov ecx, 0xe4cb90f4
xor ecx, 0x32dba18
mov dword [rbp - 0x7c], ecx
mov cl, byte [rax]
mov byte [rbp - 0x7d], cl
mov byte [rax], 0
sub rsp, 0x20
call fcn.140093309
mov rdx, qword [rbp + 0x40]
mov ecx, dword [rbp - 0x7c]
mov eax, dword [rbp - 0x78]
add rsp, 0x20
cmp byte [rdx], 0
sete dl
mov byte [rbp - 0x71], dl
cmp eax, ecx
jbe 0x14012e6c3
mov al, byte [rbp - 0x71]
test al, 1
jne 0x14012e78e
jmp 0x14012e797
mov rax, qword [rbp + 0x40]
mov cl, byte [rbp - 0x7d]
mov byte [rax], cl
lea rsp, [rbp + 0x60]
pop rbp
ret
mov byte [r15], dil
jmp 0x14012de33
invalid
xor bh, byte [rbx + 0x4d]
or cl, ch
stc
invalid
sub byte [rbp + 0x7c], bl
shr ecx, 1
int1
sti
invalid
popfq
sub byte [rax + rbp*2 - 0x10617], dl
jmp qword [rsi + 0xf]