Function at 0x140087690
Capabilities:
Encode data using xor

Disassembly:
push rsi
sub rsp, 0xd0
mov qword [rsp + 0xb0], r8
mov qword [rsp + 0xb8], rdx
mov qword [rsp + 0xc0], rcx
mov qword [rsp + 0xc8], rcx
mov eax, dword [0x1401cc078]
xor eax, 0x8e50353c
xor edx, edx
div dword [str.9__t]
mov ecx, 0xe0ccafe9
xor ecx, 0x932b006d
or eax, ecx
sub eax, 0x6eb23e1e
add eax, 0xee6dca9f
mov ecx, 0x254bc16f
xor ecx, 0x4bf9ff71
add eax, ecx
sub eax, 0x121112ed
mov ecx, 0xabdde212
xor ecx, 0xe2abe969
cmp eax, ecx
je 0x140087ee0
mov r8, qword [rsp + 0xb8]
mov eax, dword [0x1401cc080]
add eax, dword [0x1401cc084]
mov ecx, 0x56fc97eb
xor edx, edx
div ecx
mov rdx, qword [rsp + 0xb0]
or eax, 0xd9349d51
xor ecx, ecx
sub ecx, 0x3bb3089a
add eax, ecx
mov ecx, 0xab61388b
xor ecx, 0xc44ff362
mov r9, qword [rdx]
mov qword [rsp + 0x98], r9
mov r8, qword [r8]
mov r11, qword [rdx + 8]
movabs rdx, 0x144826e2e4ce8be5
mov r9, r8
add r9, rdx
sub r9, r11
movabs rdx, 0x144826e2e4ce8be5
sub r9, rdx
mov qword [rsp + 0xa0], r9
mov rdx, r9
xor rdx, r8
cmp rdx, 0
setl dl
mov r8, r9
and r8, r8
movabs r10, 0xf8ad77f2e70a36a7
movabs rsi, 0x752880d18f5c958
xor r10, rsi
xor r8, r10
and r8, r11
xor r8, 0xffffffffffffffff
mov r10, r11
xor r10, 0xffffffffffffffff
xor r11, 0xffffffffffffffff
or r10, r11
and r9, r10
xor r9, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
xor r9, 0xffffffffffffffff
or r8, r9
cmp r8, 0xffffffffffffffff
setg r8b
and dl, r8b
mov byte [rsp + 0xaf], dl
cmp eax, ecx
jb 0x140087707
mov al, byte [rsp + 0xaf]
test al, 1
jne 0x140087802
jmp 0x14008780c
call fcn.140008024
jmp 0x140087ecf
mov r8, qword [rsp + 0x98]
mov r9, qword [rsp + 0xa0]
mov rdx, r9
sub rdx, r8
mov qword [rsp + 0x90], rdx
mov rcx, rdx
not rcx
mov rax, rcx
xor rax, rdx
and rax, r9
xor rax, rdx
mov rdx, rcx
and rdx, r8
or rcx, r8
not rcx
or rdx, rcx
mov rcx, rax
and rcx, rdx
test rax, rax
sets al
test rcx, rcx
setns cl
add al, cl
inc al
test al, 1
jne 0x14008786e
jmp 0x140087878
call fcn.140008024
jmp 0x140087ecf
mov eax, dword [0x1401cc088]
mov edx, dword [0x1401cc08c]
mov r8d, eax
xor r8d, 0xffffffff
mov ecx, edx
and ecx, r8d
xor edx, 0xffffffff
and eax, edx
or ecx, eax
xor ecx, 0x1ac7d33d
mov edx, 0xb0b4a20e
xor edx, 0x4479c2d7
mov eax, ecx
xor eax, edx
mov edx, 0xd3be2533
xor edx, 0x2c41dacc
xor eax, edx
or ecx, 0xf4cd60d9
and ecx, eax
mov eax, ecx
and eax, 0xec7133d
mov edx, 0x1c793ff1
xor edx, 0x12be2ccc
xor ecx, edx
or eax, ecx
cmp eax, 0x4a37bb6
jb 0x140087ee9
mov r9, qword [rsp + 0x90]
mov eax, dword [0x1401cc090]
xor eax, 0xb5823cf0
xor edx, edx
div dword [0x1401cc094]
mov ecx, 0x11d9863b
xor edx, edx
div ecx
add eax, 0x81408ff1
sub eax, 0xbfa35475
sub eax, 0x81408ff1
imul eax, eax, 0xafceeffb
mov ecx, 0xee7c9f80
xor ecx, 0xacefb77
movabs r8, 0x373aa4274de6bd7f
movabs rdx, 0x373aa4274de6bd7e
xor r8, rdx
mov rdx, r9
add rdx, r8
mov qword [rsp + 0x80], rdx
mov r8, r9
and r8, r8
movabs r10, 0x5fd1ff7afe2ed17
movabs r11, 0xfa02e008501d12e8
xor r10, r11
xor r8, r10
xor r8, 0xffffffffffffffff
mov r10, 0xffffffffffffffff
xor r10, 0xffffffffffffffff
or r8, r10
mov r10, 0xffffffffffffffff
xor r10, 0xffffffffffffffff
mov r11, 0xffffffffffffffff
xor r11, 0xffffffffffffffff
or r10, r11
xor r9, 0xffffffffffffffff
movabs r11, 0x6ec03ef389febe11
movabs rsi, 0x913fc10c760141ee
xor r11, rsi
xor r10, r11
or r9, r10
xor r8, 0xffffffffffffffff
movabs r10, 0x9fbd0b5237d65ab
movabs r11, 0xf6042f4adc829a54
xor r10, r11
xor r9, r10
or r8, r9
and rdx, r8
cmp rdx, 0
setl dl
mov byte [rsp + 0x8f], dl
cmp eax, ecx
jae 0x140087ee9
mov al, byte [rsp + 0x8f]
test al, 1
jne 0x140087a05
jmp 0x140087ac9
mov eax, dword [0x1401cc098]
mov ecx, dword [0x1401cc09c]
xor ecx, 0xdde2de47
sub eax, ecx
mov ecx, 0x9ee172f8
xor ecx, 0x8a3a769c
sub eax, ecx
mov ecx, 0x10fca754
xor ecx, 0x39b37fe5
add eax, ecx
add eax, 0x14db0464
mov ecx, 0x131800d9
xor ecx, 0xde1feb90
sub eax, ecx
mov ecx, 0x763e145e
xor ecx, 0x1ae871f9
sub eax, ecx
mov ecx, 0xec31178
xor ecx, 0xc3c4fa31
add eax, ecx
and eax, 0x63dfa1bc
cmp eax, 0x1671ee4d
jbe 0x140087ef2
mov eax, dword [0x1401cc0a0]
xor edx, edx
div dword [0x1401cc0a4]
mov ecx, 0xa087aa5c
xor edx, edx
div ecx
mov ecx, 0x5a40f8bd
xor ecx, 0x272c03f6
sub eax, ecx
mov edx, 0xf1c080a5
xor edx, 0xf1c080a4
mov ecx, eax
add ecx, edx
xor eax, 0xffffffff
or eax, 0x4f0b81ee
add eax, ecx
mov dword [rsp + 0x7c], eax
call fcn.140008024
mov eax, dword [rsp + 0x7c]
cmp eax, 0xbdaffe59
jae 0x140087ef2
jmp 0x140087ecf
mov eax, dword [0x1401cc0a8]
mov ecx, dword [0x1401cc0ac]
xor ecx, 0x942d02e0
add eax, ecx
mov ecx, 0xd6dbec4a
xor edx, edx
div ecx
add eax, 0x5a194266
sub eax, 0x6e4bdd67
mov ecx, 0xdd4d101c
xor ecx, 0x8754527a
sub eax, ecx
sub eax, 0x5a1bdd0
mov ecx, 0x48b7e944
xor ecx, 0xa11ba7cc
cmp eax, ecx
ja 0x140087efb
mov rcx, qword [rsp + 0x80]
mov eax, dword [0x1401cc0b0]
mov edx, 0x40f00f65
xor edx, 0xd168ef39
xor eax, edx
mov edx, dword [0x1401cc0b4]
mov r8d, 0x9359eade
xor r8d, 0x209ce4a3
xor edx, r8d
sub eax, 0x7ac7f808
add eax, edx
mov edx, 0x6d1e9a8d
xor edx, 0x17d96285
add eax, edx
sub eax, 0xcf0fb849
sub eax, 0x323b61ed
add eax, 0xcf0fb849
mov edx, 0xd11c751d
xor edx, 0x2a816408
sub eax, edx
mov r8d, 0xbcc8eb01
xor r8d, 0x2f24e9f9
xor edx, edx
div r8d
cmp rcx, 0
setl cl
mov byte [rsp + 0x7b], cl
cmp eax, 0xf8cebeed
ja 0x140087efb
mov al, byte [rsp + 0x7b]
test al, 1
jne 0x140087baf
jmp 0x140087d15
mov eax, dword [0x1401cc0b8]
mov r8d, dword [0x1401cc0bc]
xor r8d, 0x79b9a5f6
mov ecx, 0x8e124871
xor ecx, 0x71edb78e
mov r9d, r8d
xor r9d, ecx
mov edx, eax
and edx, r9d
mov ecx, eax
or ecx, r9d
mov r9d, 0xb3a88890
xor r9d, 0x4c57776f
xor ecx, r9d
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, eax
xor ecx, 0xffffffff
mov edx, 0x4f48efd0
xor edx, 0xb0b7102f
xor eax, edx
and ecx, eax
mov eax, 0xb6f396b0
or eax, 0xb6f396b0
xor eax, 0xffffffff
or ecx, eax
xor ecx, 0xffffffff
mov eax, ecx
xor eax, 0xffffffff
mov r8d, 0x641aa6c5
xor r8d, 0x9be5593a
mov edx, ecx
xor edx, r8d
and eax, edx
mov edx, 0xffffffff
xor edx, 0xca4f9e32
mov r8d, 0x76ffa4ed
xor r8d, 0xbcb03adf
mov r9d, 0x3c4e86d5
xor r9d, 0xc3b1792a
xor r8d, r9d
and edx, r8d
mov r8d, 0x8fcb1d40
xor r8d, 0x7034e2bf
xor eax, r8d
xor edx, 0xffffffff
and eax, edx
or ecx, 0xca4f9e32
xor ecx, 0xffffffff
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0xcca5b5af
cmp eax, 0xd582fb28
jae 0x140087f04
mov rcx, qword [rsp + 0x80]
mov eax, dword [0x1401cc0c0]
xor eax, 0xe3d6499a
mov r8d, dword [0x1401cc0c4]
mov edx, 0x42e7978b
xor edx, 0xde0efd1d
xor r8d, edx
mov edx, eax
and edx, r8d
shl edx, 1
add eax, r8d
sub eax, edx
or eax, 0xd84dec51
mov edx, 0x8b6c9383
xor edx, 0x5730e70a
sub eax, edx
or eax, 0xf395c29
mov dword [rsp + 0x74], eax
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
call fcn.14000c8ac
mov eax, dword [rsp + 0x74]
cmp eax, 0x67526dda
je 0x140087c9e
jmp 0x140087ecf
mov rcx, qword [rsp + 0xc0]
mov rdx, qword [rsp + 0x80]
call fcn.140018d90
mov rdx, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0xc0]
mov rax, qword [rsp + 0x98]
mov r8, rax
xor r8, 0xffffffffffffffff
mov qword [rsp + 0x48], r8
add rdx, 8
mov qword [rsp + 0x50], rdx
add rcx, 8
mov qword [rsp + 0x58], rcx
cmp rax, 0xffffffffffffffff
setg al
mov byte [rsp + 0x67], al
xor eax, eax
mov qword [rsp + 0x68], rax
mov rcx, qword [rsp + 0x80]
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x40], rax
cmp rax, rcx
je 0x140087ecf
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0xc0]
mov rcx, qword [rcx]
mov qword [rsp + 0x38], rcx
cmp rax, rcx
jl 0x140087dc3
mov rcx, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x38]
add rdx, 0xffffffffffffffff
call fcn.1400122ad
jmp 0x140087ecf
mov rcx, qword [rsp + 0xc0]
call fcn.140087f10
mov rax, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x98]
mov rcx, qword [rsp + 0x48]
movabs r8, 0x36e275dc22dc7fc2
sub rax, r8
add rax, rdx
movabs rdx, 0x36e275dc22dc7fc2
add rax, rdx
mov qword [rsp + 0x30], rax
and rax, rcx
cmp rax, 0
jge 0x140087e1b
call fcn.140008024
jmp 0x140087ecf
mov al, byte [rsp + 0x67]
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0xb8]
mov rdx, qword [rdx]
mov qword [rsp + 0x28], rdx
sub rcx, rdx
setl cl
and al, cl
test al, 1
jne 0x140087e99
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x28]
movabs rax, 0xe24fb13fdb68d99f
movabs r8, 0xa4cce844fe9db1eb
xor rax, r8
sub rdx, rax
movabs rax, 0x4a0eedb3dbabc2d2
movabs r8, 0xb5f1124c24543d2d
xor rax, r8
add rdx, rax
movabs rax, 0x4683597b25f56874
add rdx, rax
call fcn.1400122ad
jmp 0x140087ecf
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x58]
mov ecx, dword [rsp + 0x58]
mov r8, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x50]
mov rdx, qword [rdx]
mov dl, byte [rdx + r8 + 8]
mov rcx, qword [rcx]
mov byte [rcx + rax + 8], dl
xor ecx, ecx
sub rcx, 1
sub rax, rcx
mov qword [rsp + 0x68], rax
jmp 0x140087d72
mov rax, qword [rsp + 0xc8]
add rsp, 0xd0
pop rsi
ret
or dword [rdi + 0x1ee98e4c], esp
clc
invalid
invalid
out dx, eax
jbe 0x140087e9f
stosb byte [rdi], al
sub cl, ch
je 0x140087ef4
invalid
xchg edi, eax
jp 0x140087eca
clc
jmp 0x140087b15
sbb bh, byte [rsi]
mov cl, 0x20
jmp 0x140087c9e