Function at 0x1401095c0
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0xb8
mov qword [rsp + 0x90], rdx
mov qword [rsp + 0x98], rcx
mov qword [rsp + 0xa0], rcx
mov rdx, qword [r8]
mov qword [rsp + 0xa8], rdx
mov r8, qword [r8 + 8]
mov rax, rdx
xor rax, 0xffffffffffffffff
mov rcx, r8
add rcx, rax
movabs rax, 0xca386faab7854304
movabs r9, 0xca386faab7854305
xor rax, r9
add rcx, rax
mov qword [rsp + 0xb0], rcx
mov rax, rcx
xor rax, r8
cmp rax, 0
setl al
xor rcx, rdx
cmp rcx, 0xffffffffffffffff
setg dl
xor al, 0xff
xor dl, 0xff
mov cl, 1
xor cl, 1
or al, dl
or cl, 1
mov dl, 1
xor dl, 0
xor al, dl
and al, cl
test al, 1
jne 0x140109659
jmp 0x140109756
mov r8d, dword [0x140248520]
mov edx, dword [0x140248524]
mov ecx, 0x160b67a4
xor ecx, 0xe9f4985b
mov eax, r8d
xor eax, ecx
and eax, 0x5f015755
mov r9d, 0xffffffff
xor r9d, 0x5f015755
and r8d, r9d
mov ecx, edx
xor ecx, 0xffffffff
and ecx, 0x5f015755
and edx, r9d
or eax, r8d
or ecx, edx
xor eax, ecx
and eax, 0x1798fbfa
and eax, 0x5ad20872
or eax, 0x1527a02e
cmp eax, 0x83eca4b3
ja 0x140109cbb
mov eax, dword [0x140248528]
mov edx, dword [0x14024852c]
xor ecx, ecx
sub ecx, edx
sub eax, ecx
mov r8d, 0x50fc3ec3
xor r8d, 0xad4f4b96
mov ecx, 0xfa35f596
xor ecx, 0x5ca0a69
xor r8d, ecx
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0xfdb37555
or eax, 0xfdb37555
imul eax, edx
add eax, ecx
mov ecx, 0xffffffff
xor ecx, 0xf8060402
add eax, ecx
add eax, 1
mov ecx, eax
and ecx, 0xb8c017b5
shl ecx, 1
mov edx, 0xbba7c69f
xor edx, 0x367d12a
xor eax, edx
add eax, ecx
mov dword [rsp + 0x8c], eax
call fcn.140008d37
mov eax, dword [rsp + 0x8c]
cmp eax, 0x1b002798
ja 0x1401096ba
jmp 0x140109cab
mov eax, dword [0x140248530]
imul eax, dword [0x140248534]
mov ecx, 0xec476566
xor ecx, 0x2677e25b
and eax, ecx
mov ecx, 0x668aa1d7
xor ecx, 0xe54e0ea9
xor edx, edx
div ecx
mov ecx, eax
mov eax, ecx
and eax, 0x43b4217d
xor ecx, 0x43b4217d
or eax, ecx
cmp eax, 0xcb7b4069
je 0x140109cc4
mov rcx, qword [rsp + 0xb0]
mov eax, dword [0x140248538]
xor eax, 0x95ce16d6
xor eax, dword [0x14024853c]
mov r9d, 0x5a5641e9
xor r9d, 0xc0cec652
mov edx, 0x95d8856
xor edx, 0xf6a277a9
xor r9d, edx
mov r8d, eax
and r8d, r9d
mov edx, eax
or edx, r9d
mov r9d, 0x586ebe6a
xor r9d, 0xa7914195
xor edx, r9d
imul edx, r8d
mov r9d, 0x140ce984
xor r9d, 0x8e946e3f
mov r8d, eax
and r8d, r9d
or eax, 0x9a9887bb
imul eax, r8d
add eax, edx
mov r8d, 0x10802581
xor edx, edx
div r8d
mov edx, 0x15c3ecea
xor edx, 0x5985fe26
and eax, edx
movabs r8, 0xb07f78eefda23527
movabs rdx, 0xb07f78eefda23526
xor r8, rdx
mov rdx, rcx
add rdx, r8
mov qword [rsp + 0x80], rdx
mov r8, rcx
xor r8, 0xffffffffffffffff
movabs r10, 0x72e5a2e53abf3736
movabs r9, 0x8d1a5d1ac540c8c9
xor r10, r9
mov r9, rcx
xor r9, r10
or r8, r9
movabs r9, 0xb5049243b1458b78
movabs r10, 0x4afb6dbc4eba7487
xor r9, r10
xor r8, r9
mov r9, 0xffffffffffffffff
xor r9, 0xffffffffffffffff
or r8, r9
mov r9, 0xffffffffffffffff
and r9, 0xffffffffffffffff
xor r9, 0xffffffffffffffff
xor rcx, 0xffffffffffffffff
movabs r10, 0x846b101e81328a3d
movabs r11, 0x7b94efe17ecd75c2
xor r10, r11
xor r9, r10
or rcx, r9
xor r8, 0xffffffffffffffff
xor rcx, 0xffffffffffffffff
or r8, rcx
xor r8, 0xffffffffffffffff
mov rcx, rdx
xor rcx, r8
and rcx, rdx
cmp rcx, 0
setl cl
mov byte [rsp + 0x8b], cl
cmp eax, 0x37b59aaa
ja 0x14010979b
mov al, byte [rsp + 0x8b]
test al, 1
jne 0x14010990d
jmp 0x140109917
call fcn.140008d37
jmp 0x140109cab
mov rax, qword [rsp + 0x80]
movabs rcx, 0x74ea1c09e21f8541
movabs rdx, 0x74ea1c09e21f8541
xor rcx, rdx
cmp rax, rcx
jge 0x14010995f
mov rcx, qword [rsp + 0x80]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
call fcn.14000db87
jmp 0x140109cab
mov eax, dword [0x140248540]
xor edx, edx
div dword [0x140248544]
and eax, eax
xor eax, 0xffffffff
mov ecx, 0xffffffff
xor ecx, 0xcf552d2b
mov edx, 0xe5f0928
xor edx, 0xc10a2403
mov r8d, 0x3ae9e7eb
xor r8d, 0xc5161814
xor edx, r8d
or ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0x438dff90
xor ecx, 0xba685e8b
add eax, ecx
sub eax, 0x497906f2
sub eax, 0xf9e5a11b
or eax, 0x92eead2
cmp eax, 0x5fcc02fd
je 0x140109ccd
mov rcx, qword [rsp + 0x98]
mov rdx, qword [rsp + 0x80]
mov eax, dword [0x140248548]
and eax, dword [0x14024854c]
sub eax, 0xd293031c
add eax, 0x9f1f9d68
add eax, 0xd293031c
xor eax, 0xc47b7a0e
imul eax, eax, 0x497b2190
mov dword [rsp + 0x5c], eax
call fcn.140018c28
mov r8, qword [rsp + 0x98]
mov rdx, qword [rsp + 0x90]
mov rcx, qword [rsp + 0xa8]
mov eax, dword [rsp + 0x5c]
add r8, 8
mov qword [rsp + 0x60], r8
mov r8, rcx
xor r8, 0xffffffffffffffff
mov qword [rsp + 0x68], r8
add rdx, 8
mov qword [rsp + 0x70], rdx
cmp rcx, 0xffffffffffffffff
setg cl
mov byte [rsp + 0x7f], cl
cmp eax, 0x7e125692
je 0x140109ccd
xor eax, eax
mov qword [rsp + 0x50], rax
jmp 0x140109a64
mov rcx, qword [rsp + 0x80]
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x48], rax
cmp rax, rcx
je 0x140109cab
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x98]
mov rcx, qword [rcx]
mov qword [rsp + 0x40], rcx
cmp rax, rcx
jl 0x140109ad9
mov rcx, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x40]
movabs rax, 0x8d452fde8737ff17
movabs r8, 0x8d452fde8737ff17
xor rax, r8
sub rax, rdx
xor edx, edx
sub rdx, 0xffffffffffffffff
add rax, rdx
xor edx, edx
sub rdx, rax
call fcn.140012b72
jmp 0x140109cab
mov rax, qword [rsp + 0x60]
mov rax, qword [rax]
mov qword [rsp + 0x38], rax
cmp rax, 0
je 0x140109b19
mov rcx, qword [rsp + 0x38]
movabs rax, 0x4000000000000000
and rax, qword [rcx]
cmp rax, 0
je 0x140109b19
mov rcx, qword [rsp + 0x98]
call fcn.140013e10
mov rdx, qword [rsp + 0x68]
mov rax, qword [rsp + 0xa8]
mov rcx, qword [rsp + 0x48]
add rcx, rax
mov qword [rsp + 0x30], rcx
xor rdx, 0xffffffffffffffff
mov rax, rcx
xor rax, rdx
and rax, rcx
movabs rcx, 0xd029a848ff41d0f4
movabs rdx, 0xd029a848ff41d0f4
xor rcx, rdx
cmp rax, rcx
jge 0x140109c34
mov eax, dword [0x140248550]
mov edx, dword [0x140248554]
xor edx, 0x387b88e5
mov ecx, eax
and ecx, edx
shl ecx, 1
add eax, edx
sub eax, ecx
mov ecx, 0x4f72269d
xor edx, edx
div ecx
add eax, 0x202bdd4
mov ecx, 0xddc7088c
xor ecx, 0xe4da592
xor edx, edx
div ecx
cmp eax, 0xbf20b348
je 0x140109cd6
mov ecx, dword [0x140248558]
mov edx, dword [0x14024855c]
mov eax, ecx
xor eax, 0xffffffff
mov r8d, 0xc0ac8bd1
xor r8d, 0x3f53742e
xor ecx, r8d
or eax, ecx
mov r8d, 0x1f089ec5
xor r8d, 0xe0f7613a
mov ecx, edx
xor ecx, r8d
xor edx, 0xffffffff
or ecx, edx
and eax, ecx
mov ecx, 0x22173b29
xor ecx, 0xdde8c4d6
xor eax, ecx
mov edx, 0xffffffff
xor edx, 0xd5078e1e
mov ecx, eax
and ecx, edx
mov edx, eax
xor edx, 0xd5078e1e
add eax, edx
sub eax, ecx
or eax, 0xfd9e52c4
mov ecx, 0xb101346c
xor edx, edx
div ecx
mov dword [rsp + 0x2c], eax
call fcn.140008d37
mov eax, dword [rsp + 0x2c]
cmp eax, 0x266941a8
ja 0x140109cd6
jmp 0x140109cab
mov al, byte [rsp + 0x7f]
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x90]
mov rdx, qword [rdx]
mov qword [rsp + 0x20], rdx
sub rcx, rdx
setl cl
and al, cl
test al, 1
jne 0x140109c7a
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x20]
xor eax, eax
sub rax, 0xffffffffffffffff
sub rdx, rax
call fcn.140012b72
jmp 0x140109cab
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x60]
mov r8, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x70]
mov rdx, qword [rdx]
mov dl, byte [rdx + r8 + 8]
mov rcx, qword [rcx]
mov byte [rcx + rax + 8], dl
add rax, 1
mov qword [rsp + 0x50], rax
jmp 0x140109a64
mov rax, qword [rsp + 0xa0]
add rsp, 0xb8
ret
and byte [rsi], cl
test al, 0x1a
jmp 0x1401096ba
out 0xa9, eax
mov gs, ecx
invalid
out 8, al
invalid
add al, byte [rax - 0x28]
jmp 0x1400f63c7