Function at 0x140194530
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x88
mov qword [rsp + 0x68], rcx
call fcn.140193ed0
mov rcx, qword [rsp + 0x68]
mov qword [rsp + 0x70], rax
mov rcx, qword [rcx]
call fcn.140193ef0
test al, 1
jne 0x140194560
jmp 0x140194593
mov rax, qword [rsp + 0x68]
mov rcx, qword [rax]
call fcn.14008c4e0
mov rax, qword [rsp + 0x70]
mov al, byte [rax]
mov cl, 0xde
xor cl, 0xde
cmp al, cl
jne 0x140194a40
mov rax, qword [rsp + 0x68]
mov rcx, qword [rax]
mov edx, 8
call fcn.14000f52f
mov rax, qword [rsp + 0x68]
mov rcx, qword [rax + 8]
mov qword [rsp + 0x78], rcx
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x80], rax
lea rcx, [rsp + 0x78]
call fcn.140193c60
mov rax, qword [rsp + 0x70]
mov al, byte [rax]
mov cl, 0x52
xor cl, 0x52
cmp al, cl
jne 0x140194a40
mov rax, qword [rsp + 0x68]
mov rax, qword [rax + 0x20]
mov qword [rsp + 0x60], rax
cmp rax, 0
je 0x140194692
mov rax, qword [rsp + 0x60]
mov rax, qword [rax]
movabs rcx, 0xc6b62ee90fd0df7
movabs rdx, 0xf3949d116f02f208
xor rcx, rdx
xor rax, rcx
movabs rdx, 0x144b230c54e478a5
movabs rcx, 0x544b230c54e478a5
xor rdx, rcx
movabs rcx, 0x94f2037d958f34dd
movabs r8, 0x6b0dfc826a70cb22
xor rcx, r8
xor rdx, rcx
movabs rcx, 0xbae634948d51239c
movabs r8, 0x58c790597a9639fa
xor rcx, r8
movabs r8, 0x626cf8cd623de5e1
movabs r9, 0x9d9307329dc21a1e
xor r8, r9
xor rcx, r8
or rax, rdx
movabs rdx, 0xe221a4cdf7c71a66
or rcx, rdx
xor rax, 0xffffffffffffffff
and rax, rcx
cmp rax, 0
jne 0x140194692
mov rcx, qword [rsp + 0x60]
call fcn.14000f4df
mov rax, qword [rsp + 0x68]
mov rax, qword [rax + 0x30]
mov qword [rsp + 0x58], rax
cmp rax, 0
je 0x140194716
mov rax, qword [rsp + 0x58]
mov rax, qword [rax]
xor rax, 0xffffffffffffffff
mov rcx, 0xffffffffffffffff
movabs rdx, 0x4000000000000000
xor rcx, rdx
mov rdx, 0xffffffffffffffff
movabs r8, 0xb36e76bd7b59154e
xor rdx, r8
or rax, rcx
movabs rcx, 0x33cf8068559333e2
movabs r8, 0x80a1f6d52eca26ac
xor rcx, r8
or rcx, rdx
xor rax, 0xffffffffffffffff
and rax, rcx
cmp rax, 0
jne 0x140194716
mov rcx, qword [rsp + 0x58]
call fcn.14000f4df
mov rax, qword [rsp + 0x68]
mov rax, qword [rax + 0x40]
mov qword [rsp + 0x50], rax
cmp rax, 0
je 0x140194754
mov rcx, qword [rsp + 0x50]
movabs rax, 0x4000000000000000
and rax, qword [rcx]
cmp rax, 0
jne 0x140194754
mov rcx, qword [rsp + 0x50]
call fcn.14000f4df
mov rax, qword [rsp + 0x68]
mov rax, qword [rax + 0x50]
mov qword [rsp + 0x48], rax
cmp rax, 0
je 0x1401948df
mov rax, qword [rsp + 0x48]
mov rcx, qword [rax]
mov rax, rcx
xor rax, 0xffffffffffffffff
xor rcx, 0xffffffffffffffff
and rax, rcx
movabs rcx, 0x4000000000000000
movabs rdx, 0x4000000000000000
or rcx, rdx
xor rcx, 0xffffffffffffffff
movabs rdx, 0x51264f46a7e46118
movabs r8, 0xaed9b0b9581b9ee7
xor rdx, r8
xor rax, rdx
xor rcx, 0xffffffffffffffff
and rax, rcx
movabs rcx, 0xe3081d897b9cc6e7
movabs rdx, 0xe3081d897b9cc6e7
xor rcx, rdx
cmp rax, rcx
jne 0x1401948df
mov eax, dword [0x14024be60]
mov ecx, dword [0x14024be64]
xor ecx, 0x3d9f1628
xor edx, edx
div ecx
mov ecx, 0x9e2cfb1f
xor ecx, 0x9dafcd2b
mov edx, eax
and edx, ecx
mov ecx, 0x59301b29
xor ecx, 0x59301b2b
imul ecx, edx
add eax, 0x3833634
sub eax, ecx
mov ecx, 0xf8126cb8
xor ecx, 0xbc4b38f2
xor edx, edx
div ecx
mov ecx, 0x3302e5e5
xor ecx, 0x3302e5e5
mov edx, 0x910686da
xor edx, 0x56e503eb
sub ecx, edx
sub eax, ecx
cmp eax, 0x42c636b1
je 0x140194a49
mov rcx, qword [rsp + 0x48]
mov eax, dword [0x14024be68]
xor eax, 0x2c1430fa
mov edx, dword [0x14024be6c]
mov r8d, 0xb2f4154
xor r8d, 0xd2dcbc65
add eax, r8d
add eax, edx
mov edx, 0xaa1b05d0
xor edx, 0x73e8f8e1
sub eax, edx
mov edx, 0x4e54825e
xor edx, 0x410c0862
add eax, edx
mov edx, 0xf9e70891
xor edx, 0xca8d484d
add eax, edx
add eax, 0x7f357967
sub eax, 0x336a40dc
mov edx, eax
xor edx, 0xffffffff
and edx, 0x83576e2c
mov r8d, 0xffffffff
xor r8d, 0x83576e2c
and eax, r8d
sub eax, edx
mov dword [rsp + 0x44], eax
call fcn.14000f4df
mov eax, dword [rsp + 0x44]
cmp eax, 0x1c448cce
je 0x14019484c
jmp 0x1401948df
mov rax, qword [rsp + 0x68]
mov rax, qword [rax + 0x60]
mov qword [rsp + 0x38], rax
cmp rax, 0
je 0x1401949c1
mov eax, dword [0x14024be70]
or eax, dword [0x14024be74]
and eax, 0xcc862c36
imul eax, eax, 0x5fab8cac
mov ecx, 0xe188def4
xor edx, edx
div ecx
cmp eax, 0x95d298d5
ja 0x140194a52
mov rcx, qword [rsp + 0x38]
mov eax, dword [0x14024be78]
mov edx, 0x2bce07eb
xor edx, 0x7f479d50
xor eax, edx
imul eax, dword [0x14024be7c]
mov edx, 0x430a20fa
xor edx, 0x9c17a33f
xor eax, edx
mov edx, 0xeb4e1c74
xor edx, 0x5b9dc566
imul eax, edx
add eax, 0xbe0218ff
mov edx, 0x95f92f4f
xor edx, 0x39b68f7
sub eax, edx
sub eax, 0xbe0218ff
mov rcx, qword [rcx]
movabs rdx, 0xd41fdcc9d9ddf1d1
movabs r8, 0x941fdcc9d9ddf1d1
xor rdx, r8
and rcx, rdx
cmp rcx, 0
sete cl
mov byte [rsp + 0x37], cl
cmp eax, 0x29b6ba60
je 0x140194922
mov al, byte [rsp + 0x37]
test al, 1
jne 0x1401949b7
jmp 0x1401949c1
mov rcx, qword [rsp + 0x38]
call fcn.14000f4df
mov rax, qword [rsp + 0x68]
mov rax, qword [rax + 0x70]
mov qword [rsp + 0x28], rax
cmp rax, 0
je 0x1401949ff
mov rcx, qword [rsp + 0x28]
movabs rax, 0x4000000000000000
and rax, qword [rcx]
cmp rax, 0
jne 0x1401949ff
mov rcx, qword [rsp + 0x28]
call fcn.14000f4df
mov rax, qword [rsp + 0x68]
mov rax, qword [rax + 0x80]
mov qword [rsp + 0x20], rax
cmp rax, 0
je 0x140194a40
mov rcx, qword [rsp + 0x20]
movabs rax, 0x4000000000000000
and rax, qword [rcx]
cmp rax, 0
jne 0x140194a40
mov rcx, qword [rsp + 0x20]
call fcn.14000f4df
nop
add rsp, 0x88
ret
push rax
or eax, 0xfae9fd96
std
invalid
jp 0x140194a67
xor r9d, ebp
invalid
insb byte [rdi], dx
and al, 0x70
mov qword [rbp - 0x20], rcx
mov eax, 0x10
call fcn.14023fff0
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x28], rax
sub rsp, 0x20
call fcn.140193ed0
mov rcx, qword [rbp - 0x20]
add rsp, 0x20
mov qword [rbp - 0x18], rax
mov rcx, qword [rcx]
sub rsp, 0x20
call fcn.140193ef0
add rsp, 0x20
test al, 1
jne 0x140194ab4
jmp 0x140194b6a
mov rax, qword [rbp - 0x20]
mov rcx, qword [rax]
sub rsp, 0x20
call fcn.14008c4e0
mov rax, qword [rbp - 0x18]
add rsp, 0x20
cmp byte [rax], 0
jne 0x140194f99
mov eax, dword [0x14024be80]
xor edx, edx
div dword [0x14024be84]
mov ecx, 0xde4995b7
xor ecx, 0x405a6121
sub eax, ecx
mov ecx, 0x2af360a9
xor edx, edx
div ecx
mov ecx, 0x79f00025
xor ecx, 0x795a4554
or eax, ecx
cmp eax, 0x13824564
ja 0x140194f9e
mov eax, dword [0x14024be88]
sub eax, dword [0x14024be8c]
xor ecx, ecx
sub ecx, 0xfbf4dc70
sub eax, ecx
mov ecx, 0x2633ee24
xor edx, edx
div ecx
mov ecx, 0xab8ec25d
xor edx, edx
div ecx
mov ecx, eax
mov rax, qword [rbp - 0x20]
mov dword [rbp - 0x2c], ecx
mov rcx, qword [rax]
mov edx, 8
sub rsp, 0x20
call fcn.14000f52f
mov eax, dword [rbp - 0x2c]
add rsp, 0x20
cmp eax, 0xcecda00f
je 0x140194f9e
jmp 0x140194b6a
mov rax, qword [rbp - 0x20]
mov rcx, qword [rax + 8]
mov qword [rbp - 0x10], rcx
mov rax, qword [rax + 0x10]
mov qword [rbp - 8], rax
lea rcx, [rbp - 0x10]
sub rsp, 0x20
call fcn.140193c60
mov rax, qword [rbp - 0x18]
add rsp, 0x20
cmp byte [rax], 0
jne 0x140194f99
mov rax, qword [rbp - 0x20]
mov rax, qword [rax + 0x20]
mov qword [rbp - 0x38], rax
cmp rax, 0
je 0x140194cd8
mov eax, dword [0x14024be90]
mov ecx, dword [0x14024be94]
mov edx, 0x2ac2536f
xor edx, 0x5e79176b
xor ecx, edx
sub eax, 0x8df9004c
sub eax, ecx
add eax, 0x8df9004c
mov ecx, 0xfcc27284
xor ecx, 0xfcc27284
sub ecx, eax
xor eax, eax
sub eax, 0x5bc815a8
add ecx, eax
xor eax, eax
sub eax, ecx
mov ecx, eax
and ecx, 0xfeb8f3c5
mov edx, 0xe387f311
xor edx, 0x1c780cee
xor ecx, edx
add eax, 0xfeb8f3c5
add eax, 1
add eax, ecx
or eax, 0xe1f51676
mov ecx, 0x30dab314
xor ecx, 0x5adbcc7b
cmp eax, ecx
jb 0x140194fa7
mov rcx, qword [rbp - 0x38]
mov eax, dword [0x14024be98]
mov r9d, dword [0x14024be9c]
mov r8d, r9d
xor r8d, 0xffffffff
mov edx, eax
and edx, r8d
mov r8d, eax
xor r8d, r9d
add eax, r8d
sub eax, edx
xor eax, 0xf0bb0bae
mov r8d, 0xac1e88a
xor edx, edx
div r8d
mov edx, eax
and edx, 0xb54e91a3
mov r8d, 0xc3a589f9
xor r8d, 0x3c5a7606
xor edx, r8d
add eax, 0xb54e91a3
add eax, 1
add eax, edx
mov rdx, qword [rcx]
mov r8, 0xffffffffffffffff
movabs rcx, 0x4000000000000000
xor r8, rcx
mov rcx, rdx
xor rcx, r8
and rcx, rdx
cmp rcx, 0
sete cl
mov byte [rbp - 0x39], cl
cmp eax, 0x250ceda8
jb 0x140194fa7
mov al, byte [rbp - 0x39]
test al, 1
jne 0x140194cc7
jmp 0x140194cd8
mov rcx, qword [rbp - 0x38]
sub rsp, 0x20
call fcn.14000f4df
add rsp, 0x20
mov rax, qword [rbp - 0x20]
mov rax, qword [rax + 0x30]
mov qword [rbp - 0x48], rax
cmp rax, 0
je 0x140194d2b
mov rax, qword [rbp - 0x48]
mov rax, qword [rax]
mov rcx, rax
add rcx, 1
xor rax, 0xffffffffffffffff
movabs rdx, 0x4000000000000000
or rax, rdx
add rax, rcx
cmp rax, 0
jne 0x140194d2b
mov rcx, qword [rbp - 0x48]
sub rsp, 0x20
call fcn.14000f4df
add rsp, 0x20
mov rax, qword [rbp - 0x20]
mov rcx, qword [rbp - 0x28]
mov rdx, qword [rax + 0x38]
mov qword [rcx], rdx
mov rax, qword [rax + 0x40]
mov qword [rcx + 8], rax
sub rsp, 0x20
call fcn.140022a25
mov rax, qword [rbp - 0x20]
add rsp, 0x20
mov rax, qword [rax + 0x50]
mov qword [rbp - 0x50], rax
cmp rax, 0
je 0x140194da1
mov rax, qword [rbp - 0x50]
mov rax, qword [rax]
movabs rcx, 0xcff05417a76e08c3
movabs rdx, 0x8ff05417a76e08c3
xor rcx, rdx
and rax, rcx
cmp rax, 0
jne 0x140194da1
mov rcx, qword [rbp - 0x50]
sub rsp, 0x20
call fcn.14000f4df
add rsp, 0x20
mov eax, dword [0x14024bea0]
mov ecx, 0x908c0429
xor ecx, 0xa98124ba
xor eax, ecx
mov ecx, dword [0x14024bea4]
xor ecx, 0x249c15c3
imul eax, ecx
sub eax, 0x484f12be
mov ecx, 0xdadd725d
xor edx, edx
div ecx
mov ecx, 0xffffffff
xor ecx, 0xb3b27333
xor edx, edx
sub edx, 1
sub ecx, edx
sub eax, ecx
cmp eax, 0xe4f1d448
je 0x140194fb0
mov rcx, qword [rbp - 0x20]
mov eax, dword [0x14024bea8]
mov r8d, dword [0x14024beac]
xor r8d, 0x6f69e234
mov r9d, eax
xor r9d, r8d
xor r9d, 0xffffffff
mov edx, r8d
and edx, r9d
shl edx, 1
sub edx, r8d
sub eax, edx
mov edx, eax
xor edx, 0xde426dca
mov r8d, 0xde8632eb
xor r8d, 0x2179cd14
xor edx, r8d
or eax, 0xde426dca
and eax, edx
and eax, 0xab0ea6db
mov edx, 0x843941b3
xor edx, 0xc9a88bd5
imul eax, edx
mov rcx, qword [rcx + 0x60]
mov qword [rbp - 0x60], rcx
cmp rcx, 0
sete cl
mov byte [rbp - 0x51], cl
cmp eax, 0x57229746
ja 0x140194fb0
mov al, byte [rbp - 0x51]
test al, 1
jne 0x140194f2e
jmp 0x140194e7f
mov rax, qword [rbp - 0x60]
mov rcx, qword [rax]
movabs rdx, 0x930a066809b3418c
movabs rax, 0x6cf5f997f64cbe73
xor rdx, rax
mov rax, rcx
xor rax, rdx
movabs rdx, 0xaf50500172d06360
movabs r8, 0xef50500172d06360
xor rdx, r8
movabs r8, 0xc6ed6ff4034c9c31
movabs r9, 0x3912900bfcb363ce
xor r8, r9
xor rdx, r8
or rax, rdx
movabs rdx, 0x87e2690451f32bb3
movabs r8, 0x781d96fbae0cd44c
xor rdx, r8
xor rcx, rdx
mov rdx, 0xffffffffffffffff
movabs r8, 0x4000000000000000
xor rdx, r8
or rcx, rdx
xor rax, 0xffffffffffffffff
xor rcx, 0xffffffffffffffff
or rax, rcx
cmp rax, 0
jne 0x140194f2e
mov rcx, qword [rbp - 0x60]
sub rsp, 0x20
call fcn.14000f4df
add rsp, 0x20
mov rax, qword [rbp - 0x20]
mov rax, qword [rax + 0x70]
mov qword [rbp - 0x68], rax
cmp rax, 0
je 0x140194f99
mov rax, qword [rbp - 0x68]
mov rcx, qword [rax]
mov rdx, 0xffffffffffffffff
movabs rax, 0x4000000000000000
xor rdx, rax
mov rax, rcx
xor rax, rdx
and rax, rcx
movabs rcx, 0xad30c5f85b41643b
movabs rdx, 0xad30c5f85b41643b
xor rcx, rdx
cmp rax, rcx
jne 0x140194f99
mov rcx, qword [rbp - 0x68]
sub rsp, 0x20
call fcn.14000f4df
add rsp, 0x20
mov rsp, rbp
pop rbp
ret
push rsp
js 0x140194f4b
or al, 0xe9
push 0xfffffffffffffffb
invalid
invalid
push r14
jp 0x140194fcd
jmp 0x140194df0
mov dword [rsp + 0x40], eax
add rcx, 8
mov qword [rsp + 0x48], rcx
xor eax, eax
mov qword [rsp + 0x50], rax
mov rdx, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x38]
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x28], rax
mov rcx, qword [rcx]
mov rdx, qword [rdx]
mov qword [rsp + 0x30], rdx
cmp rax, rcx
jge 0x140195084
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x28]
mov rcx, qword [rax + rcx*8 + 8]
call fcn.140193ef0
test al, 1
jne 0x14019502a
jmp 0x140195071
mov rcx, qword [rsp + 0x28]
mov rax, qword [rsp + 0x48]
mov rax, qword [rax]
mov rcx, qword [rax + rcx*8 + 8]
call fcn.140194a60
mov rax, qword [rsp + 0x40]
mov al, byte [rax]
mov cl, 0x42
xor cl, 0x42
cmp al, cl
jne 0x1401950e7
mov rcx, qword [rsp + 0x28]
mov rax, qword [rsp + 0x48]
mov rax, qword [rax]
mov rcx, qword [rax + rcx*8 + 8]
mov edx, 8
call fcn.14000f52f
mov rax, qword [rsp + 0x28]
add rax, 1
mov qword [rsp + 0x50], rax
jmp 0x140194fe1
mov rax, qword [rsp + 0x30]
cmp rax, 0
je 0x1401950e7
mov rax, qword [rsp + 0x30]
mov rcx, qword [rax]
mov rdx, 0xffffffffffffffff
movabs rax, 0x4000000000000000
xor rdx, rax
mov rax, rcx
xor rax, rdx
and rax, rcx
movabs rcx, 0x2f7af36811473c2b
movabs rdx, 0x2f7af36811473c2b
xor rcx, rdx
cmp rax, rcx
jne 0x1401950e7
mov rcx, qword [rsp + 0x30]
mov edx, 8
call fcn.14000f4e4
nop
add rsp, 0x58
ret