Function at 0x140080d00
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rsi
sub rsp, 0x58
lea rbp, [rsp + 0x50]
mov qword [rbp - 0x10], rdx
mov qword [rbp - 8], rcx
mov eax, 0x20
call fcn.140215890
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x18], rax
sub rsp, 0x20
call fcn.1400741ed
mov rdx, qword [rbp - 0x10]
mov rcx, qword [rbp - 8]
add rsp, 0x20
mov qword [rbp], rax
mov rdx, qword [rdx]
sub rsp, 0x20
call fcn.140074650
mov rax, qword [rbp]
add rsp, 0x20
cmp byte [rax], 0
jne 0x1400810d7
mov rax, qword [rbp - 0x10]
mov rdx, qword [rax]
movabs rcx, 0x87a8954675c384dc
movabs rax, 0x87a8954675c384dc
xor rcx, rax
sub rcx, rdx
xor eax, eax
sub rax, 0xffffffffffffffff
add rcx, rax
movabs rax, 0xa8351588683b39f8
movabs r8, 0xa8351588683b39f8
xor rax, r8
sub rax, rcx
mov qword [rbp - 0x20], rax
mov rcx, rax
xor rcx, rdx
cmp rcx, 0
setl dl
cmp rax, 0xffffffffffffffff
setg al
xor al, 0xff
xor dl, 0xff
mov cl, 1
xor cl, 0
or al, dl
or cl, 0
xor al, 0xff
and al, cl
test al, 1
jne 0x140080e9d
mov ecx, dword [0x14021a1d8]
imul ecx, dword [0x14021a1dc]
mov eax, 0xd691cc89
xor eax, 0xa0079afe
and ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov edx, ecx
xor edx, 0xffffffff
or eax, edx
and eax, 0x7fd4d9b1
xor eax, 0xffffffff
mov edx, 0xaa14412
xor edx, 0x75759da3
mov r8d, 0xcb8e5d05
xor r8d, 0xb45a84b4
and edx, r8d
mov r8d, 0x64c377c2
xor r8d, 0x9b3c883d
xor edx, r8d
xor ecx, 0xffffffff
xor edx, 0xffffffff
or ecx, edx
and eax, ecx
xor eax, 0xffffffff
xor eax, 0xfda6f7cb
cmp eax, 0xdbfa5764
ja 0x1400810de
mov eax, dword [0x14021a1e0]
xor edx, edx
div dword [0x14021a1e4]
mov rdx, qword [rbp - 0x10]
mov ecx, 0x5ec3957f
xor ecx, 0x5cff075a
add eax, ecx
sub eax, 0x2d7c278f
xor ecx, ecx
sub ecx, 0x1e26b422
add eax, ecx
mov ecx, 0x6947edd5
xor ecx, 0x1e3f29f8
add rdx, 8
mov qword [rbp - 0x28], rdx
cmp eax, ecx
je 0x140080e49
xor eax, eax
mov qword [rbp - 0x30], rax
jmp 0x14008100b
mov eax, dword [0x14021a1e8]
mov edx, dword [0x14021a1ec]
xor edx, 0xf7308f73
xor eax, 0xffffffff
xor edx, 0xffffffff
mov ecx, 0x82878331
xor ecx, 0xdab5b341
mov r8d, 0x9bc3a79d
xor r8d, 0x643c5862
xor ecx, r8d
or eax, edx
or ecx, 0x58323070
xor eax, 0xffffffff
and eax, ecx
mov edx, 0x3cb78c42
xor edx, 0x3d81b973
mov ecx, eax
and ecx, edx
mov edx, 0x7afb3171
xor edx, 0x7afb3173
imul ecx, edx
xor eax, 0x1363531
add eax, ecx
mov ecx, 0x98122403
xor ecx, 0xbf33021
add eax, ecx
mov ecx, 0xffffffff
xor ecx, 0xc971ba74
add eax, ecx
add eax, 1
cmp eax, 0xf9ece813
ja 0x1400810e7
mov r11d, dword [0x14021a1f0]
mov r10d, dword [0x14021a1f4]
xor r10d, 0x7faf3e79
mov ecx, r11d
xor ecx, 0xffffffff
mov r8d, r10d
xor r8d, 0xffffffff
mov edx, 0xea609fa2
xor edx, 0x19ba5c7b
mov eax, 0x911d0eb2
xor eax, 0x6ee2f14d
xor edx, eax
mov eax, ecx
and eax, 0xf3dac3d9
and r11d, edx
mov esi, 0x3acf3d58
xor esi, 0xc915fe81
mov r9d, r8d
and r9d, esi
and r10d, edx
or eax, r11d
or r9d, r10d
xor eax, r9d
or ecx, r8d
xor ecx, 0xffffffff
or edx, 0xf3dac3d9
and ecx, edx
or eax, ecx
imul edx, eax, 0xcad0f059
xor eax, eax
sub eax, 0x1e6b7f0a
add edx, eax
mov ecx, edx
xor ecx, 0xc694fce3
mov eax, 0xecd2b03a
xor eax, 0x2a464cd9
mov r8d, 0xc14f0f0b
xor r8d, 0x3eb0f0f4
xor eax, r8d
and edx, eax
mov eax, 0x36276e49
xor eax, 0x36276e4b
imul eax, edx
sub eax, ecx
mov dword [rbp - 0x34], eax
mov eax, 0x16e23b7d
xor eax, 0x3511309d
mov dword [rbp - 0x38], eax
sub rsp, 0x20
call fcn.140008bc6
mov ecx, dword [rbp - 0x38]
mov eax, dword [rbp - 0x34]
add rsp, 0x20
cmp eax, ecx
je 0x1400810e7
jmp 0x1400810d7
mov rcx, qword [rbp - 0x20]
mov rax, qword [rbp - 0x30]
mov qword [rbp - 0x40], rax
cmp rax, rcx
jg 0x1400810d7
mov rax, qword [rbp - 0x40]
mov rcx, qword [rbp - 0x10]
mov rcx, qword [rcx]
mov qword [rbp - 0x48], rcx
cmp rax, rcx
jl 0x140081065
mov rcx, qword [rbp - 0x40]
mov rdx, qword [rbp - 0x48]
xor eax, eax
sub rax, rdx
xor edx, edx
sub rdx, 0xffffffffffffffff
add rax, rdx
xor edx, edx
sub rdx, rax
sub rsp, 0x20
call fcn.1400153d3
add rsp, 0x20
jmp 0x1400810d7
mov rdx, qword [rbp - 0x18]
mov rcx, qword [rbp - 8]
mov r8, qword [rbp - 0x40]
mov rax, qword [rbp - 0x28]
mov rax, qword [rax]
add rax, 8
imul r8, r8, 0x18
add rax, r8
mov r8, qword [rax]
mov qword [rdx], r8
add byte [rcx + rcx*4 + 2], cl
mov r8, qword [rax + 8]
mov qword [rdx + 8], r8
mov rax, qword [rax + 0x10]
mov qword [rdx + 0x10], rax
sub rsp, 0x20
call fcn.140080c5a
mov rax, qword [rbp]
add rsp, 0x20
cmp byte [rax], 0
jne 0x1400810d7
mov rax, qword [rbp - 0x40]
mov rcx, 0xffffffffffffffff
xor rcx, 1
xor edx, edx
sub rdx, 1
sub rcx, rdx
sub rax, rcx
mov qword [rbp - 0x30], rax
jmp 0x14008100b
lea rsp, [rbp + 8]
pop rsi
pop rbp
ret
jp 0x140081085
stosb byte [rdi], al
push rbp
jmp 0x140080e49
cvtps2pd xmm4, qword [rcx - 0x1c61609]
invalid