Function at 0x140046560
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x98
mov qword [rsp + 0x78], r9
mov qword [rsp + 0x80], r8
mov byte [rsp + 0x8f], dl
mov qword [rsp + 0x90], rcx
mov ecx, dword [0x140252200]
mov edx, dword [0x140252204]
mov eax, ecx
or eax, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
xor edx, 0xffffffff
and ecx, edx
or eax, ecx
mov ecx, 0x9bfc655
xor ecx, 0xf64039aa
xor eax, ecx
add eax, 0xa5eaced0
xor ecx, ecx
sub ecx, 0x906c82bc
add eax, ecx
xor eax, 0xbdca614b
cmp eax, 0x5a209888
je 0x14004694b
mov rcx, qword [rsp + 0x78]
mov eax, dword [0x140252208]
mov edx, dword [0x14025220c]
xor edx, 0xce5941eb
and eax, edx
mov edx, eax
xor edx, 0xffffffff
and edx, 0xf9c00b35
mov r8d, 0xffffffff
xor r8d, 0xf9c00b35
and eax, r8d
sub eax, edx
mov edx, eax
add edx, 1
xor eax, 0xffffffff
mov r8d, 0x52f9501
xor r8d, 0xa17ab638
or eax, r8d
add eax, edx
mov edx, 0xe8b600d8
xor edx, 0xcfcf40e1
add eax, edx
cmp rcx, 0
setl cl
mov byte [rsp + 0x77], cl
cmp eax, 0xddb6c7cb
je 0x1400465cc
mov rax, qword [rsp + 0x78]
mov cl, byte [rsp + 0x77]
test cl, 1
mov qword [rsp + 0x68], rax
jne 0x14004665b
jmp 0x14004667e
mov rax, qword [rsp + 0x90]
mov rax, qword [rax]
xor ecx, ecx
sub rcx, rax
xor eax, eax
sub rax, 0xffffffffffffffff
add rcx, rax
xor eax, eax
sub rax, rcx
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x90]
mov rdx, qword [rsp + 0x68]
mov qword [rsp + 0x48], rdx
add rcx, 8
mov qword [rsp + 0x50], rcx
cmp rax, 0xffffffffffffffff
setg cl
mov byte [rsp + 0x5f], cl
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x40], rax
mov r8d, dword [0x140252210]
mov eax, dword [0x140252214]
xor eax, 0x5b7a0edc
sub r8d, eax
mov eax, r8d
xor eax, 0xffffffff
and eax, 0x2f7dfb42
mov edx, 0x1be1c33c
xor edx, 0x349c387e
mov ecx, 0xf98a9327
xor ecx, 0x6756cd8
xor edx, ecx
and r8d, edx
mov ecx, 0xc0fa07b9
xor ecx, 0xaadc1f9a
mov r9d, 0x8dfb03e0
xor r9d, 0x7204fc1f
xor ecx, r9d
mov r9d, 0x5e54bb4c
xor r9d, 0x7129400e
and ecx, r9d
and edx, 0x6a261823
or eax, r8d
or ecx, edx
xor eax, ecx
add eax, 0x9f7f88cd
mov ecx, 0xfbde2de3
xor ecx, 0xec1304ea
add eax, ecx
cmp eax, 0x311455fe
je 0x140046954
mov rcx, qword [rsp + 0x40]
mov eax, dword [0x140252218]
mov r8d, dword [0x14025221c]
mov edx, 0xeacecf24
xor edx, 0x43d69aed
xor r8d, edx
xor edx, edx
div r8d
mov rdx, qword [rsp + 0x48]
mov r8d, 0xc0f637ae
xor r8d, 0x66befeac
imul eax, r8d
sub eax, 0xf5ed4f47
mov r8d, 0x8e157c5
xor r8d, 0xedeffb0e
imul eax, r8d
cmp rcx, rdx
setg cl
mov byte [rsp + 0x3f], cl
cmp eax, 0xc6e98c2b
jae 0x14004674b
mov cl, byte [rsp + 0x3f]
mov rax, 0xffffffffffffffff
test cl, 1
mov qword [rsp + 0x30], rax
jne 0x14004688c
jmp 0x1400467cf
mov al, byte [rsp + 0x5f]
mov rcx, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x90]
mov rdx, qword [rdx]
mov qword [rsp + 0x28], rdx
sub rcx, rdx
setl cl
and al, cl
test al, 1
jne 0x140046840
mov rcx, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x28]
xor eax, eax
sub rax, rdx
xor edx, edx
sub rdx, 0xffffffffffffffff
add rax, rdx
movabs rdx, 0x626522ba2c15008c
movabs r8, 0x626522ba2c15008c
xor rdx, r8
sub rdx, rax
call fcn.140013507
mov rax, 0xffffffffffffffff
mov qword [rsp + 0x30], rax
jmp 0x14004688c
mov rax, qword [rsp + 0x40]
mov dl, byte [rsp + 0x8f]
mov rcx, qword [rsp + 0x50]
mov rcx, qword [rcx]
cmp byte [rcx + rax + 8], dl
mov qword [rsp + 0x30], rax
je 0x14004688c
mov rax, qword [rsp + 0x40]
movabs rcx, 0x25ede5304d8aa32
movabs rdx, 0x25ede5304d8aa33
xor rcx, rdx
add rax, rcx
mov qword [rsp + 0x60], rax
jmp 0x1400466b1
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x20], rax
mov eax, dword [0x140252220]
mov ecx, dword [0x140252224]
mov edx, 0xa8fccf5d
xor edx, 0x733a6ac7
xor ecx, edx
or eax, ecx
mov ecx, 0x3b6a4313
xor ecx, 0x9179faea
and eax, ecx
sub eax, 0x27bfc683
sub eax, 0xc3e41ed8
mov ecx, 0xa3694693
xor ecx, 0xb27e2c02
cmp eax, ecx
je 0x14004695d
mov eax, dword [0x140252228]
or eax, dword [0x14025222c]
mov ecx, 0x4512a795
xor ecx, 0x948b4b7a
add eax, ecx
and eax, 0x4380c0e7
mov edx, 0xd3e7890d
xor edx, 0xa2199dd9
mov ecx, 0x817c7110
xor ecx, 0x7e838eef
xor edx, ecx
mov ecx, eax
and ecx, edx
mov r8d, 0x8ed91dd2
xor r8d, 0xff270906
mov edx, eax
xor edx, r8d
add eax, edx
sub eax, ecx
mov ecx, 0xfcdead71
xor ecx, 0xce004c8c
cmp eax, ecx
je 0x1400468db
mov rax, qword [rsp + 0x20]
add rsp, 0x98
ret
sub dword [rax + 0x78e9a8cd], eax
cld
invalid
retf 0x1317
pop rdi
invalid