Function at 0x140002f30
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0x30
lea rbp, [rsp + 0x30]
mov qword [rbp - 0x18], rcx
mov eax, 0x10
call fcn.1401c7680
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x10], rax
mov rax, rcx
add rax, 8
mov qword [rbp - 8], rax
mov rcx, qword [rcx + 8]
sub rsp, 0x20
call fcn.140001ad0
add rsp, 0x20
test al, 1
jne 0x140002f7b
jmp 0x140002f8f
mov rax, qword [rbp - 8]
mov rcx, qword [rax]
sub rsp, 0x20
call fcn.14000f700
add rsp, 0x20
mov rax, qword [rbp - 0x18]
mov rax, qword [rax + 0x20]
mov qword [rbp - 0x20], rax
cmp rax, 0
je 0x140002fe4
mov rax, qword [rbp - 0x20]
mov rcx, qword [rax]
mov rdx, 0xffffffffffffffff
movabs rax, 0x4000000000000000
xor rdx, rax
mov rax, rcx
xor rax, rdx
and rax, rcx
cmp rax, 0
jne 0x140002fe4
mov rcx, qword [rbp - 0x20]
sub rsp, 0x20
call fcn.14000e572
add rsp, 0x20
mov rax, qword [rbp - 0x18]
mov rcx, qword [rbp - 0x10]
mov rdx, qword [rax + 0x28]
mov qword [rcx], rdx
mov rax, qword [rax + 0x30]
mov qword [rcx + 8], rax
sub rsp, 0x20
call fcn.14000f88b
mov rax, qword [rbp - 0x18]
add rsp, 0x20
mov rcx, rax
add rcx, 0x38
mov qword [rbp - 0x28], rcx
mov rcx, qword [rax + 0x38]
sub rsp, 0x20
call fcn.140001ad0
add rsp, 0x20
test al, 1
jne 0x140003035
jmp 0x140003149
mov eax, dword [0x1401c8320]
sub eax, dword [0x1401c8324]
mov ecx, 0x4d566a25
xor edx, edx
div ecx
mov ecx, 0x562aa2e7
xor ecx, 0x6d6d4b07
mov edx, 0xac6ed3c9
xor edx, 0x53912c36
xor ecx, edx
xor edx, edx
sub edx, 1
sub ecx, edx
sub eax, ecx
mov ecx, eax
xor ecx, 0xc1be533a
mov edx, 0xc30c0bb1
xor edx, 0x3cf3f44e
xor ecx, edx
mov edx, 0xde58b832
xor edx, 0x1fe6eb08
or eax, edx
and eax, ecx
mov ecx, 0x7ca37a49
xor ecx, 0x2f46450e
cmp eax, ecx
ja 0x14000322b
mov rax, qword [rbp - 0x28]
mov edx, dword [0x1401c8328]
mov r9d, dword [str.0E__]
mov r10d, r9d
xor r10d, 0xffffffff
mov r8d, edx
and r8d, r10d
mov ecx, edx
or ecx, r10d
xor ecx, 0xffffffff
imul ecx, r8d
mov r8d, edx
and r8d, r9d
or edx, r9d
imul edx, r8d
add edx, ecx
add edx, 0x5347cf1a
mov ecx, edx
xor ecx, 0xffffffff
and ecx, 0x7706ccf4
mov r8d, 0xffffffff
xor r8d, 0x7706ccf4
and edx, r8d
or ecx, edx
mov edx, 0x616f9834
xor edx, 0xedf4da7e
and edx, ecx
xor edx, 0xffffffff
mov r8d, 0x9f4642c0
xor r8d, 0x13dd008a
add ecx, r8d
add ecx, 1
add ecx, edx
mov dword [rbp - 0x2c], ecx
mov rcx, qword [rax]
sub rsp, 0x20
call fcn.14000f700
mov eax, dword [rbp - 0x2c]
add rsp, 0x20
cmp eax, 0x41142ada
je 0x14000322b
jmp 0x140003149
mov ecx, dword [0x1401c8330]
mov eax, 0x4f36b12f
xor eax, 0x24854b4a
xor ecx, eax
mov edx, dword [0x1401c8334]
mov eax, 0x6f6d897d
xor eax, 0x9f14e5f2
xor edx, eax
mov eax, ecx
and eax, edx
or ecx, edx
add eax, ecx
imul eax, eax, 0x883248a7
mov ecx, 0xebc346dc
xor edx, edx
div ecx
mov ecx, eax
mov eax, ecx
or eax, eax
mov edx, 0x8bed2d5
xor edx, 0xf7412d2a
xor eax, edx
mov edx, 0x678d2a2f
xor edx, 0x9f407f94
mov r8d, 0xc9b8c9fe
xor r8d, 0x31759c45
or edx, r8d
xor edx, 0xffffffff
mov r8d, 0xd1e923b9
xor r8d, 0x2e16dc46
xor eax, r8d
xor edx, 0xffffffff
and eax, edx
or ecx, 0xf8cd55bb
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0x42cbfc1a
xor ecx, 0xbd3403e5
xor eax, ecx
cmp eax, 0x48b0a25c
jb 0x140003234
sbb bh, ah
retf
mov eax, dword [0x1401c8338]
xor eax, 0xfa767f95
xor eax, dword [0x1401c833c]
sub eax, 0xed32045f
sub eax, 0xd6a0126
add eax, 0xed32045f
mov ecx, 0xbec9cc6f
xor edx, edx
div ecx
or eax, 0x5abfb221
cmp eax, 0xe46c6240
je 0x1400031ed
mov rsp, rbp
pop rbp
ret
jg 0x1400031d6
push rbx
pop rsp
jmp 0x1400030a2
jle 0x14000322b
movabs al, byte [0x1f0fffffffb0e951]
add byte [rax - 0x7d], cl
in al, dx
push 0x244c8948
mov rax, rcx
add rax, 8
mov qword [rsp + 0x50], rax
mov rcx, qword [rcx + 8]
call fcn.140001ad0
test al, 1
jne 0x14000326b
jmp 0x140003278
mov rax, qword [rsp + 0x50]
mov rcx, qword [rax]
call fcn.14000f700
mov rax, qword [rsp + 0x48]
mov rax, qword [rax + 0x20]
mov qword [rsp + 0x40], rax
cmp rax, 0
je 0x1400033d4
mov rcx, qword [rsp + 0x40]
movabs rax, 0x4000000000000000
and rax, qword [rcx]
cmp rax, 0
jne 0x1400033d4
mov ecx, dword [0x1401c8340]
or ecx, dword [0x1401c8344]
xor ecx, 0xb1ebd7ed
xor ecx, 0x7f81ee60
mov eax, ecx
or eax, eax
mov edx, 0x1817372b
xor edx, 0xe7e8c8d4
xor eax, edx
mov edx, 0xffffffff
xor edx, 0x8e85a1dc
mov r8d, 0xffffffff
xor r8d, 0x8e85a1dc
and edx, r8d
xor eax, 0xffffffff
xor edx, 0xffffffff
and eax, edx
or ecx, 0x8e85a1dc
xor ecx, 0xffffffff
xor eax, 0xffffffff
mov edx, 0x49d9d86f
xor edx, 0xb6262790
xor ecx, edx
and eax, ecx
cmp eax, 0xd8bcad53
jae 0x1400034ff
mov rcx, qword [rsp + 0x40]
mov edx, dword [0x1401c8348]
mov r8d, dword [0x1401c834c]
mov eax, edx
xor eax, 0xffffffff
mov r10d, 0x44d12726
xor r10d, 0xbb2ed8d9
mov r9d, edx
xor r9d, r10d
and eax, r9d
mov r9d, r8d
xor r9d, 0xffffffff
mov r10d, r8d
xor r10d, 0xffffffff
and r9d, r10d
or eax, r9d
xor eax, 0xffffffff
xor edx, 0xffffffff
mov r9d, 0x424eff73
xor r9d, 0xbdb1008c
xor r8d, r9d
and edx, r8d
xor eax, 0xffffffff
xor edx, 0xffffffff
and eax, edx
sub eax, 0x30659adc
sub eax, 0xb9042f51
mov edx, 0x557cd85b
xor edx, 0x65194287
add eax, edx
imul eax, eax, 0x998c4f48
mov edx, 0x8a24e0bf
xor edx, 0x8a24e0bf
sub edx, eax
xor eax, eax
sub eax, 0x9f0783c1
add edx, eax
xor eax, eax
sub eax, edx
mov dword [rsp + 0x3c], eax
call fcn.14000e572
mov eax, dword [rsp + 0x3c]
cmp eax, 0xe745ce31
jae 0x14000331e
jmp 0x1400033d4
mov ecx, dword [0x1401c8350]
add ecx, dword [0x1401c8354]
add ecx, 0x58bedc6
mov eax, ecx
xor eax, 0xffffffff
and eax, 0xd580f1ef
mov edx, 0xffffffff
xor edx, 0xd580f1ef
and ecx, edx
or eax, ecx
and eax, 0xd7fdd7c5
cmp eax, 0xfc27c58e
je 0x140003508
mov eax, dword [0x1401c8358]
mov ecx, dword [0x1401c835c]
xor ecx, 0xe2130c17
and eax, ecx
mov ecx, 0xa3052edd
xor edx, edx
div ecx
mov ecx, eax
mov rax, qword [rsp + 0x48]
mov r9d, 0xffffffff
xor r9d, 0x7054783b
mov r8d, ecx
and r8d, r9d
mov edx, ecx
or edx, r9d
mov r9d, 0xe9b80c2e
xor r9d, 0x1647f3d1
xor edx, r9d
imul edx, r8d
mov r8d, ecx
and r8d, 0x7054783b
mov r9d, 0x16283dc9
xor r9d, 0x667c45f2
or ecx, r9d
imul ecx, r8d
add ecx, edx
mov edx, 0x76867f07
xor edx, 0xfc2f5477
or ecx, edx
mov dword [rsp + 0x34], ecx
mov rcx, qword [rax + 0x28]
mov qword [rsp + 0x58], rcx
mov rax, qword [rax + 0x30]
mov qword [rsp + 0x60], rax
lea rcx, [rsp + 0x58]
call fcn.14000f88b
mov rax, qword [rsp + 0x48]
mov rcx, rax
add rcx, 0x38
mov qword [rsp + 0x28], rcx
mov rcx, qword [rax + 0x38]
call fcn.140001ad0
mov cl, al
mov eax, dword [rsp + 0x34]
mov byte [rsp + 0x3b], cl
cmp eax, 0x300ac6f1
jb 0x14000340f
mov al, byte [rsp + 0x3b]
test al, 1
jne 0x1400034ec
jmp 0x1400034f9
mov rax, qword [rsp + 0x28]
mov rcx, qword [rax]
call fcn.14000f700
nop
add rsp, 0x68
ret
invalid
enter 0x2ba2, 0x57
jmp 0x14000340f