Function at 0x140086620
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0xa0
lea rbp, [rsp + 0x80]
mov qword [rbp - 0x30], r8
mov qword [rbp - 0x38], rdx
mov qword [rbp - 0x48], rcx
mov qword [rbp - 0x50], rcx
mov eax, 0x10
call fcn.14024abd0
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x28], rax
mov rax, qword [0x1402649d0]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.140008923
mov rcx, qword [rbp - 0x48]
mov rdx, qword [rbp - 0x38]
mov r8, qword [rbp - 0x30]
add rsp, 0x20
mov qword [rbp - 0x40], rax
mov qword [rcx], 0
mov qword [rcx + 8], 0
mov qword [rbp + 0x10], 0
mov qword [rbp + 0x18], 0
mov rdx, qword [rdx]
add rdx, qword [r8]
lea rcx, [rbp + 0x10]
sub rsp, 0x20
call fcn.140019380
mov rdx, qword [rbp - 0x38]
add rsp, 0x20
mov rax, qword [rdx]
mov qword [rbp], rax
mov rax, qword [rdx + 8]
mov qword [rbp + 8], rax
lea rcx, [rbp + 0x10]
mov rdx, rbp
sub rsp, 0x20
call fcn.140086b1e
mov r8, qword [rbp - 0x30]
mov rdx, qword [rbp - 0x28]
add rsp, 0x20
mov rax, qword [r8]
mov qword [rdx], rax
mov rax, qword [r8 + 8]
mov qword [rdx + 8], rax
lea rcx, [rbp + 0x10]
sub rsp, 0x20
call fcn.140086b1e
add rsp, 0x20
mov rcx, qword [rbp + 0x10]
mov rax, qword [rbp + 0x18]
mov qword [rbp - 0x20], rax
xor eax, eax
test rcx, rcx
cmovg rax, rcx
mov qword [rbp - 0x18], rax
xor eax, eax
mov ecx, eax
mov eax, 0x5381
mov qword [rbp - 0x10], rcx
mov qword [rbp - 8], rax
mov rcx, qword [rbp - 0x18]
mov rax, qword [rbp - 0x10]
mov rdx, qword [rbp - 8]
mov qword [rbp - 0x60], rdx
mov qword [rbp - 0x58], rax
cmp rax, rcx
je 0x140086787
mov rcx, qword [rbp - 0x58]
mov rax, qword [rbp - 0x60]
mov rdx, qword [rbp - 0x20]
mov dl, byte [rdx + rcx + 8]
imul rax, rax, 0x21
movzx edx, dl
mov r8d, edx
xor edx, edx
sub rdx, r8
sub rax, rdx
xor edx, edx
sub rdx, rcx
xor ecx, ecx
sub rcx, 1
add rdx, rcx
xor ecx, ecx
sub rcx, rdx
mov qword [rbp - 0x10], rcx
mov qword [rbp - 8], rax
jmp 0x140086728
mov rax, qword [rbp - 0x20]
mov rcx, qword [rbp - 0x40]
add rcx, 0x50
mov qword [rbp - 0x68], rcx
cmp rax, 0
je 0x140086894
mov ecx, dword [0x14024eed8]
or ecx, dword [0x14024eedc]
add ecx, 0x1e67ad79
mov eax, 0xd4787f80
xor eax, 0x72d0954a
add ecx, eax
mov eax, 0x88a80165
xor eax, 0x96cfac1c
sub ecx, eax
mov eax, ecx
xor eax, 0xffffffff
and eax, 0x2edc9c78
mov edx, 0xffffffff
xor edx, 0x2edc9c78
and ecx, edx
or eax, ecx
xor eax, 0x381c72de
cmp eax, 0x1147b0d
jbe 0x140086b03
mov r8, qword [rbp - 0x20]
mov eax, dword [str._XZ_t]
mov ecx, 0x259e31f
xor ecx, 0x26503446
xor eax, ecx
xor edx, edx
div dword [0x14024eee4]
mov ecx, 0x5741915
xor ecx, 0x891a84c1
add eax, ecx
add eax, 0x11a189d1
sub eax, 0x8c6e9dd4
and eax, 0x3eb48f13
mov ecx, 0xce604bf6
xor ecx, 0xce604bf6
sub ecx, eax
xor eax, eax
sub eax, 0xd235c3f6
add ecx, eax
xor eax, eax
sub eax, ecx
mov ecx, 0xc780bac1
xor ecx, 0xf0fd1c06
movabs rdx, 0x4000000000000000
and rdx, qword [r8]
cmp rdx, 0
sete dl
mov byte [rbp - 0x69], dl
cmp eax, ecx
jbe 0x1400867f4
mov al, byte [rbp - 0x69]
test al, 1
jne 0x140086883
jmp 0x140086894
mov rcx, qword [rbp - 0x20]
sub rsp, 0x20
call fcn.14000eec9
add rsp, 0x20
mov rdx, qword [rbp - 0x60]
mov rcx, qword [rbp - 0x48]
sub rsp, 0x20
call fcn.1400050e2
mov rax, qword [rbp - 0x68]
mov rcx, qword [rbp - 0x30]
add rsp, 0x20
mov al, byte [rax]
mov rcx, qword [rcx + 8]
mov qword [rbp - 0x78], rcx
cmp rcx, 0
sete cl
mov byte [rbp - 0x6a], cl
cmp al, 0
jne 0x14008696a
mov al, byte [rbp - 0x6a]
test al, 1
jne 0x140086a6a
jmp 0x1400868dd
mov rax, qword [rbp - 0x78]
mov rcx, qword [rax]
mov rax, rcx
xor rax, 0xffffffffffffffff
mov rdx, 0xffffffffffffffff
movabs r8, 0x4000000000000000
xor rdx, r8
or rax, rdx
xor rcx, 0xffffffffffffffff
movabs rdx, 0xafc02c9b8b89a0bc
movabs r8, 0xefc02c9b8b89a0bc
xor rdx, r8
movabs r8, 0x38be37d00d26d675
movabs r9, 0xc741c82ff2d9298a
xor r8, r9
xor rdx, r8
or rcx, rdx
xor rax, 0xffffffffffffffff
movabs rdx, 0xf2425d1d9c94a29e
movabs r8, 0xdbda2e2636b5d61
xor rdx, r8
xor rcx, rdx
or rax, rcx
cmp rax, 0
je 0x140086a59
jmp 0x140086a6a
mov ecx, dword [0x14024eee8]
mov edx, dword [0x14024eeec]
xor edx, 0xdfdd2a67
mov eax, ecx
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
mov ecx, edx
xor ecx, 0xffffffff
xor edx, 0xffffffff
or ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
and eax, 0x4f4d0909
and eax, 0x987f8eb9
or eax, eax
xor eax, 0xffffffff
mov ecx, 0xffffffff
xor ecx, 0x1d4663b1
mov edx, 0xffffffff
xor edx, 0x1d4663b1
and ecx, edx
or eax, ecx
xor eax, 0xffffffff
cmp eax, 0xe1e304ab
ja 0x140086b0c
mov eax, dword [0x14024eef0]
xor edx, edx
div dword [0x14024eef4]
mov ecx, 0xb3e4856b
xor edx, edx
div ecx
add eax, 0x6eff846b
mov ecx, 0xb1a141ac
xor ecx, 0xb1a141ac
mov edx, 0x124998e9
xor edx, 0x98ff9bb2
sub ecx, edx
add eax, ecx
mov ecx, 0xaf737e3a
xor ecx, 0x77442f75
cmp eax, ecx
jbe 0x140086b0c
mov al, byte [rbp - 0x6a]
test al, 1
jne 0x140086a6a
jmp 0x140086a28
mov rcx, qword [rbp - 0x78]
movabs rax, 0x4000000000000000
and rax, qword [rcx]
movabs rcx, 0x8e7deb8fb94df5eb
movabs rdx, 0x8e7deb8fb94df5eb
xor rcx, rdx
cmp rax, rcx
jne 0x140086a6a
mov rcx, qword [rbp - 0x78]
sub rsp, 0x20
call fcn.14000eec9
add rsp, 0x20
mov eax, dword [0x14024eef8]
mov ecx, 0x270a42e3
xor ecx, 0x9049a3db
xor eax, ecx
xor edx, edx
div dword [0x14024eefc]
mov ecx, 0x24a07281
xor ecx, 0x24a07281
mov edx, 0x758624a
xor edx, 0x3472b51
sub ecx, edx
add eax, ecx
xor eax, 0x712ecf86
mov ecx, 0x1c8a7faa
xor ecx, 0x1c8a7faa
sub ecx, eax
xor eax, eax
sub eax, 0x49e4dfe7
add ecx, eax
xor eax, eax
sub eax, ecx
cmp eax, 0xa695c4d
je 0x140086b15
mov eax, dword [0x14024ef00]
add eax, dword [0x14024ef04]
mov ecx, 0x8beffbdd
xor ecx, 0x73f9796b
imul eax, ecx
xor eax, 0xf7dcc89a
imul eax, eax, 0x4ada73ea
cmp eax, 0x87790a17
jae 0x140086b15
mov rax, qword [rbp - 0x50]
lea rsp, [rbp + 0x20]
pop rbp
ret
ret 0x8d5e
invalid
mov dword [rdi], esp
int1
jmp 0x140086ac9