Function at 0x140099920
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0xb8
mov qword [rsp + 0x90], r9
mov qword [rsp + 0x98], r8
mov qword [rsp + 0xa0], rdx
mov qword [rsp + 0xa8], rcx
mov r8, qword [rcx]
mov rcx, r8
sub rcx, r9
mov qword [rsp + 0xb0], rcx
movabs rdx, 0xc7ad524ebdedc6df
movabs rax, 0x3852adb142123920
xor rdx, rax
mov rax, rcx
xor rax, rdx
movabs r10, 0x6a02108d799a406d
movabs rdx, 0x95fdef728665bf92
xor r10, rdx
mov rdx, rcx
xor rdx, r10
and rax, rdx
mov rdx, r8
xor rdx, 0xffffffffffffffff
mov r10, r8
xor r10, 0xffffffffffffffff
and rdx, r10
or rax, rdx
xor rax, 0xffffffffffffffff
mov rdx, rcx
or rdx, r8
xor rdx, 0xffffffffffffffff
movabs r8, 0x7569c1ea1f73bcbd
movabs r10, 0x8a963e15e08c4342
xor r8, r10
xor rax, r8
movabs r8, 0x35771bb7632ad87d
movabs r10, 0xca88e4489cd52782
xor r8, r10
xor rdx, r8
and rax, rdx
cmp rax, 0
setl al
xor rcx, r9
cmp rcx, 0xffffffffffffffff
setg cl
mov dl, 1
xor dl, 0
xor al, dl
xor cl, 0xff
mov dl, 1
xor dl, 1
or al, cl
xor ecx, ecx
xor cl, 1
or cl, dl
xor al, 0xff
and al, cl
test al, 1
jne 0x140099a28
jmp 0x140099a32
call fcn.1400077a3
jmp 0x140099df3
mov rcx, qword [rsp + 0xb0]
xor eax, eax
mov edx, eax
sub rdx, rcx
movabs rax, 0xf42d7aaa5186dd42
movabs r8, 0xf42d7aaa5186dd42
xor rax, r8
movabs r8, 0x767ed85bcc21135b
movabs r9, 0x898127a433deeca4
xor r8, r9
sub rax, r8
add rdx, rax
movabs rax, 0x7a7eaacf9e1dd936
movabs r8, 0x7a7eaacf9e1dd936
xor rax, r8
sub rax, rdx
mov qword [rsp + 0x88], rax
mov r8, rax
xor r8, rcx
movabs rdx, 0xa4146ebaba86898
movabs r9, 0xf5beb91454579767
xor rdx, r9
xor r8, rdx
mov rdx, rcx
and rdx, r8
shl rdx, 1
sub rdx, rcx
mov rcx, rax
sub rcx, rdx
cmp rcx, 0
setl cl
cmp rax, 0xffffffffffffffff
setg dl
mov r8b, 1
xor r8b, 0
mov al, dl
xor al, r8b
xor dl, 0xff
and al, dl
or cl, cl
xor cl, 0xff
xor al, 0xff
xor cl, 0xff
and al, cl
test al, 1
jne 0x140099b02
jmp 0x140099b0c
call fcn.1400077a3
jmp 0x140099df3
mov rax, qword [rsp + 0x90]
mov rdx, qword [rsp + 0x98]
mov rcx, qword [rsp + 0xa8]
mov r8, qword [rsp + 0x88]
movabs r10, 0xd3643ea30363c08c
mov r9, rdx
add r9, r10
add r9, 0xffffffffffffffff
movabs r10, 0xd3643ea30363c08c
sub r9, r10
mov qword [rsp + 0x50], r9
mov r10, r9
sub r10, r8
cmovl r8, r9
mov qword [rsp + 0x58], r8
mov r8, rax
xor r8, 0xffffffffffffffff
and r8, 0xffffffffffffffff
movabs r10, 0x8dfaa20372c33aa7
movabs r9, 0x72055dfc8d3cc558
xor r10, r9
movabs r9, 0x2516e876e454d067
movabs r11, 0xdae917891bab2f98
xor r9, r11
xor r10, r9
mov r9, rax
and r9, r10
or r8, r9
mov qword [rsp + 0x60], r8
add rcx, 8
mov qword [rsp + 0x68], rcx
xor ecx, ecx
test rdx, rdx
cmovg rcx, rdx
mov qword [rsp + 0x70], rcx
movabs rcx, 0xa2b16f5c3977673f
movabs rdx, 0x5d4e90a3c68898c0
xor rcx, rdx
cmp rax, rcx
setg al
mov byte [rsp + 0x7f], al
xor eax, eax
mov qword [rsp + 0x80], rax
mov rcx, qword [rsp + 0x58]
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x48], rax
cmp rax, rcx
jg 0x140099df3
mov eax, dword [0x1401d9498]
mov ecx, dword [0x1401d949c]
xor ecx, 0x4b9112d
xor edx, edx
div ecx
mov ecx, 0xcf4c0984
xor ecx, 0xa06e5bf9
imul eax, ecx
imul eax, eax, 0x8701f12c
xor ecx, ecx
sub ecx, 0x25e30289
sub eax, ecx
mov ecx, 0x57abe862
xor ecx, 0x8fd644fa
cmp eax, ecx
jae 0x140099dfb
mov rcx, qword [rsp + 0x48]
mov r9, qword [rsp + 0x90]
mov eax, dword [0x1401d94a0]
xor edx, edx
div dword [0x1401d94a4]
mov rdx, qword [rsp + 0x60]
add eax, 0xd8d3faf6
mov r8d, eax
add r8d, 1
mov r10d, 0x16891e8d
xor r10d, 0xe976e172
xor eax, r10d
mov r10d, 0x2afac6d9
xor r10d, 0xd9792306
or eax, r10d
add eax, r8d
mov r8d, 0x6d42d677
xor r8d, 0x1195edb2
and eax, r8d
xor r8d, r8d
sub r8, r9
sub rcx, r8
mov qword [rsp + 0x38], rcx
and rcx, rdx
cmp rcx, 0
setl cl
mov byte [rsp + 0x47], cl
cmp eax, 0xc7218c12
je 0x140099c4f
mov al, byte [rsp + 0x47]
test al, 1
jne 0x140099ce6
jmp 0x140099cf0
call fcn.1400077a3
jmp 0x140099df3
mov al, byte [rsp + 0x7f]
mov rcx, qword [rsp + 0x38]
mov rdx, qword [rsp + 0xa8]
mov rdx, qword [rdx]
mov qword [rsp + 0x30], rdx
sub rcx, rdx
setl cl
and al, cl
test al, 1
jne 0x140099d31
mov rcx, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x30]
add rdx, 0xffffffffffffffff
call fcn.140013580
jmp 0x140099df3
mov rax, qword [rsp + 0x68]
mov rax, qword [rax]
mov qword [rsp + 0x28], rax
cmp rax, 0
je 0x140099d98
mov rax, qword [rsp + 0x28]
mov rax, qword [rax]
movabs rdx, 0x4000000000000000
mov rcx, rax
xor rcx, rdx
xor rcx, 0xffffffffffffffff
movabs rdx, 0x65cdbde4105269d0
movabs r8, 0x25cdbde4105269d0
xor rdx, r8
or rax, rdx
and rax, rcx
cmp rax, 0
je 0x140099d98
mov rcx, qword [rsp + 0xa8]
call fcn.140014d00
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x70]
cmp rax, rcx
jne 0x140099dbf
mov rdx, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x70]
call fcn.140013580
jmp 0x140099df3
mov rax, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x68]
mov r8, qword [rsp + 0xa0]
mov r8b, byte [r8 + rax]
mov rcx, qword [rcx]
mov byte [rcx + rdx + 8], r8b
add rax, 1
mov qword [rsp + 0x80], rax
jmp 0x140099bed
add rsp, 0xb8
ret
invalid