Function at 0x1400eb650
Capabilities:
Encode data using xor

Disassembly:
push rsi
sub rsp, 0xa0
mov qword [rsp + 0x70], rcx
call fcn.1400e82ac
mov rcx, qword [rsp + 0x70]
mov rax, qword [rcx + 8]
mov qword [rsp + 0x78], rax
cmp rax, 0
je 0x1400eb7e6
mov rax, qword [rsp + 0x78]
mov rcx, qword [rax]
movabs rdx, 0x4000000000000000
mov rax, rcx
and rax, rdx
xor rax, 0xffffffffffffffff
movabs rdx, 0xab48d038e189fd83
movabs r8, 0xeb48d038e189fd83
xor rdx, r8
and rcx, rdx
movabs rdx, 0x356cec8519be732b
movabs r8, 0xca93137ae6418cd4
xor rdx, r8
xor rcx, rdx
movabs rdx, 0x9fcaa993400bc258
movabs r8, 0x6035566cbff43da7
xor rdx, r8
xor rax, rdx
xor rcx, 0xffffffffffffffff
or rax, rcx
cmp rax, 0
jne 0x1400eb7e6
mov eax, dword [0x1401f7ef0]
or eax, dword [0x1401f7ef4]
sub eax, 0x648aceb0
mov ecx, eax
add ecx, 1
mov edx, 0x5ad42b70
xor edx, 0xa52bd48f
xor eax, edx
or eax, 0xf6bcd071
add eax, ecx
mov ecx, eax
xor ecx, 0x6d2919c8
mov edx, 0xffffffff
xor edx, 0x6d2919c8
and eax, edx
shl eax, 1
sub eax, ecx
mov ecx, 0xab0c26c5
xor ecx, 0x16d5de76
cmp eax, ecx
ja 0x1400ebf11
mov rcx, qword [rsp + 0x78]
mov eax, dword [0x1401f7ef8]
mov edx, 0xb407bd03
xor edx, 0x433fc5ce
xor eax, edx
mov r9d, dword [0x1401f7efc]
mov edx, 0x5be83fc5
xor edx, 0xe2df4b5
xor r9d, edx
mov r8d, 0x101f0d6e
xor r8d, 0xefe0f291
mov edx, eax
xor edx, r8d
mov r8d, r9d
and r8d, edx
mov r10d, r9d
xor r10d, 0xffffffff
mov edx, eax
and edx, r10d
imul edx, r8d
mov r8d, eax
and r8d, r9d
or eax, r9d
imul eax, r8d
add eax, edx
or eax, 0x9f902641
or eax, 0x9076ae0c
add eax, 0xd2283dcc
add eax, 0x8dc1bf02
sub eax, 0xd2283dcc
mov dword [rsp + 0x6c], eax
call fcn.140011305
mov eax, dword [rsp + 0x6c]
cmp eax, 0xf9d21d59
je 0x1400ebf11
jmp 0x1400eb7e6
mov eax, dword [0x1401f7f00]
mov ecx, dword [0x1401f7f04]
mov edx, 0x3bde538d
xor edx, 0x95bdf643
xor ecx, edx
add eax, ecx
mov ecx, 0xff4d29fa
xor ecx, 0x1425337
imul eax, ecx
mov r8d, 0xffffffff
xor r8d, 0xcc81bd46
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0xcc81bd46
or eax, 0xcc81bd46
imul eax, edx
add eax, ecx
mov edx, 0xbd8a0190
xor edx, 0xe33d383f
mov ecx, eax
and ecx, edx
shl ecx, 1
add eax, 0x5eb739af
sub eax, ecx
mov ecx, 0x7fdf92cd
xor ecx, 0xc4312e05
cmp eax, ecx
ja 0x1400ebf1a
mov rcx, qword [rsp + 0x70]
mov eax, dword [0x1401f7f08]
xor eax, 0xe6358ded
mov edx, dword [0x1401f7f0c]
mov r8d, 0x3a4b9ab5
xor r8d, 0x6ee8dcce
xor edx, r8d
add eax, edx
sub eax, 0x20ba1be9
sub eax, 0xa365aae4
add eax, 0x20ba1be9
mov edx, 0x84303993
xor edx, 0x84303993
mov r8d, 0x5dff2755
xor r8d, 0x738337ac
sub edx, r8d
add eax, edx
and eax, 0x2fd4c449
mov rcx, qword [rcx + 0x18]
mov qword [rsp + 0x60], rcx
cmp rcx, 0
sete cl
mov byte [rsp + 0x6b], cl
cmp eax, 0x662b735c
je 0x1400ebf1a
mov al, byte [rsp + 0x6b]
test al, 1
jne 0x1400eb968
jmp 0x1400eb8f3
mov rax, qword [rsp + 0x60]
mov rax, qword [rax]
xor rax, 0xffffffffffffffff
mov rdx, 0xffffffffffffffff
movabs rcx, 0x4000000000000000
xor rdx, rcx
mov rcx, 0xffffffffffffffff
movabs r8, 0xa671df2f1c39e4a6
xor rcx, r8
or rax, rdx
movabs rdx, 0xa671df2f1c39e4a6
or rcx, rdx
xor rax, 0xffffffffffffffff
and rax, rcx
movabs rcx, 0x61b328e6e4d2f2e4
movabs rdx, 0x61b328e6e4d2f2e4
xor rcx, rdx
cmp rax, rcx
jne 0x1400eb968
mov rcx, qword [rsp + 0x60]
call fcn.140011305
mov rax, qword [rsp + 0x70]
mov rax, qword [rax + 0x28]
mov qword [rsp + 0x58], rax
cmp rax, 0
je 0x1400ebb0a
mov rax, qword [rsp + 0x58]
mov rcx, qword [rax]
mov rdx, 0xffffffffffffffff
movabs rax, 0x4000000000000000
xor rdx, rax
mov rax, rcx
xor rax, rdx
and rax, rcx
movabs rcx, 0x60b145422b7ac93b
movabs rdx, 0x60b145422b7ac93b
xor rcx, rdx
cmp rax, rcx
jne 0x1400ebb0a
mov eax, dword [0x1401f7f10]
mov ecx, 0x3c8c2936
xor ecx, 0xe3388e1c
xor eax, ecx
mov edx, dword [0x1401f7f14]
xor edx, 0x43a7240b
mov ecx, 0x407eeb1b
xor ecx, 0x407eeb1b
sub ecx, eax
mov eax, 0x866968c0
xor eax, 0x866968c0
sub eax, edx
add ecx, eax
xor eax, eax
sub eax, ecx
sub eax, 0x229c4479
mov ecx, 0xdf893efd
xor edx, edx
div ecx
mov ecx, 0xb127fae0
xor ecx, 0x48b29727
xor edx, edx
div ecx
cmp eax, 0xe25200a6
jae 0x1400ebf23
mov rcx, qword [rsp + 0x58]
mov eax, dword [0x1401f7f18]
mov r8d, dword [0x1401f7f1c]
mov edx, 0x7f7a124e
xor edx, 0x46774f69
xor r8d, edx
xor edx, edx
div r8d
mov esi, eax
mov edx, esi
xor edx, 0xffffffff
mov r9d, 0xffffffff
xor r9d, 0xeace864b
mov r8d, 0x32d4c8ef
xor r8d, 0x512265c
mov eax, 0xa36e30b7
xor eax, 0x5c91cf48
xor r8d, eax
mov eax, edx
and eax, 0x37c6eeb3
and esi, r8d
mov r10d, r9d
and r10d, 0x37c6eeb3
mov r11d, 0x43c825ca
xor r11d, 0xa906a381
and r11d, r8d
or eax, esi
or r10d, r11d
xor eax, r10d
or edx, r9d
mov r9d, 0xe885fbda
xor r9d, 0x177a0425
xor edx, r9d
or r8d, 0x37c6eeb3
and edx, r8d
or eax, edx
mov edx, 0x68deb2a6
xor edx, 0xcf565d3a
add eax, edx
add eax, 0x11dd4ae5
sub eax, 0xa788ef9c
mov edx, 0x9e41b741
xor edx, 0x9b64e061
and eax, edx
mov dword [rsp + 0x54], eax
call fcn.140011305
mov eax, dword [rsp + 0x54]
cmp eax, 0xd4ce9b73
jae 0x1400ebf23
jmp 0x1400ebb0a
mov rax, qword [rsp + 0x70]
mov rax, qword [rax + 0x38]
mov qword [rsp + 0x48], rax
cmp rax, 0
je 0x1400ebb48
mov rcx, qword [rsp + 0x48]
movabs rax, 0x4000000000000000
and rax, qword [rcx]
cmp rax, 0
jne 0x1400ebb48
mov rcx, qword [rsp + 0x48]
call fcn.140011305
mov rax, qword [rsp + 0x70]
mov rax, qword [rax + 0x48]
mov qword [rsp + 0x40], rax
cmp rax, 0
je 0x1400ebb96
mov rax, qword [rsp + 0x40]
mov rax, qword [rax]
movabs rcx, 0x60579417e72641d7
movabs rdx, 0x20579417e72641d7
xor rcx, rdx
and rax, rcx
cmp rax, 0
jne 0x1400ebb96
mov rcx, qword [rsp + 0x40]
call fcn.140011305
mov rax, qword [rsp + 0x70]
mov rax, qword [rax + 0x58]
mov qword [rsp + 0x38], rax
cmp rax, 0
je 0x1400ebddd
mov eax, dword [0x1401f7f20]
mov edx, dword [0x1401f7f24]
mov ecx, eax
and ecx, edx
shl ecx, 1
add eax, edx
sub eax, ecx
mov ecx, 0x538b3966
xor edx, edx
div ecx
xor ecx, ecx
sub ecx, 0xea2f4b81
sub eax, ecx
mov edx, 0xffffffff
xor edx, 0x15031bd5
mov ecx, eax
and ecx, edx
mov r8d, 0xc14cd38d
xor r8d, 0xd44fc858
mov edx, eax
xor edx, r8d
add eax, edx
sub eax, ecx
cmp eax, 0xbf8dd3dc
jb 0x1400ebf2c
mov rdx, qword [rsp + 0x38]
mov eax, dword [0x1401f7f28]
and eax, dword [0x1401f7f2c]
or eax, 0xdae3388d
sub eax, 0xf63dec9
sub eax, 0x3a854e15
mov ecx, 0x34d92fc1
xor ecx, 0x3bbaf108
add eax, ecx
sub eax, 0xd32d4011
mov ecx, 0x217b052a
xor ecx, 0x5f6074a2
sub eax, ecx
add eax, 0xd32d4011
mov ecx, 0x42180d50
xor ecx, 0x368432b8
mov rdx, qword [rdx]
or rdx, rdx
movabs r8, 0xdbc4635a42585d
movabs r9, 0xff243b9ca5bda7a2
xor r8, r9
xor rdx, r8
movabs r8, 0x4000000000000000
movabs r9, 0x4000000000000000
or r8, r9
movabs r9, 0x5a86cf99983fea2e
movabs r10, 0xa579306667c015d1
xor r9, r10
xor r8, r9
movabs r9, 0x789b425b7a827176
movabs r10, 0x8764bda4857d8e89
xor r9, r10
xor rdx, r9
xor r8, 0xffffffffffffffff
and rdx, r8
cmp rdx, 0
sete dl
mov byte [rsp + 0x37], dl
cmp eax, ecx
jae 0x1400ebf2c
mov al, byte [rsp + 0x37]
test al, 1
jne 0x1400ebced
jmp 0x1400ebddd
mov r8d, dword [0x1401f7f30]
sub r8d, dword [0x1401f7f34]
mov ecx, 0xb44f98d5
xor ecx, 0x4bb0672a
mov eax, r8d
xor eax, ecx
and eax, 0xc7d0fa68
mov edx, 0xffffffff
xor edx, 0xc7d0fa68
and r8d, edx
mov ecx, 0x2aab439f
xor ecx, 0xadc0a6d0
mov r9d, 0x6e8ddc21
xor r9d, 0x917223de
xor ecx, r9d
and ecx, 0xc7d0fa68
and edx, 0x876be54f
or eax, r8d
or ecx, edx
xor eax, ecx
xor ecx, ecx
sub ecx, 0x3311305c
sub eax, ecx
mov ecx, eax
and ecx, 0x46234ec8
mov edx, 0x65beb7e3
xor edx, 0x65beb7e1
imul ecx, edx
xor eax, 0x46234ec8
add eax, ecx
cmp eax, 0xc074f99d
jae 0x1400ebf35
mov rcx, qword [rsp + 0x38]
mov eax, dword [0x1401f7f38]
add eax, dword [0x1401f7f3c]
mov r8d, 0x8c2ccb08
xor r8d, 0x9a74ee1e
xor edx, edx
div r8d
mov edx, 0xb77795ba
xor edx, 0x6c9662f7
and eax, edx
mov r8d, 0x51b26bd2
xor r8d, 0xfdf32cb3
xor edx, edx
div r8d
mov dword [rsp + 0x30], eax
call fcn.140011305
mov eax, dword [rsp + 0x30]
cmp eax, 0x530ebdc8
je 0x1400ebd7e
jmp 0x1400ebddd
mov eax, dword [0x1401f7f40]
xor edx, edx
div dword [0x1401f7f44]
mov ecx, 0xfe060a8c
xor edx, edx
div ecx
mov edx, 0x65f96bfd
xor edx, 0x216e1c05
mov ecx, eax
and ecx, edx
shl ecx, 1
add eax, 0x449777f8
sub eax, ecx
mov ecx, eax
xor ecx, 0xaf6d4c28
mov edx, 0xffffffff
xor edx, 0xaf6d4c28
and eax, edx
shl eax, 1
sub eax, ecx
cmp eax, 0xdf79a71f
ja 0x1400ebf3e
mov ecx, dword [0x1401f7f48]
mov r8d, dword [0x1401f7f4c]
xor r8d, 0x5d71ed76
mov eax, ecx
xor eax, 0xffffffff
mov r9d, 0x60805206
xor r9d, 0x9f7fadf9
mov edx, ecx
xor edx, r9d
or eax, edx
and eax, r8d
xor eax, 0xffffffff
mov edx, r8d
xor edx, 0xffffffff
mov r9d, 0x7c258382
xor r9d, 0x83da7c7d
xor r8d, r9d
or edx, r8d
and ecx, edx
xor ecx, 0xffffffff
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
add eax, 0xf401e6d4
mov ecx, 0xad82c98f
xor edx, edx
div ecx
mov ecx, eax
mov rax, qword [rsp + 0x70]
and ecx, 0x91571fa8
mov dword [rsp + 0x2c], ecx
mov rcx, qword [rax + 0x60]
mov qword [rsp + 0x90], rcx
mov rax, qword [rax + 0x68]
mov qword [rsp + 0x98], rax
lea rcx, [rsp + 0x90]
call fcn.14001ca00
mov rax, qword [rsp + 0x70]
mov rcx, qword [rax + 0x70]
mov qword [rsp + 0x80], rcx
mov rax, qword [rax + 0x78]
mov qword [rsp + 0x88], rax
lea rcx, [rsp + 0x80]
call fcn.140068c70
mov eax, dword [rsp + 0x2c]
cmp eax, 0xa3dcacc6
jae 0x1400ebf3e
add rsp, 0xa0
pop rsi
ret
retf 0xa54b
clc
invalid
mov ch, byte [rdi + 0x47e9be12]
stc
invalid
std
popfq
invalid
add dh, bh
cmp al, 0x33
jmp 0x1400ebc08
or eax, dword [rax + 0x63]
invalid
lahf
loopne 0x1400ebf17
jmp 0x1400ebe32