Function at 0x140108780
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x108
mov qword [rsp + 0xd0], rdx
mov qword [rsp + 0xd8], rcx
call fcn.1401083ed
mov rcx, qword [rsp + 0xd8]
mov qword [rsp + 0xe0], rax
mov qword [rsp + 0x100], 0
mov rcx, qword [rcx]
mov qword [rsp + 0xe8], rcx
cmp byte [rax], 0
jne 0x14010937a
mov rax, qword [rsp + 0xd0]
cmp rax, 0
jge 0x1401087fe
mov rcx, qword [rsp + 0xd0]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
call fcn.14000c8ac
jmp 0x14010937a
mov rdx, qword [rsp + 0xd0]
mov rcx, qword [rsp + 0xd8]
call fcn.140108410
mov rcx, rax
mov rax, qword [rsp + 0xe0]
mov qword [rsp + 0xc8], rcx
cmp byte [rax], 0
jne 0x14010937a
mov eax, dword [0x1401cee80]
mov edx, dword [0x1401cee84]
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, edx
add ecx, eax
xor eax, eax
sub eax, ecx
or eax, 0x5caf30d7
or eax, eax
mov ecx, 0x4c955907
xor ecx, 0xb36aa6f8
xor eax, ecx
mov ecx, 0x3425d6fa
xor ecx, 0x8ff61172
mov edx, 0xbadf967b
xor edx, 0x45206984
xor ecx, edx
mov edx, 0xc72ca195
xor edx, 0x7cff661d
mov r8d, 0x90f0ad53
xor r8d, 0x6f0f52ac
xor edx, r8d
and ecx, edx
or eax, ecx
xor eax, 0xffffffff
xor eax, 0x185eb48c
mov ecx, 0x6f72a62c
xor ecx, 0x7d8a30c
cmp eax, ecx
je 0x140109382
mov eax, dword [0x1401cee88]
mov ecx, dword [0x1401cee8c]
mov edx, 0xf6147f7d
xor edx, 0xe91b6021
xor ecx, edx
xor edx, edx
div ecx
imul eax, eax, 0xab98b633
mov ecx, 0x48ade48
xor edx, edx
div ecx
mov edx, eax
mov rax, qword [rsp + 0xc8]
mov r8d, 0x9a898a7
xor r8d, 0xf6576758
mov ecx, edx
xor ecx, r8d
mov r9d, 0xf39f2e72
xor r9d, 0xc60d18d
mov r8d, edx
xor r8d, r9d
or ecx, r8d
xor ecx, 0xffffffff
mov r8d, 0xa01a977c
xor r8d, 0xc7d1c062
mov r9d, 0x9ca226d1
xor r9d, 0x635dd92e
xor r8d, r9d
or ecx, r8d
mov r8d, 0x839f2178
xor r8d, 0xe4547666
mov r9d, 0xd72a2b4b
xor r9d, 0xb0e17c55
and r8d, r9d
xor r8d, 0xffffffff
xor edx, 0xffffffff
xor r8d, 0xffffffff
or edx, r8d
and ecx, edx
xor ecx, 0xffffffff
mov dword [rsp + 0xc0], ecx
mov rdx, qword [rax]
lea rcx, [rsp + 0x100]
xor r8d, r8d
call fcn.14010b040
mov rcx, qword [rsp + 0xe0]
mov eax, dword [rsp + 0xc0]
mov cl, byte [rcx]
mov dl, 7
xor dl, 7
cmp cl, dl
sete cl
mov byte [rsp + 0xc7], cl
cmp eax, 0x69230491
jae 0x1401088af
mov al, byte [rsp + 0xc7]
test al, 1
jne 0x1401089bb
jmp 0x14010937a
mov rcx, qword [rsp + 0xd0]
lea rdx, [rsp + 0xf8]
call fcn.1401093af
test al, 1
jne 0x1401089dd
jmp 0x1401089e7
call fcn.140008024
jmp 0x14010937a
mov eax, dword [0x1401cee90]
xor edx, edx
div dword [0x1401cee94]
add eax, 0x74062711
mov ecx, 0x750d224
xor ecx, 0x8c2635
imul eax, ecx
imul eax, eax, 0xb589892b
cmp eax, 0xfa251027
jae 0x14010938b
mov eax, dword [0x1401cee98]
mov ecx, dword [0x1401cee9c]
mov edx, 0x99e05934
xor edx, 0x1e9d7a43
xor ecx, edx
imul eax, ecx
mov ecx, 0x51f169a6
xor ecx, 0xa4a40723
xor edx, edx
div ecx
mov ecx, 0x40219bae
xor ecx, 0x8bdd8666
mov edx, eax
xor edx, ecx
mov ecx, 0x4ca4a07c
xor ecx, 0xb35b5f83
xor edx, ecx
and edx, 0xcbfc1dc8
mov ecx, 0xcb0973d8
xor ecx, 0xcb0973da
imul ecx, edx
mov edx, 0xba06fcb7
xor edx, 0x71fae17f
sub ecx, edx
sub eax, ecx
and eax, 0x88000cf3
mov r8, qword [rsp + 0xf8]
xor ecx, ecx
mov edx, ecx
sub rdx, 1
mov rcx, r8
sub rcx, rdx
mov qword [rsp + 0xb0], rcx
mov rdx, r8
xor rdx, 0xffffffffffffffff
and rdx, 0xffffffffffffffff
mov r9, 0xffffffffffffffff
xor r9, 0xffffffffffffffff
and r8, r9
or rdx, r8
and rcx, rdx
movabs rdx, 0x4f19c86e7684edf5
movabs r8, 0x4f19c86e7684edf5
xor rdx, r8
cmp rcx, rdx
setl cl
mov byte [rsp + 0xbf], cl
cmp eax, 0xc33267ab
ja 0x140108a19
mov al, byte [rsp + 0xbf]
test al, 1
jne 0x140108b41
jmp 0x140108b08
mov rax, qword [rsp + 0xd0]
mov rcx, qword [rsp + 0xb0]
mov rdx, qword [rsp + 0xd8]
add rdx, 8
mov qword [rsp + 0x98], rdx
mov qword [rsp + 0xa0], rcx
mov qword [rsp + 0xa8], rax
jmp 0x140108b4b
call fcn.140008024
jmp 0x14010937a
mov rcx, qword [rsp + 0xe8]
mov rax, qword [rsp + 0xa0]
mov rdx, qword [rsp + 0xa8]
mov qword [rsp + 0x88], rdx
mov qword [rsp + 0x90], rax
cmp rax, rcx
jge 0x1401090c5
mov rax, qword [rsp + 0x90]
mov rcx, rax
add rcx, 1
mov qword [rsp + 0x80], rcx
mov rdx, rax
or rdx, rdx
xor rdx, 0xffffffffffffffff
mov r8, 0xffffffffffffffff
or r8, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
and rdx, r8
or rax, 0xffffffffffffffff
xor rax, 0xffffffffffffffff
or rdx, rax
movabs rax, 0x1fa3b7a4168ac4ce
movabs r8, 0xe05c485be9753b31
xor rax, r8
xor rdx, rax
movabs rax, 0xbaa8c39285c980bd
movabs r8, 0x45573c6d7a367f42
xor rax, r8
xor rdx, rax
mov rax, rcx
xor rax, rdx
and rax, rcx
cmp rax, 0
jge 0x140108c13
call fcn.140008024
jmp 0x1401090a1
mov rax, qword [rsp + 0x90]
mov rcx, qword [rsp + 0x80]
mov rdx, qword [rsp + 0xe8]
cmp rcx, rdx
mov qword [rsp + 0x78], rax
jge 0x140108e60
mov eax, dword [0x1401ceea0]
mov r8d, dword [0x1401ceea4]
mov r9d, r8d
xor r9d, 0xffffffff
mov edx, eax
and edx, r9d
mov ecx, eax
or ecx, r9d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, 0x6ee8355f
xor edx, edx
div ecx
mov ecx, 0x26e090e8
xor ecx, 0x178fb5f8
xor edx, edx
div ecx
mov ecx, 0xff3c2a4f
xor ecx, 0x14afe629
and eax, ecx
mov ecx, 0x88a4831f
xor ecx, 0xddcc5807
cmp eax, ecx
ja 0x140109394
mov rcx, qword [rsp + 0x90]
mov r8d, dword [0x1401ceea8]
mov r9d, dword [0x1401ceeac]
mov eax, r8d
xor eax, 0xffffffff
mov edx, r9d
and edx, eax
mov r10d, r9d
xor r10d, 0xffffffff
mov eax, r8d
and eax, r10d
imul eax, edx
mov edx, r8d
and edx, r9d
or r8d, r9d
imul r8d, edx
add r8d, eax
mov r9d, 0xffffffff
xor r9d, 0x41fb7e42
mov edx, r8d
and edx, r9d
mov eax, r8d
or eax, r9d
xor eax, 0xffffffff
imul eax, edx
mov edx, r8d
and edx, 0x41fb7e42
mov r9d, 0x41466be3
xor r9d, 0xbd15a1
or r8d, r9d
imul r8d, edx
add r8d, eax
mov eax, 0x3e940416
xor eax, 0xf044d11a
or r8d, eax
mov edx, r8d
xor edx, 0xea1a1a8d
mov eax, 0xffffffff
xor eax, 0xea1a1a8d
and r8d, eax
mov eax, 0x78eae3e3
xor eax, 0x78eae3e1
imul eax, r8d
sub eax, edx
movabs rdx, 0x7b19479ecaa36762
movabs r8, 0x7b19479ecaa36762
xor rdx, r8
cmp rcx, rdx
setl cl
mov byte [rsp + 0x77], cl
cmp eax, 0x8a819473
jbe 0x140108ca2
mov al, byte [rsp + 0x77]
test al, 1
jne 0x140108d92
jmp 0x140108db2
mov rcx, qword [rsp + 0x90]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
call fcn.14000c8ac
jmp 0x1401090a1
mov rdx, qword [rsp + 0x90]
mov rcx, qword [rsp + 0xd8]
call fcn.140108410
mov rcx, rax
mov rax, qword [rsp + 0xe0]
mov qword [rsp + 0x68], rcx
cmp byte [rax], 0
jne 0x1401090a1
mov rdx, qword [rsp + 0x80]
mov rcx, qword [rsp + 0xd8]
call fcn.140108410
mov rcx, rax
mov rax, qword [rsp + 0xe0]
mov qword [rsp + 0x60], rcx
mov al, byte [rax]
mov cl, 0xfe
xor cl, 0xfe
cmp al, cl
jne 0x1401090a1
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x68]
mov rcx, qword [rcx]
mov rdx, qword [rax]
call fcn.140108590
mov cl, al
mov rax, qword [rsp + 0xe0]
mov byte [rsp + 0x5f], cl
cmp byte [rax], 0
jne 0x1401090a1
mov rcx, qword [rsp + 0x90]
mov rax, qword [rsp + 0x80]
mov dl, byte [rsp + 0x5f]
test dl, 1
cmovne rax, rcx
mov qword [rsp + 0x78], rax
mov rax, qword [rsp + 0x88]
mov rcx, qword [rsp + 0xd8]
mov rdx, qword [rsp + 0x78]
mov qword [rsp + 0x48], rdx
mov rcx, qword [rcx]
mov qword [rsp + 0x50], rcx
cmp rax, rcx
jl 0x140108ea6
mov rcx, qword [rsp + 0x88]
mov rdx, qword [rsp + 0x50]
add rdx, 0xffffffffffffffff
call fcn.1400122ad
jmp 0x1401090a1
mov rax, qword [rsp + 0x48]
cmp rax, 0
jge 0x140108ef2
mov rcx, qword [rsp + 0x48]
movabs rdx, 0xc2c93e1ed260827b
movabs rax, 0xc2c93e1ed260827b
xor rdx, rax
movabs r8, 0xb0f7971bbbf7b669
movabs rax, 0xcf0868e444084996
xor r8, rax
call fcn.14000c8ac
jmp 0x1401090a1
mov rdx, qword [rsp + 0x48]
mov rcx, qword [rsp + 0xd8]
call fcn.140108410
mov rcx, rax
mov rax, qword [rsp + 0xe0]
mov qword [rsp + 0x40], rcx
cmp byte [rax], 0
jne 0x1401090a1
mov rax, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x98]
mov rcx, qword [rcx]
add rcx, 8
shl rdx, 3
add rcx, rdx
mov rdx, qword [rax]
mov r8d, 1
call fcn.14010b040
mov rax, qword [rsp + 0xe0]
mov al, byte [rax]
mov cl, 0x31
xor cl, 0x31
cmp al, cl
jne 0x1401090a1
mov rcx, qword [rsp + 0x48]
lea rdx, [rsp + 0xf0]
call fcn.1401093af
test al, 1
jne 0x140108f84
jmp 0x140108f8e
call fcn.140008024
jmp 0x1401090a1
mov rax, qword [rsp + 0xf0]
movabs rdx, 0xf6075d6144516fc3
mov rcx, rax
sub rcx, rdx
movabs rdx, 0x895a3d297cd39bba
movabs r8, 0x895a3d297cd39bbb
xor rdx, r8
add rcx, rdx
movabs rdx, 0xf6075d6144516fc3
add rcx, rdx
mov qword [rsp + 0x38], rcx
mov rdx, rax
and rdx, rdx
xor rdx, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
movabs r8, 0xfd51e82882bee9a
movabs r9, 0xf02ae17d77d41165
xor r8, r9
movabs r9, 0x9e96761c4600703d
movabs r10, 0x616989e3b9ff8fc2
xor r9, r10
xor r8, r9
or rdx, r8
mov r8, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
mov r9, 0xffffffffffffffff
xor r9, 0xffffffffffffffff
or r8, r9
xor rax, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
or rax, r8
xor rdx, 0xffffffffffffffff
movabs r8, 0x3c30b609b7435909
movabs r9, 0xc3cf49f648bca6f6
xor r8, r9
xor rax, r8
or rdx, rax
movabs rax, 0x3c0b02d6406c4013
movabs r8, 0xc3f4fd29bf93bfec
xor rax, r8
xor rdx, rax
mov rax, rcx
xor rax, rdx
and rax, rcx
movabs rcx, 0x3e4d82a14baa6772
movabs rdx, 0x3e4d82a14baa6772
xor rcx, rdx
cmp rax, rcx
jge 0x1401090a6
call fcn.140008024
jmp 0x14010937a
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x38]
mov qword [rsp + 0xa0], rcx
mov qword [rsp + 0xa8], rax
jmp 0x140108b4b
mov rax, qword [rsp + 0x88]
mov rcx, qword [rsp + 0xd8]
mov rcx, qword [rcx]
mov qword [rsp + 0x30], rcx
cmp rax, rcx
jl 0x140109234
mov eax, dword [0x1401ceeb0]
mov r8d, dword [0x1401ceeb4]
xor r8d, 0xf7d12ed6
mov ecx, eax
xor ecx, 0xffffffff
mov edx, r8d
and edx, ecx
mov r9d, r8d
xor r9d, 0xffffffff
mov ecx, eax
and ecx, r9d
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
or eax, 0xeb183db5
mov ecx, 0x43c93fa
xor ecx, 0xc3dfae45
xor edx, edx
div ecx
mov ecx, 0xfccd6f89
xor edx, edx
div ecx
cmp eax, 0xebfd2885
jae 0x14010939d
mov rcx, qword [rsp + 0x88]
mov eax, dword [0x1401ceeb8]
xor eax, 0x98af05e8
mov edx, dword [0x1401ceebc]
xor edx, 0xdaa27283
sub eax, edx
mov r8d, 0x3d5721ca
xor edx, edx
div r8d
mov rdx, qword [rsp + 0x30]
mov r8d, eax
and r8d, r8d
mov eax, 0xd16b7710
xor eax, 0x2e9488ef
xor r8d, eax
mov eax, 0xffffffff
xor eax, 0xe39c3105
mov r9d, 0xffffffff
xor r9d, 0xe39c3105
or eax, r9d
mov r9d, 0xa31e51d
xor r9d, 0xf5ce1ae2
xor r8d, r9d
xor eax, 0xffffffff
or r8d, eax
mov eax, r8d
xor eax, 0xffffffff
mov r9d, 0xffffffff
xor r9d, 0xfbd07cf8
or eax, r9d
and r8d, 0xfbd07cf8
mov r9d, 0xa2c0cb58
xor r9d, 0x5d3f34a7
xor r8d, r9d
xor eax, 0xffffffff
mov r9d, 0xef7c9197
xor r9d, 0x10836e68
xor r8d, r9d
or eax, r8d
mov dword [rsp + 0x2c], eax
mov rax, 0xffffffffffffffff
xor rax, 0xffffffffffffffff
xor r8d, r8d
sub r8, 1
sub rax, r8
sub rdx, rax
call fcn.1400122ad
mov eax, dword [rsp + 0x2c]
cmp eax, 0x3d6b91f5
jbe 0x140109148
jmp 0x14010937a
mov rax, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x98]
mov rcx, qword [rcx]
add rcx, 8
shl rax, 3
add rcx, rax
mov rdx, qword [rsp + 0x100]
call fcn.14010b2b0
mov rax, qword [rsp + 0xe0]
cmp byte [rax], 0
jne 0x14010937a
mov eax, dword [0x1401ceec0]
mov r8d, dword [0x1401ceec4]
xor r8d, 0x15126535
mov ecx, eax
xor ecx, 0xffffffff
mov edx, r8d
and edx, ecx
mov r9d, r8d
xor r9d, 0xffffffff
mov ecx, eax
and ecx, r9d
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
mov edx, 0x693d8ff0
xor edx, 0xe6248dd5
mov ecx, eax
xor ecx, edx
xor ecx, 0xffffffff
or eax, 0x8f190225
and eax, ecx
xor eax, 0xb781e111
or eax, 0xcea22abb
cmp eax, 0xb82cc5cc
jb 0x1401093a6
mov r8, qword [rsp + 0x88]
mov rcx, qword [rsp + 0xd8]
mov eax, dword [0x1401ceec8]
mov edx, dword [0x1401ceecc]
mov r9d, 0xf9c4403b
xor r9d, 0x63bbfc4
xor edx, r9d
add eax, edx
mov edx, 0x31023602
xor edx, 0x31023603
add eax, edx
mov edx, 0x38340d91
xor edx, 0x38340d91
mov r9d, 0x6f3c26fa
xor r9d, 0x3a9c30d3
sub edx, r9d
add eax, edx
mov r9d, 0xc6a292a3
xor edx, edx
div r9d
mov r9d, 0xe3a427ed
xor edx, edx
div r9d
mov rdx, qword [rsp + 0xd0]
mov dword [rsp + 0x28], eax
mov eax, 0x9e303d7a
xor eax, 0x6fc19374
mov dword [rsp + 0x24], eax
call fcn.140107ce0
mov ecx, dword [rsp + 0x24]
mov eax, dword [rsp + 0x28]
cmp eax, ecx
jae 0x1401092d8
jmp 0x14010937a
add rsp, 0x108
ret
push rbp
or edx, edx
invalid
sti
or esp, dword [rsi]
sub ch, cl
test esi, esi
invalid
push qword [rax]
in eax, 0x13
jmp 0x140108ca2
xlatb
fchs
jmp 0x140109148
mov word [rdi + 0x15], es
jmp 0x1401092d8