Function at 0x140041590
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x8b8
mov qword [rsp + 0x40], r9
mov qword [rsp + 0x58], r8
mov qword [rsp + 0x48], rdx
mov qword [rsp + 0x50], rcx
call fcn.14003e60a
mov rcx, qword [rsp + 0x50]
mov r9, qword [rsp + 0x58]
mov qword [rsp + 0x60], rax
mov rcx, qword [rcx]
mov rdx, rcx
sub rdx, r9
mov qword [rsp + 0x68], rdx
mov rax, rdx
xor rax, rcx
cmp rax, 0
setl cl
mov rax, rdx
xor rax, 0xffffffffffffffff
movabs r10, 0xdc8cae0eb0907aac
movabs r8, 0x237351f14f6f8553
xor r10, r8
mov r8, rdx
xor r8, r10
or rax, r8
and rax, r9
movabs r8, 0xa40ae4c1723eb25e
movabs r10, 0x5bf51b3e8dc14da1
xor r8, r10
xor rax, r8
mov r8, r9
xor r8, 0xffffffffffffffff
movabs r10, 0x1e65508b9c3aaa50
movabs r11, 0xe19aaf7463c555af
xor r10, r11
xor r9, r10
or r8, r9
xor rdx, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
or rdx, r8
xor rax, 0xffffffffffffffff
movabs r8, 0xc6a719ffebba095b
movabs r9, 0x3958e6001445f6a4
xor r8, r9
xor rdx, r8
or rax, rdx
cmp rax, 0xffffffffffffffff
setg dl
xor dl, 0xff
mov al, cl
xor al, dl
and al, cl
test al, 1
jne 0x14004168b
jmp 0x140041731
mov eax, dword [0x140242e50]
mov ecx, dword [0x140242e54]
mov edx, 0x4b1cfe6c
xor edx, 0xff3263f0
xor ecx, edx
xor edx, edx
div ecx
mov ecx, 0xe1c989b8
xor ecx, 0x474bc6dd
sub eax, ecx
mov ecx, 0xffffffff
xor ecx, 0x571916a5
add eax, ecx
add eax, 1
mov ecx, 0x259a1489
xor edx, edx
div ecx
cmp eax, 0x3b795fb0
je 0x140041875
mov eax, dword [0x140242e58]
mov ecx, dword [0x140242e5c]
xor ecx, 0x135a1ac9
add eax, ecx
imul eax, eax, 0x4ca603f7
mov ecx, 0xfb6c3da5
xor ecx, 0xdc1a0086
xor eax, ecx
mov ecx, 0xa33998ec
xor ecx, 0xa8a6c4ad
add eax, ecx
mov dword [rsp + 0x3c], eax
call fcn.140008d37
mov eax, dword [rsp + 0x3c]
cmp eax, 0x19c77103
jbe 0x1400416d9
xor eax, eax
mov qword [rsp + 0x30], rax
jmp 0x140041868
mov rcx, qword [rsp + 0x68]
mov rax, qword [rsp + 0x48]
mov rdx, qword [rax]
mov qword [rsp + 0x28], rdx
mov rax, 0xffffffffffffffff
cmp rcx, rdx
mov qword [rsp + 0x30], rax
jl 0x140041868
mov rax, qword [rsp + 0x28]
cmp rax, 1
jne 0x1400417b0
mov r9, qword [rsp + 0x40]
mov r8, qword [rsp + 0x58]
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x48]
mov rcx, qword [rcx + 8]
mov dl, byte [rcx + 8]
mov rcx, qword [rax]
mov qword [rsp + 0xa0], rcx
mov rax, qword [rax + 8]
mov qword [rsp + 0xa8], rax
lea rcx, [rsp + 0xa0]
call fcn.14003f4d0
mov qword [rsp + 0x30], rax
jmp 0x140041868
lea rcx, [rsp + 0xb0]
mov edx, 0x800
call fcn.14003e625
mov rax, qword [rsp + 0x48]
mov rcx, qword [rax]
mov qword [rsp + 0x90], rcx
mov rax, qword [rax + 8]
mov qword [rsp + 0x98], rax
lea rcx, [rsp + 0x90]
lea rdx, [rsp + 0xb0]
call fcn.14004152c
mov rcx, qword [rsp + 0x60]
xor eax, eax
cmp byte [rcx], 0
mov qword [rsp + 0x30], rax
jne 0x140041868
mov rax, qword [rsp + 0x40]
mov r9, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x50]
mov r8, qword [rdx]
mov qword [rsp + 0x80], r8
mov rdx, qword [rdx + 8]
mov qword [rsp + 0x88], rdx
mov rdx, qword [rcx]
mov qword [rsp + 0x70], rdx
mov rcx, qword [rcx + 8]
mov qword [rsp + 0x78], rcx
lea rcx, [rsp + 0xb0]
lea rdx, [rsp + 0x80]
lea r8, [rsp + 0x70]
mov qword [rsp + 0x20], rax
call fcn.1400407f0
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
add rsp, 0x8b8
ret
mov al, 0x63
imul esi, ecx, 0xfffe5be9
invalid