Function at 0x140086c50
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x78
mov qword [rsp + 0x60], rdx
mov qword [rsp + 0x68], rcx
call fcn.140071710
mov rdx, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x68]
mov qword [rsp + 0x70], rax
mov rdx, qword [rdx]
call fcn.140071ec0
mov rax, qword [rsp + 0x70]
cmp byte [rax], 0
jne 0x140086fa8
mov rax, qword [rsp + 0x60]
mov rdx, qword [rax]
mov rcx, rdx
and rcx, 0xffffffffffffffff
movabs rax, 0x631502acd9017d85
movabs r8, 0x631502acd9017d87
xor rax, r8
imul rcx, rax
mov rax, rdx
xor rax, 0xffffffffffffffff
add rax, rcx
mov qword [rsp + 0x58], rax
mov rcx, rax
xor rcx, rdx
cmp rcx, 0
setl cl
movabs rdx, 0x666471e014cfd488
movabs r8, 0x999b8e1feb302b77
xor rdx, r8
cmp rax, rdx
setg al
and al, cl
test al, 1
jne 0x140086d0f
mov rax, qword [rsp + 0x60]
add rax, 8
mov qword [rsp + 0x48], rax
xor eax, eax
mov qword [rsp + 0x50], rax
jmp 0x140086ddc
mov eax, dword [0x1401f5608]
mov ecx, dword [0x1401f560c]
xor ecx, 0xffffffff
mov edx, 0x7d32c367
xor edx, 0x7d32c367
mov r8d, 0x5e4c01e5
xor r8d, 0x5e4c01e4
sub edx, r8d
sub ecx, edx
sub eax, ecx
mov ecx, eax
add ecx, 1
xor eax, 0xffffffff
mov edx, 0x62cabb20
xor edx, 0x6e73fed5
or eax, edx
add eax, ecx
mov ecx, 0xffffffff
xor ecx, 0x4ed3cd4a
add eax, ecx
add eax, 1
imul eax, eax, 0x5b2d992e
cmp eax, 0x43af3158
je 0x140087185
mov ecx, dword [0x1401f5610]
or ecx, dword [0x1401f5614]
mov edx, 0x1b55ab37
xor edx, 0x6e2aa6ee
mov eax, ecx
and eax, edx
or ecx, 0x757f0dd9
add eax, ecx
sub eax, 0x20e35f
sub eax, 0x8ec87c67
add eax, 0x20e35f
mov ecx, 0x58785cb0
xor edx, edx
div ecx
mov dword [rsp + 0x44], eax
mov eax, 0x13929947
xor eax, 0xbd04fd29
mov dword [rsp + 0x40], eax
call fcn.1400091c0
mov ecx, dword [rsp + 0x40]
mov eax, dword [rsp + 0x44]
cmp eax, ecx
ja 0x140086d75
jmp 0x140086fa8
mov rcx, qword [rsp + 0x58]
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x38], rax
cmp rax, rcx
jg 0x140086fa8
mov rax, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x60]
mov rcx, qword [rcx]
mov qword [rsp + 0x30], rcx
cmp rax, rcx
jl 0x140086f6b
mov eax, dword [0x1401f5618]
xor edx, edx
div dword [0x1401f561c]
mov edx, eax
mov ecx, edx
xor ecx, 0xa82e392c
mov eax, 0xffffffff
xor eax, 0xa82e392c
and edx, eax
mov eax, 0xe2e1c8a2
xor eax, 0xe2e1c8a0
imul eax, edx
sub eax, ecx
mov ecx, eax
xor ecx, 0xffffffff
mov edx, 0x49cd6731
xor edx, 0x52ddd983
and edx, ecx
mov r8d, 0xffffffff
xor r8d, 0x1b10beb2
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x1b10beb2
mov r8d, 0xf2b34e9d
xor r8d, 0xe9a3f02f
or eax, r8d
imul eax, edx
add eax, ecx
mov r8d, 0xffffffff
xor r8d, 0x8600e65c
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x8600e65c
or eax, 0x8600e65c
imul eax, edx
add eax, ecx
cmp eax, 0x50e0681d
jb 0x14008718e
mov rcx, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x30]
mov eax, dword [0x1401f5620]
mov r8d, dword [0x1401f5624]
xor r8d, 0xffffffff
add eax, r8d
add eax, 1
mov r8d, eax
and r8d, 0xd535437c
xor r8d, 0xffffffff
add eax, 0xd535437c
add eax, 1
add eax, r8d
sub eax, 0x5c96711d
xor r8d, r8d
sub r8d, 0xe440c930
sub eax, r8d
mov dword [rsp + 0x2c], eax
mov rax, 0xffffffffffffffff
xor rax, 0xffffffffffffffff
movabs r8, 0x38db5b622a7a480d
movabs r9, 0x38db5b622a7a480d
xor r8, r9
movabs r9, 0xa588d198d37c545f
movabs r10, 0xa588d198d37c545e
xor r9, r10
sub r8, r9
sub rax, r8
sub rdx, rax
call fcn.140016582
mov eax, dword [rsp + 0x2c]
cmp eax, 0x2f0c4a60
je 0x140086ec0
jmp 0x140086fa8
mov rcx, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x38]
mov rax, qword [rsp + 0x48]
mov rax, qword [rax]
mov rdx, qword [rax + rdx*8 + 8]
call fcn.140086c00
mov rax, qword [rsp + 0x70]
cmp byte [rax], 0
jne 0x140086fa8
mov rax, qword [rsp + 0x38]
add rax, 1
mov qword [rsp + 0x50], rax
jmp 0x140086ddc
mov r8d, dword [0x1401f5628]
mov eax, dword [0x1401f562c]
xor eax, 0xc2b57ce2
sub r8d, 0xf343eeed
sub r8d, eax
add r8d, 0xf343eeed
mov eax, r8d
and eax, 0x886f53a7
shl eax, 1
add r8d, 0x886f53a7
sub r8d, eax
mov ecx, 0xc44afe5c
xor ecx, 0x3bb501a3
mov eax, r8d
xor eax, ecx
and eax, 0xc6bfdb54
mov edx, 0xffffffff
xor edx, 0xc6bfdb54
and r8d, edx
mov ecx, 0xffffffff
xor ecx, 0xbac0f62e
mov r9d, 0x8a7fd54f
xor r9d, 0x4cc00e1b
and ecx, r9d
and edx, 0xbac0f62e
or eax, r8d
or ecx, edx
xor eax, ecx
mov ecx, 0xe94347bb
xor ecx, 0x16bcb844
xor eax, ecx
mov ecx, 0xffffffff
xor ecx, 0x2c1ec703
mov edx, 0x41144cc5
xor edx, 0x878f4a41
mov r8d, 0xb302ffe3
xor r8d, 0x4cfd001c
xor edx, r8d
or eax, ecx
mov ecx, 0x647f9fb7
xor ecx, 0xa2e49933
or ecx, edx
mov edx, 0xf685499f
xor edx, 0x97ab660
xor eax, edx
and eax, ecx
cmp eax, 0xa89216ba
jae 0x140087197
mov ecx, dword [0x1401f5630]
mov edx, dword [0x1401f5634]
mov eax, 0x9c8ccfc6
xor eax, 0x63733039
xor ecx, eax
mov eax, 0x76a69631
xor eax, 0x895969ce
xor edx, eax
mov eax, 0xebfcc369
xor eax, 0xcf19537f
mov r8d, 0x3e711523
xor r8d, 0xc18eeadc
xor eax, r8d
or ecx, edx
or eax, 0x24e59016
xor ecx, 0xffffffff
and ecx, eax
mov eax, ecx
or eax, eax
xor eax, 0xffffffff
mov edx, 0x84210fa9
xor edx, 0x99b8d83
mov r8d, 0xcf5b8371
xor r8d, 0x42e1015b
or edx, r8d
xor edx, 0xffffffff
or eax, edx
xor eax, 0xffffffff
mov edx, 0x213a547b
xor edx, 0xdec5ab84
xor ecx, edx
mov edx, 0xffffffff
xor edx, 0x8dba822a
and ecx, edx
xor eax, 0xffffffff
mov edx, 0x6d14fbce
xor edx, 0x92eb0431
xor ecx, edx
and eax, ecx
mov r8d, 0x940f4d0e
xor r8d, 0x866c3604
mov ecx, 0x4049bf2d
xor ecx, 0xbfb640d2
xor r8d, ecx
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x12637b0a
or eax, 0x12637b0a
imul eax, edx
add eax, ecx
mov ecx, 0xe194308d
xor edx, edx
div ecx
mov ecx, 0xad86c623
xor ecx, 0x1bbc65fe
cmp eax, ecx
jae 0x140087197
add rsp, 0x78
ret
invalid
and esp, dword [rsi + 0x29e97612]
std
invalid
or eax, 0xe9a42048
out 0xfe, eax
invalid