Function at 0x140027588
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x78
mov qword [rsp + 0x60], rdx
mov qword [rsp + 0x68], rcx
mov rax, qword [rcx]
mov qword [rsp + 0x70], rax
cmp rax, rdx
jle 0x140027293
mov eax, dword [0x140201538]
mov r8d, dword [str.Gre]
mov edx, r8d
xor edx, 0xffffffff
mov ecx, eax
and ecx, edx
mov edx, eax
xor edx, r8d
add eax, edx
sub eax, ecx
sub eax, 0xe96311ab
sub eax, 0xf7509d3c
add eax, 0xe96311ab
add eax, 0x8c3c2bbf
imul eax, eax, 0x487414fb
cmp eax, 0xf6a6382
jb 0x140027576
mov rax, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x60]
cmp rax, rcx
jge 0x140027570
mov rax, qword [rsp + 0x68]
mov rcx, rax
add rcx, 8
mov qword [rsp + 0x48], rcx
mov rax, qword [rax + 8]
mov qword [rsp + 0x50], rax
cmp rax, 0
je 0x1400272ea
mov rcx, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x50]
movabs rax, 0xbfffffffffffffff
and rax, qword [rdx]
cmp rax, rcx
jge 0x140027451
mov rdx, qword [rsp + 0x70]
mov r8, qword [rsp + 0x60]
movabs rax, 0xc53bfbdcb7f58a60
mov rcx, r8
sub rcx, rax
sub rcx, rdx
movabs rax, 0x6ae55851f4ccbe01
movabs r9, 0xafdea38d43393461
xor rax, r9
add rcx, rax
mov qword [rsp + 0x40], rcx
mov rax, rcx
xor rax, r8
cmp rax, 0
setl al
xor rcx, rdx
cmp rcx, 0xffffffffffffffff
setg cl
and al, cl
test al, 1
jne 0x14002737a
mov r8, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x70]
mov r9d, 0x20
mov qword [rsp + 0x20], 8
call fcn.140011d90
mov rcx, rax
mov rax, qword [rsp + 0x48]
mov qword [rax], rcx
jmp 0x140027451
mov eax, dword [0x140201548]
sub eax, dword [0x14020154c]
mov ecx, 0xcd7abbf9
xor ecx, 0xaed76150
imul eax, ecx
xor ecx, ecx
sub ecx, 0xb05be3c6
sub eax, ecx
sub eax, 0xced4639f
mov ecx, 0x2f5686a
xor ecx, 0xb1be442e
cmp eax, ecx
je 0x14002757f
mov r8d, dword [0x140201550]
xor r8d, 0x15a67add
add r8d, dword [0x140201554]
mov ecx, r8d
xor ecx, 0xffffffff
mov eax, 0x44920b5e
xor eax, 0x13c2677
and eax, ecx
mov edx, 0x2e8d0605
xor edx, 0x6b232b2c
mov ecx, 0x164ea424
xor ecx, 0xe9b15bdb
xor edx, ecx
and r8d, edx
mov ecx, 0xffffffff
xor ecx, 0xb2d87fa6
and ecx, 0x45ae2d29
and edx, 0xb2d87fa6
or eax, r8d
or ecx, edx
xor eax, ecx
mov edx, 0x6a00e391
xor edx, 0xdc7a2421
mov ecx, eax
xor ecx, edx
xor ecx, 0xffffffff
or eax, 0xb67ac7b0
and eax, ecx
xor eax, 0x962b5bc6
mov dword [rsp + 0x3c], eax
call fcn.140007f57
mov eax, dword [rsp + 0x3c]
cmp eax, 0xeedfffed
ja 0x14002757f
jmp 0x140027570
mov rax, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x60]
mov qword [rcx], rdx
mov qword [rsp + 0x30], rax
mov rcx, qword [rsp + 0x60]
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x28], rax
cmp rax, rcx
jge 0x140027570
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x48]
mov rcx, qword [rcx]
add rcx, 8
shl rax, 5
add rcx, rax
movabs rdx, 0xe7909f8c13e5a4ff
movabs rax, 0xe7909f8c13e5a4df
xor rdx, rax
call fcn.1400083d0
mov rcx, qword [rsp + 0x28]
mov rdx, rcx
and rdx, 1
shl rdx, 1
mov rax, rcx
xor rax, 1
add rax, rdx
movabs rdx, 0x7d3df0717e15fe43
movabs r8, 0x82c20f8e81ea01bc
xor rdx, r8
mov r8, rcx
xor r8, rdx
movabs r9, 0x702aba9200a4750b
movabs rdx, 0x8fd5456dff5b8af4
xor r9, rdx
mov rdx, rcx
xor rdx, r9
and r8, rdx
mov rdx, 0xffffffffffffffff
or rdx, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
or r8, rdx
xor r8, 0xffffffffffffffff
xor rcx, 0xffffffffffffffff
mov rdx, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
and rcx, rdx
or r8, rcx
xor r8, 0xffffffffffffffff
mov rcx, rax
xor rcx, 0xffffffffffffffff
mov rdx, r8
xor rdx, 0xffffffffffffffff
or rcx, rdx
mov rdx, rax
and rdx, r8
xor rdx, 0xffffffffffffffff
and rcx, rdx
xor rcx, 0xffffffffffffffff
cmp rcx, 0
mov qword [rsp + 0x30], rax
jge 0x140027468
call fcn.140007f57
xchg ebx, eax
invalid
invalid
sub rsp, 0x38
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x28], rcx
xor eax, eax
mov edx, eax
call fcn.140026c20
mov rcx, qword [rsp + 0x28]
mov rdx, qword [rsp + 0x30]
add rsp, 0x38
jmp 0x1400271c0