Function at 0x140087160
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
sub rsp, 0x78
mov qword [rsp + 0x60], rdx
mov qword [rsp + 0x68], rcx
mov rax, qword [rdx]
mov qword [rsp + 0x70], rax
movabs rcx, 0x9a560ece525c1fd7
movabs rdx, 0x9a560ece525c1fd7
xor rcx, rdx
cmp rax, rcx
jle 0x140087625
mov rdx, qword [rsp + 0x70]
movabs rcx, 0xea71a5175e6ffa06
mov rax, rdx
add rax, rcx
movabs rcx, 0x4ca1df6d33a748da
movabs r8, 0x4ca1df6d33a748db
xor rcx, r8
add rax, rcx
movabs rcx, 0xea71a5175e6ffa06
sub rax, rcx
mov qword [rsp + 0x58], rax
mov rcx, rdx
xor rcx, 0xffffffffffffffff
mov r8, rdx
xor r8, 0xffffffffffffffff
and rcx, r8
mov r8, 0xffffffffffffffff
or r8, 0xffffffffffffffff
movabs r9, 0x404ad537ac8ccd44
movabs r10, 0xbfb52ac8537332bb
xor r9, r10
xor r8, r9
or rcx, r8
movabs r8, 0x4952da1d38b1cb4b
movabs r9, 0xb6ad25e2c74e34b4
xor r8, r9
xor rcx, r8
xor rdx, 0xffffffffffffffff
movabs r8, 0x7aabdfa0d5f5be29
movabs r9, 0x8554205f2a0a41d6
xor r8, r9
movabs r9, 0x8180d9f5d9298de2
movabs r10, 0x7e7f260a26d6721d
xor r9, r10
xor r8, r9
and rdx, r8
xor rcx, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
and rcx, rdx
and rax, rcx
movabs rcx, 0xaa4678979d718875
movabs rdx, 0xaa4678979d718875
xor rcx, rdx
cmp rax, rcx
jge 0x14008729c
call fcn.140007f57
jmp 0x140087625
mov rax, qword [rsp + 0x58]
cmp rax, 0
jge 0x1400872c8
mov rcx, qword [rsp + 0x58]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
call fcn.14000dc65
jmp 0x140087625
mov rax, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x68]
mov rcx, qword [rdx + 8]
add rcx, 8
add rcx, qword [rdx]
mov qword [rsp + 0x40], rcx
mov rax, qword [rax + 8]
add rax, 8
mov qword [rsp + 0x48], rax
xor eax, eax
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x38], rax
mov ecx, dword [0x1402042d8]
mov eax, 0x5bc7eb7
xor eax, 0xf2b45d1
xor ecx, eax
xor ecx, dword [0x1402042dc]
mov eax, 0x3518af6e
xor eax, 0x2b5c693f
sub ecx, eax
mov eax, ecx
and eax, 0xbf60a640
mov edx, 0xa83906b8
xor edx, 0x57c6f947
xor eax, edx
add ecx, 0xbf60a640
add ecx, 1
add ecx, eax
mov eax, ecx
and eax, eax
mov edx, 0x8f9b570b
xor edx, 0x7064a8f4
xor eax, edx
and eax, 0x9a2f7882
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x9a2f7882
mov r8d, 0x81c5e657
xor r8d, 0x1bea9ed5
mov r9d, 0x596aaeea
xor r9d, 0xa6955115
xor r8d, r9d
or edx, r8d
xor ecx, 0xffffffff
xor edx, 0xffffffff
or ecx, edx
and eax, ecx
mov ecx, 0xf8825255
xor ecx, 0x77dadaa
xor eax, ecx
mov ecx, 0x59132003
xor ecx, 0x31605277
cmp eax, ecx
ja 0x14008762c
mov r8, qword [rsp + 0x58]
mov eax, dword [0x1402042e0]
sub eax, dword [0x1402042e4]
xor eax, 0x704bcbf
mov ecx, eax
and ecx, 0xe330a6f9
shl ecx, 1
xor eax, 0xe330a6f9
add eax, ecx
mov ecx, 0x2aa3be67
xor edx, edx
div ecx
mov rdx, qword [rsp + 0x38]
mov ecx, 0x89dfc2a2
xor ecx, 0x4938f32d
cmp rdx, r8
sete dl
mov byte [rsp + 0x37], dl
cmp eax, ecx
ja 0x1400873b1
mov al, byte [rsp + 0x37]
test al, 1
jne 0x14008744e
jmp 0x140087415
mov rax, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x48]
mov dl, byte [rdx + rax]
mov byte [rcx + rax], dl
movabs rcx, 0x6d62c8220486884c
movabs rdx, 0x6d62c8220486884d
xor rcx, rdx
add rax, rcx
mov qword [rsp + 0x50], rax
jmp 0x1400872f6
mov eax, dword [0x1402042e8]
xor edx, edx
div dword [0x1402042ec]
and eax, 0x6f6c5b9c
xor ecx, ecx
sub ecx, 0x938ff92a
add eax, ecx
add eax, 0xc71ddee7
cmp eax, 0x4c1c33e9
je 0x140087635
mov r8, qword [rsp + 0x68]
mov eax, dword [0x1402042f0]
imul eax, dword [0x1402042f4]
mov ecx, 0x2676db27
xor ecx, 0x8ad15e5b
or eax, ecx
mov ecx, 0xa57f4753
xor edx, edx
div ecx
mov rdx, qword [rsp + 0x60]
mov ecx, eax
add ecx, 1
mov r9d, 0x5943cf0a
xor r9d, 0xa6bc30f5
xor eax, r9d
or eax, 0x6bf642d4
add eax, ecx
mov ecx, 0xc499c160
xor ecx, 0xf69218f9
mov r8, qword [r8]
mov r10, qword [rdx]
movabs rdx, 0x7ac3d18f1f978a3b
mov r11, r10
add r11, rdx
add r11, r8
movabs rdx, 0xee1ac1075bc0014f
movabs r9, 0x94d9108844578b74
xor rdx, r9
sub r11, rdx
mov qword [rsp + 0x28], r11
mov rdx, r11
and rdx, rdx
xor rdx, 0xffffffffffffffff
and rdx, r8
movabs r9, 0x20ba865ba93bd9d0
movabs rsi, 0xdf4579a456c4262f
xor r9, rsi
xor rdx, r9
movabs rsi, 0x797f209185767a4b
movabs r9, 0x8680df6e7a8985b4
xor rsi, r9
mov r9, r8
xor r9, rsi
movabs rsi, 0x733925046c30a691
movabs rdi, 0x8cc6dafb93cf596e
xor rsi, rdi
xor r8, rsi
or r9, r8
mov r8, r11
and r8, r9
xor r8, 0xffffffffffffffff
and rdx, r8
xor rdx, 0xffffffffffffffff
mov r9, r11
xor r9, 0xffffffffffffffff
movabs r8, 0x656caed583f4aca0
movabs rsi, 0xc267434c34358dbd
xor r8, rsi
and r8, r9
mov rsi, 0xffffffffffffffff
movabs r9, 0xa70bed99b7c1211d
xor rsi, r9
and r11, rsi
mov r9, r10
xor r9, 0xffffffffffffffff
movabs rdi, 0xa70bed99b7c1211d
and r9, rdi
and r10, rsi
or r8, r11
or r9, r10
xor r8, r9
and rdx, r8
movabs r8, 0xa4a22097739e0df0
movabs r9, 0xa4a22097739e0df0
xor r8, r9
cmp rdx, r8
setl dl
mov byte [rsp + 0x36], dl
cmp eax, ecx
jae 0x14008747b
mov al, byte [rsp + 0x36]
test al, 1
jne 0x14008760e
jmp 0x140087618
call fcn.140007f57
jmp 0x140087625
mov rax, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x28]
mov qword [rax], rcx
add rsp, 0x78
pop rdi
pop rsi
ret
jrcxz 0x14008767b
cwde
in eax, dx
jmp 0x1400873b1
sub byte [0x17df1c96f], bl
invalid
ror dword [rax - 0x7d], 1
int1
dec dword [rax - 0x46]
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax + 0x48], al
or eax, edx
and rax, rcx
cmp rax, 0
jne 0x1400876a4
mov rcx, qword [rsp + 0x20]
call fcn.14000fb44
nop
add rsp, 0x28
ret