Function at 0x14000c690
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rsi
push rdi
push rbx
sub rsp, 0xc8
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x30], r8
mov qword [rbp + 0x38], rdx
mov qword [rbp + 0x40], rcx
mov eax, dword [0x1401db618]
xor eax, 0xb5dab500
xor eax, dword [0x1401db61c]
mov edx, eax
xor edx, 0xffffffff
and edx, 0xbb701669
mov r8d, 0xffffffff
xor r8d, 0xbb701669
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0xbb701669
or eax, 0xbb701669
imul eax, edx
add eax, ecx
mov ecx, 0xa4827279
xor ecx, 0x9b80bf95
add eax, ecx
mov ecx, 0x3d23d90f
xor ecx, 0x60a113f2
sub eax, ecx
mov ecx, 0x9cde45d4
xor ecx, 0xdcae03f3
cmp eax, ecx
jb 0x14000d243
mov eax, dword [0x1401db620]
mov ecx, dword [0x1401db624]
sub eax, ecx
add eax, 0xa218b62d
or eax, 0xffdfefef
mov dword [rbp + 0x14], eax
mov eax, 0x10
call fcn.1401da3e0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 8], rax
sub rsp, 0x20
call fcn.140009f59
mov rcx, qword [rbp + 0x40]
add rsp, 0x20
mov rdx, rax
mov eax, dword [rbp + 0x14]
add rdx, 0x60
mov qword [rbp + 0x18], rdx
mov rcx, qword [rcx]
mov qword [rbp + 0x20], rcx
movabs rdx, 0x2863a4cba6668623
movabs r8, 0x2863a4cba6668620
xor rdx, r8
and rcx, rdx
cmp rcx, 1
sete cl
mov byte [rbp + 0x2f], cl
cmp eax, 0x1845469d
jbe 0x14000d243
mov al, byte [rbp + 0x2f]
test al, 1
jne 0x14000d13b
jmp 0x14000c7b3
mov rax, qword [rbp + 0x30]
mov rcx, qword [rbp + 0x40]
mov rdi, qword [rbp + 0x20]
and rdi, 0xfffffffffffffffc
mov r8, rdi
xor r8, 0xffffffffffffffff
mov r10, 0xffffffffffffffff
xor r10, 1
mov r9, 0xffffffffffffffff
movabs rdx, 0xb373c4e1054dcd6a
xor r9, rdx
movabs r11, 0xb373c4e1054dcd6a
mov rdx, r8
and rdx, r11
and rdi, r9
movabs rsi, 0xb373c4e1054dcd6a
mov r11, r10
and r11, rsi
movabs rsi, 0x26741b0832d8bb6d
movabs rbx, 0x26741b0832d8bb6c
xor rsi, rbx
and rsi, r9
or rdx, rdi
or r11, rsi
xor rdx, r11
or r8, r10
xor r8, 0xffffffffffffffff
movabs r10, 0xb373c4e1054dcd6a
or r9, r10
and r8, r9
or rdx, r8
mov qword [rcx], rdx
mov rcx, rax
add rcx, 0x38
mov qword [rbp - 8], rcx
mov rdx, qword [rax + 0x38]
movabs rcx, 0x19d8ba02e6f8ee95
movabs rax, 0x19d8ba02e6f8ee94
xor rcx, rax
mov rax, rdx
and rax, rcx
movabs r8, 0x6a573ac5097247a8
movabs rcx, 0x6a573ac5097247a9
xor r8, rcx
mov rcx, rdx
or rcx, r8
add rax, rcx
mov qword [rbp], rax
xor rdx, 0xffffffffffffffff
mov rcx, rax
add rcx, 1
xor rax, 0xffffffffffffffff
or rax, rdx
add rax, rcx
cmp rax, 0
jl 0x14000d12e
mov rcx, qword [rbp + 0x20]
mov rax, qword [rbp - 8]
mov rdx, qword [rbp]
mov qword [rax], rdx
sar rcx, 4
mov rax, rcx
add rax, 1
mov qword [rbp - 0x10], rax
xor rcx, 0xffffffffffffffff
and rax, rcx
cmp rax, 0
jl 0x14000d12e
mov rdx, qword [rbp - 0x10]
mov rax, qword [rbp + 0x30]
mov rcx, rax
add rcx, 0x48
mov qword [rbp - 0x20], rcx
mov r9, qword [rax + 0x48]
mov rcx, r9
add rcx, rdx
mov qword [rbp - 0x18], rcx
mov r8, rcx
xor r8, 0xffffffffffffffff
movabs rax, 0x9296d25b0a5c0c4a
movabs r10, 0xa1372a2d4b8acb35
xor rax, r10
and rax, r8
mov r11, 0xffffffffffffffff
movabs r8, 0x33a1f87641d6c77f
xor r11, r8
mov r10, rcx
and r10, r11
movabs rsi, 0x2937750888a78680
movabs r8, 0xd6c88af77758797f
xor rsi, r8
mov r8, r9
xor r8, rsi
movabs rsi, 0x33a1f87641d6c77f
and r8, rsi
and r9, r11
or rax, r10
or r8, r9
xor rax, r8
xor rcx, rdx
and rax, rcx
cmp rax, 0
jl 0x14000d12e
mov r8, qword [rbp + 0x30]
mov rdx, qword [rbp + 0x38]
mov rcx, qword [rbp + 0x40]
mov rax, qword [rbp - 0x20]
mov r9, qword [rbp - 0x18]
mov qword [rax], r9
sub rsp, 0x20
call fcn.14000d270
mov rax, qword [rbp + 0x18]
add rsp, 0x20
cmp byte [rax], 0
jne 0x14000d13b
mov eax, dword [0x1401db628]
mov r8d, dword [0x1401db62c]
mov ecx, 0x36a7871a
xor ecx, 0xc95878e5
mov edx, r8d
xor edx, ecx
mov ecx, eax
and ecx, edx
mov edx, eax
xor edx, r8d
add eax, edx
sub eax, ecx
or eax, 0xaaedcd77
and eax, 0x77c1e387
mov ecx, 0x7c4c7028
xor edx, edx
div ecx
mov ecx, 0xce8817b9
xor ecx, 0xb844858c
cmp eax, ecx
jae 0x14000d24c
mov rcx, qword [rbp + 0x30]
mov eax, dword [0x1401db630]
xor eax, 0x67a66a6b
add eax, dword [0x1401db634]
mov edx, 0x891cfba7
xor edx, 0x6ac80a97
xor eax, edx
mov r8d, 0x3cb7dfc7
xor edx, edx
div r8d
mov rdx, qword [rbp + 8]
sub eax, 0x5a88dc8d
add rdx, 8
mov qword [rbp - 0x30], rdx
add rcx, 0x40
mov qword [rbp - 0x28], rcx
cmp eax, 0x896ab67e
je 0x14000ca0d
jmp 0x14000ca63
mov eax, dword [0x1401db638]
mov ecx, dword [0x1401db63c]
xor ecx, 0xf46dee4e
xor eax, ecx
mov ecx, 0xd996097
xor ecx, 0xd996097
sub ecx, eax
xor eax, eax
sub eax, 0x2b9a3eb8
add ecx, eax
xor eax, eax
sub eax, ecx
mov ecx, 0x28b95ca
xor ecx, 0xd1d1b438
xor edx, edx
div ecx
mov ecx, 0x4a7046fa
xor ecx, 0x459844bf
xor edx, edx
div ecx
cmp eax, 0xebdbfe8
jae 0x14000d255
mov rcx, qword [rbp + 0x30]
mov eax, dword [0x1401db640]
mov edx, dword [0x1401db644]
xor edx, 0x8ba4482e
sub eax, edx
mov r8d, 0xf7d34c13
xor r8d, 0xb977e5e1
mov edx, eax
xor edx, r8d
mov r8d, 0xe5184817
xor r8d, 0x1ae7b7e8
xor edx, r8d
mov r8d, 0x58bb017
xor r8d, 0x4b2f19e5
or eax, r8d
and eax, edx
add eax, 0x7a7d3940
mov r8d, 0x29b0c825
xor edx, edx
div r8d
mov rcx, qword [rcx]
movabs rdx, 0x4b62075b15108097
movabs r8, 0x4b62075b15108097
xor rdx, r8
cmp rcx, rdx
setg cl
mov byte [rbp - 0x31], cl
cmp eax, 0x866ea197
ja 0x14000d255
mov al, byte [rbp - 0x31]
test al, 1
jne 0x14000cb54
jmp 0x14000d13b
mov rcx, qword [rbp + 8]
mov rdx, qword [rbp + 0x30]
sub rsp, 0x20
call fcn.14000c578
mov rax, qword [rbp + 8]
mov rcx, qword [rbp - 0x30]
add rsp, 0x20
mov rax, qword [rax]
mov rcx, qword [rcx]
mov qword [rbp - 0x58], rcx
mov rax, qword [rax]
mov rcx, rax
add rcx, 0xfffffffffffffff0
mov qword [rbp - 0x50], rcx
mov r8, qword [rax - 0x10]
mov qword [rbp - 0x48], r8
movabs rcx, 0x379f99daf5cb061b
movabs rax, 0xd0b69c7082d87b8b
xor rcx, rax
mov rax, r8
add rax, rcx
add rax, 0xfffffffffffffff0
movabs rcx, 0xe72905aa77137d90
sub rax, rcx
mov qword [rbp - 0x40], rax
movabs rdx, 0x5906588f3cf0dc99
movabs rcx, 0xa6f9a770c30f2366
xor rdx, rcx
mov rcx, rax
xor rcx, rdx
mov rdx, rax
xor rdx, 0xffffffffffffffff
and rcx, rdx
mov rdx, r8
or rdx, rdx
xor rdx, 0xffffffffffffffff
or rcx, rdx
movabs rdx, 0x67dbe535fc6fe877
movabs r9, 0x98241aca03901788
xor rdx, r9
xor rcx, rdx
movabs r9, 0xc41838da1acb8e81
movabs rdx, 0x3be7c725e534717e
xor r9, rdx
mov rdx, rax
xor rdx, r9
movabs r9, 0x138bfb9da79c678a
movabs r10, 0xec74046258639875
xor r9, r10
xor r8, r9
and rdx, r8
xor rcx, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
and rcx, rdx
cmp rcx, 0
setl cl
cmp rax, 0xffffffffffffffff
setg al
or al, al
xor edx, edx
xor dl, 1
xor al, dl
or cl, cl
xor cl, 0xff
xor al, 0xff
xor cl, 0xff
and al, cl
test al, 1
jne 0x14000d12e
mov rax, qword [rbp - 0x28]
mov rcx, qword [rbp - 0x50]
mov rdx, qword [rbp - 0x40]
mov qword [rcx], rdx
mov r9, qword [rax]
xor eax, eax
sub rax, r9
xor ecx, ecx
sub rcx, 1
add rax, rcx
xor ecx, ecx
sub rcx, rax
mov qword [rbp - 0x60], rcx
mov rax, r9
xor rax, 0xffffffffffffffff
movabs rdx, 0x2930fe640175071f
movabs r8, 0x991a206e9ad42f8a
xor rdx, r8
and rdx, rax
mov r8, 0xffffffffffffffff
movabs rax, 0xb02ade0a9ba12895
xor r8, rax
and r9, r8
movabs rax, 0x9f560ba3b9112297
movabs r10, 0x60a9f45c46eedd68
xor rax, r10
movabs r10, 0xff9ff4a784456653
movabs r11, 0x600b587bba99ac
xor r10, r11
xor rax, r10
movabs r10, 0xb02ade0a9ba12895
and rax, r10
and r8, 0xffffffffffffffff
or rdx, r9
or rax, r8
xor rdx, rax
xor rdx, 0xffffffffffffffff
mov rax, rcx
xor rax, rdx
and rax, rcx
cmp rax, 0
jl 0x14000d12e
mov rcx, qword [rbp - 0x48]
mov rax, qword [rbp - 0x28]
mov rdx, qword [rbp - 0x60]
mov qword [rax], rdx
mov rdx, 0xffffffffffffffff
xor rdx, 3
mov rax, rcx
xor rax, rdx
and rax, rcx
movabs rcx, 0x598fb2d08d9ae3ef
movabs rdx, 0x598fb2d08d9ae3ee
xor rcx, rdx
cmp rax, rcx
je 0x14000d129
mov rax, qword [rbp - 8]
mov rcx, qword [rbp - 0x50]
mov rdx, qword [rbp - 0x40]
xor rdx, 0xffffffffffffffff
mov r9, 0xffffffffffffffff
xor r9, 0xfffffffffffffffc
movabs r8, 0xe06885ad68a73a8d
movabs r10, 0xaa9abd753ce2875b
xor r8, r10
movabs r10, 0xa4fdd586c42de15b
movabs r11, 0x5b022a793bd21ea4
xor r10, r11
xor r8, r10
or rdx, r9
movabs r9, 0x4af238d85445bdd6
or r8, r9
xor rdx, 0xffffffffffffffff
and rdx, r8
movabs r8, 0x695334334612104b
movabs r9, 0x695334334612104a
xor r8, r9
and r8, rdx
movabs r9, 0xbada88eb6eb982fd
movabs r10, 0x4525771491467d02
xor r9, r10
xor r8, r9
movabs r9, 0x1e83c0dba0e07bd5
movabs r10, 0x1e83c0dba0e07bd4
xor r9, r10
add rdx, r9
add rdx, 1
add rdx, r8
mov qword [rcx], rdx
mov rdx, qword [rax]
mov rcx, rdx
and rcx, 1
mov rax, rdx
or rax, 1
add rcx, rax
mov qword [rbp - 0x68], rcx
mov r8, rdx
and r8, 0xffffffffffffffff
movabs rax, 0x74c45309c473a9d4
movabs r9, 0x74c45309c473a9d6
xor rax, r9
imul rax, r8
add rdx, 0xffffffffffffffff
sub rdx, rax
xor rdx, 0xffffffffffffffff
mov rax, rcx
xor rax, rdx
and rax, rcx
movabs rcx, 0x9c41813cfcba2ed4
movabs rdx, 0x9c41813cfcba2ed4
xor rcx, rdx
cmp rax, rcx
jl 0x14000d12e
mov rax, qword [rbp - 0x40]
mov rcx, qword [rbp - 8]
mov rdx, qword [rbp - 0x68]
mov qword [rcx], rdx
movabs rcx, 0x5784116254e865ba
movabs rdx, 0x5784116254e865be
xor rcx, rdx
sar rax, cl
mov rcx, rax
movabs rdx, 0xb843951a7db82d36
movabs rax, 0xb843951a7db82d34
xor rdx, rax
mov rax, rcx
add rax, rdx
mov qword [rbp - 0x70], rax
xor rcx, 0xffffffffffffffff
and rax, rcx
cmp rax, 0
jl 0x14000d12e
mov r8, qword [rbp - 0x70]
mov rax, qword [rbp - 0x20]
mov rcx, qword [rax]
mov rdx, rcx
add rdx, r8
mov qword [rbp - 0x78], rdx
mov rax, rdx
xor rax, rcx
mov rcx, rdx
and rcx, rcx
xor rcx, 0xffffffffffffffff
and rcx, r8
xor rcx, 0xffffffffffffffff
and r8, r8
xor r8, 0xffffffffffffffff
and rdx, r8
movabs r8, 0xf0ddeb3cb6dedc54
movabs r9, 0xf2214c3492123ab
xor r8, r9
xor rdx, r8
and rcx, rdx
movabs rdx, 0xf065a40c96ae3c49
movabs r8, 0xf9a5bf36951c3b6
xor rdx, r8
xor rcx, rdx
and rax, rcx
cmp rax, 0
jl 0x14000d12e
mov eax, dword [0x1401db648]
or eax, dword [0x1401db64c]
mov ecx, 0xb1a2c5e5
xor edx, edx
div ecx
mov r11d, eax
and r11d, 0x76f33262
mov eax, 0x8da9c0e9
xor eax, 0x72563f16
mov ecx, r11d
xor ecx, eax
mov edx, 0xd7ffc988
xor edx, 0x9fcbc31a
mov eax, 0x4713b040
xor eax, 0xb8ec4fbf
xor edx, eax
mov r8d, 0x18b62aba
xor r8d, 0xbd999aba
mov eax, 0x5b49debb
xor eax, 0xa4b62144
xor r8d, eax
mov r9d, 0x3b6d15cc
xor r9d, 0x9e42a5cc
mov eax, ecx
and eax, r9d
and r11d, r8d
mov r9d, edx
and r9d, 0xa52fb000
mov r10d, r8d
and r10d, 0x48340a92
or eax, r11d
or r9d, r10d
xor eax, r9d
or ecx, edx
mov edx, 0x83b0b1e9
xor edx, 0x7c4f4e16
xor ecx, edx
mov edx, 0x3a5beb5b
xor edx, 0x9f745b5b
or edx, r8d
and ecx, edx
or eax, ecx
mov ecx, 0x8277e19d
xor ecx, 0x51521ed5
cmp eax, ecx
ja 0x14000d25e
mov r8, qword [rbp + 0x30]
mov rdx, qword [rbp - 0x58]
mov rcx, qword [rbp - 0x50]
mov rax, qword [rbp - 0x20]
mov r9, qword [rbp - 0x78]
mov r11d, dword [0x1401db650]
mov esi, dword [0x1401db654]
mov r10d, esi
and r10d, r11d
mov edi, 0x8586ebee
xor edi, 0x7a791411
xor r10d, edi
add r11d, esi
mov esi, 0xff70da27
xor esi, 0xff70da26
add r11d, esi
add r11d, r10d
mov r10d, r11d
or r10d, 0x3f95724d
xor r10d, 0xffffffff
mov esi, 0x3a86398b
xor esi, 0xc579c674
xor r11d, esi
mov esi, 0xffffffff
xor esi, 0x3f95724d
and r11d, esi
xor r10d, 0xffffffff
xor r11d, 0xffffffff
and r10d, r11d
mov r11d, 0xffffffff
xor r11d, 0x1841e5f9
xor esi, esi
sub esi, 1
sub r11d, esi
sub r10d, r11d
xor r10d, 0x24b3ec74
mov dword [rbp - 0x80], r10d
mov qword [rax], r9
sub rsp, 0x20
call fcn.14000d270
mov rcx, qword [rbp + 0x18]
mov eax, dword [rbp - 0x80]
add rsp, 0x20
cmp byte [rcx], 0
sete cl
mov byte [rbp - 0x79], cl
cmp eax, 0xf7347acc
je 0x14000d04d
mov al, byte [rbp - 0x79]
test al, 1
jne 0x14000d129
jmp 0x14000d13b
jmp 0x14000ca63
sub rsp, 0x20
call fcn.1400067fe
add rsp, 0x20
mov ecx, dword [0x1401db658]
mov eax, 0x2b27c399
xor eax, 0xc90dc413
xor ecx, eax
mov edx, dword [0x1401db65c]
mov eax, 0x887b27b7
xor eax, 0xfdf4e25d
xor edx, eax
mov eax, ecx
xor eax, 0xffffffff
mov r8d, edx
xor r8d, 0xffffffff
or eax, r8d
xor ecx, 0xffffffff
xor edx, 0xffffffff
or ecx, edx
and eax, ecx
mov ecx, 0x78f0fa8c
xor ecx, 0x870f0573
xor eax, ecx
and eax, 0x73715a76
or eax, 0xddb19113
xor eax, 0xccce5f4e
cmp eax, 0x12ab372b
jae 0x14000d267
mov eax, dword [0x1401db660]
mov ecx, 0x8583f02e
xor ecx, 0x949097bc
xor eax, ecx
mov edx, dword [0x1401db664]
or eax, eax
xor eax, 0xffffffff
mov ecx, edx
xor ecx, 0xffffffff
xor edx, 0xffffffff
and ecx, edx
or eax, ecx
xor eax, 0xffffffff
mov edx, eax
xor edx, 0xffffffff
and edx, 0x1f764e9a
mov r8d, 0xffffffff
xor r8d, 0x1f764e9a
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x1f764e9a
or eax, 0x1f764e9a
imul eax, edx
add eax, ecx
mov edx, 0x40793790
xor edx, 0xbf86c86f
mov ecx, eax
xor ecx, edx
and ecx, 0x3083fb7
mov edx, 0xffffffff
xor edx, 0x3083fb7
and eax, edx
sub eax, ecx
mov ecx, 0x8e6e8292
xor ecx, 0xed01de6a
and eax, ecx
cmp eax, 0x2dab6f5
je 0x14000d267
lea rsp, [rbp + 0x48]
pop rbx
pop rdi
pop rsi
pop rbp
ret
add eax, 0xe9c052ac
sal esp, cl
invalid
adc esp, dword [rbp + 0x26]
invalid
sub eax, 0xe9d4974e
pop rsp
clc
invalid
fsub qword [r8 - 0x2191611]
invalid
invalid