Function at 0x140077298
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x138
mov qword [rsp + 0xe8], r8
mov qword [rsp + 0xf8], rdx
mov qword [rsp + 0xe0], rcx
mov qword [rsp + 0xd8], rcx
mov rax, qword [0x1401a1928]
mov ecx, dword [rax]
call fcn.14000a414
mov rcx, qword [rsp + 0xe0]
mov r8, qword [rsp + 0xe8]
mov rdx, qword [rsp + 0xf8]
add rax, 0x60
mov qword [rsp + 0xf0], rax
mov qword [rcx], 0
mov qword [rcx + 8], 0
mov rax, qword [rdx]
mov rdx, qword [r8]
movabs rcx, 0xd55ff89151ccd04
movabs r8, 0x786c2b8bedcf0632
xor rcx, r8
add rdx, rcx
add rdx, rax
movabs rax, 0x7539d402f8d3cb36
sub rdx, rax
lea rcx, [rsp + 0x128]
call fcn.140021f70
mov rdx, qword [rsp + 0xf8]
mov rax, qword [rsp + 0x128]
mov qword [rsp + 0x100], rax
mov rcx, qword [rsp + 0x130]
mov qword [rsp + 0x108], rcx
mov rcx, qword [rdx]
mov qword [rsp + 0x110], rcx
mov rdx, qword [rdx + 8]
mov qword [rsp + 0x118], rdx
movabs rdx, 0xac3870c6fd704f64
movabs r8, 0xac3870c6fd704f64
xor rdx, r8
cmp rcx, rdx
mov qword [rsp + 0x120], rax
jle 0x140077783
mov rdx, qword [rsp + 0x110]
movabs rcx, 0xcccf3206e8f8e6f4
movabs rax, 0xcccf3206e8f8e6f5
xor rcx, rax
mov rax, rdx
add rax, rcx
mov qword [rsp + 0xd0], rax
mov rcx, rdx
or rcx, rcx
movabs r8, 0x20ed9937640863c4
movabs r9, 0xdf1266c89bf79c3b
xor r8, r9
xor rcx, r8
movabs r8, 0x35f561423d1b6de8
movabs r9, 0xca0a9ebdc2e49217
xor r8, r9
movabs r9, 0x31a5dec90b1d050c
movabs r10, 0xce5a2136f4e2faf3
xor r9, r10
or r8, r9
movabs r9, 0x9d72bcf454d58e5
movabs r10, 0xf628d430bab2a71a
xor r9, r10
xor r8, r9
or rcx, r8
xor rcx, 0xffffffffffffffff
or rdx, 0xffffffffffffffff
movabs r8, 0xd28e92b4a5c3c006
movabs r9, 0x2d716d4b5a3c3ff9
xor r8, r9
xor rdx, r8
movabs r8, 0xe1db242b08ba78c
movabs r9, 0xf1e24dbd4f745873
xor r8, r9
xor rcx, r8
movabs r8, 0x39f4e09e089ad68
movabs r9, 0xfc60b1f61f765297
xor r8, r9
xor rdx, r8
and rcx, rdx
and rax, rcx
movabs rcx, 0x91c37f6a548c582f
movabs rdx, 0x91c37f6a548c582f
xor rcx, rdx
cmp rax, rcx
jge 0x1400774d5
call fcn.14000a590
mov rax, qword [rsp + 0x100]
mov qword [rsp + 0x120], rax
jmp 0x140077783
mov rax, qword [rsp + 0xd0]
cmp rax, 0
jge 0x140077517
mov rcx, qword [rsp + 0xd0]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
call fcn.140010917
mov rax, qword [rsp + 0x100]
mov qword [rsp + 0x120], rax
jmp 0x140077783
mov rax, qword [rsp + 0x118]
mov rdx, qword [rsp + 0x100]
mov rcx, qword [rsp + 0x108]
add rcx, 8
add rcx, rdx
mov qword [rsp + 0xb8], rcx
add rax, 8
mov qword [rsp + 0xc0], rax
xor eax, eax
mov qword [rsp + 0xc8], rax
mov rcx, qword [rsp + 0xc8]
mov rdx, qword [rsp + 0x110]
mov rax, qword [rsp + 0xb8]
mov r8, qword [rsp + 0xc0]
mov r8b, byte [r8 + rcx]
mov byte [rax + rcx], r8b
movabs r8, 0x1472fe14e983f232
movabs rax, 0x1472fe14e983f232
xor r8, rax
sub r8, rcx
movabs rax, 0x922ee1f873b32112
movabs r9, 0x922ee1f873b32112
xor rax, r9
movabs r9, 0x493bd613ec970b9b
movabs r10, 0x493bd613ec970b9a
xor r9, r10
sub rax, r9
add r8, rax
movabs rax, 0xebcdbd0aa5011764
movabs r9, 0xebcdbd0aa5011764
xor rax, r9
sub rax, r8
cmp rcx, rdx
mov qword [rsp + 0xc8], rax
jne 0x140077554
mov r9, qword [rsp + 0x110]
mov r8, qword [rsp + 0x100]
mov rax, r9
add rax, r8
mov qword [rsp + 0xb0], rax
movabs rdx, 0x70951ecb2155ed3d
movabs rcx, 0x8f6ae134deaa12c2
xor rdx, rcx
mov rcx, rax
xor rcx, rdx
movabs r10, 0x762ad28157e8f380
movabs rdx, 0x89d52d7ea8170c7f
xor r10, rdx
mov rdx, rax
xor rdx, r10
and rcx, rdx
movabs r10, 0x50e1b80b16ded222
movabs rdx, 0xaf1e47f4e9212ddd
xor r10, rdx
mov rdx, r8
xor rdx, r10
movabs r11, 0x28174ddc7de6db6
movabs r10, 0xfd7e8b2238219249
xor r11, r10
mov r10, r8
xor r10, r11
and rdx, r10
or rcx, rdx
xor rcx, 0xffffffffffffffff
mov rdx, rax
or rdx, r8
xor rdx, 0xffffffffffffffff
or rcx, rdx
movabs rdx, 0xadb31dc9a93ec3c8
movabs r8, 0x524ce23656c13c37
xor rdx, r8
xor rcx, rdx
mov r8, rax
xor r8, 0xffffffffffffffff
mov rdx, rax
xor rdx, 0xffffffffffffffff
or r8, rdx
and r8, r9
movabs rdx, 0xf239a681749dfcda
movabs r10, 0xdc6597e8b620325
xor rdx, r10
xor r8, rdx
and r9, r9
xor r9, 0xffffffffffffffff
mov rdx, rax
xor rdx, 0xffffffffffffffff
movabs r10, 0xff1967997f48f208
movabs r11, 0xe6986680b70df7
xor r10, r11
xor r9, r10
or rdx, r9
xor r8, 0xffffffffffffffff
movabs r9, 0xe1a2203cc5dcbf17
movabs r10, 0x1e5ddfc33a2340e8
xor r9, r10
xor rdx, r9
or r8, rdx
mov rdx, rcx
add rdx, 1
movabs r9, 0xd4f58bf1613f96d9
movabs r10, 0x2b0a740e9ec06926
xor r9, r10
xor rcx, r9
or rcx, r8
add rcx, rdx
cmp rcx, 0
mov qword [rsp + 0x120], rax
jge 0x140077783
call fcn.14000a590
mov rax, qword [rsp + 0x100]
mov qword [rsp + 0x120], rax
mov rdx, qword [rsp + 0xe8]
mov rax, qword [rsp + 0x120]
mov qword [rsp + 0x88], rax
mov rcx, qword [rdx]
mov qword [rsp + 0x90], rcx
mov r8, rdx
add r8, 8
mov qword [rsp + 0x98], r8
mov rdx, qword [rdx + 8]
mov qword [rsp + 0xa0], rdx
movabs rdx, 0x81dc65fafad2ab24
movabs r8, 0x81dc65fafad2ab24
xor rdx, r8
cmp rcx, rdx
mov qword [rsp + 0xa8], rax
jle 0x140077b54
mov rcx, qword [rsp + 0x90]
mov rax, rcx
add rax, 1
mov qword [rsp + 0x80], rax
mov rdx, rcx
xor rdx, 0xffffffffffffffff
mov r8, rcx
xor r8, 0xffffffffffffffff
and rdx, r8
movabs r8, 0xcead9f23492aa04b
movabs r9, 0x315260dcb6d55fb4
xor r8, r9
movabs r9, 0xe678f9839366aed8
movabs r10, 0x1987067c6c995127
xor r9, r10
or r8, r9
movabs r9, 0xe358e0dcec44361b
movabs r10, 0x1ca71f2313bbc9e4
xor r9, r10
xor r8, r9
movabs r9, 0x46efbd87a9b6a838
movabs r10, 0xb9104278564957c7
xor r9, r10
xor rdx, r9
movabs r9, 0xf71c8f0a36c9b5f4
movabs r10, 0x8e370f5c9364a0b
xor r9, r10
xor r8, r9
and rdx, r8
movabs r8, 0x700ec840b9c1e1a9
movabs r9, 0x8ff137bf463e1e56
xor r8, r9
xor rcx, r8
movabs r8, 0x692a409aea87e389
movabs r9, 0x96d5bf6515781c76
xor r8, r9
movabs r9, 0x95b6e76cde5b8ecb
movabs r10, 0x6a49189321a47134
xor r9, r10
xor r8, r9
and rcx, r8
or rdx, rcx
movabs rcx, 0x873b863dd17a20bc
movabs r8, 0x78c479c22e85df43
xor rcx, r8
xor rdx, rcx
movabs r8, 0x108a1724e7531095
movabs rcx, 0x108a1724e7531094
xor r8, rcx
mov rcx, rax
add rcx, r8
xor rax, 0xffffffffffffffff
or rax, rdx
add rax, rcx
cmp rax, 0
jge 0x140077949
call fcn.14000a590
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0xa8], rax
jmp 0x140077b54
mov rax, qword [rsp + 0x80]
movabs rcx, 0x5b3e3011cf56fe53
movabs rdx, 0x5b3e3011cf56fe53
xor rcx, rdx
cmp rax, rcx
jge 0x1400779c1
mov rcx, qword [rsp + 0x80]
movabs rdx, 0x198164b87004da8e
movabs rax, 0x198164b87004da8e
xor rdx, rax
movabs r8, 0x48f446087d3be110
movabs rax, 0x370bb9f782c41eef
xor r8, rax
call fcn.140010917
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0xa8], rax
jmp 0x140077b54
mov rax, qword [rsp + 0xa0]
mov rdx, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x108]
add rcx, 8
add rcx, rdx
mov qword [rsp + 0x68], rcx
add rax, 8
mov qword [rsp + 0x70], rax
xor eax, eax
mov qword [rsp + 0x78], rax
mov rcx, qword [rsp + 0x78]
mov rdx, qword [rsp + 0x90]
mov rax, qword [rsp + 0x68]
mov r8, qword [rsp + 0x70]
mov r8b, byte [r8 + rcx]
mov byte [rax + rcx], r8b
movabs rax, 0x82717e1197ce9de4
movabs r8, 0x82717e1197ce9de5
xor rax, r8
mov r8, rcx
and r8, rax
shl r8, 1
movabs r9, 0xf88c91824744df5d
movabs rax, 0xf88c91824744df5c
xor r9, rax
mov rax, rcx
xor rax, r9
add rax, r8
cmp rcx, rdx
mov qword [rsp + 0x78], rax
jne 0x1400779f5
mov rdx, qword [rsp + 0x90]
mov r9, qword [rsp + 0x88]
mov rax, rdx
add rax, r9
movabs r8, 0x5df956642f00c001
movabs rcx, 0xa206a99bd0ff3ffe
xor r8, rcx
mov rcx, rax
xor rcx, r8
mov r8, rax
xor r8, 0xffffffffffffffff
or rcx, r8
xor rcx, 0xffffffffffffffff
mov r8, r9
xor r8, 0xffffffffffffffff
or rcx, r8
and r9, r9
xor r9, 0xffffffffffffffff
mov r8, rax
and r8, r9
movabs r9, 0xa2971bb493c46df7
movabs r10, 0x5d68e44b6c3b9208
xor r9, r10
xor r8, r9
xor rcx, 0xffffffffffffffff
movabs r9, 0xe34188caf38635e2
movabs r10, 0x1cbe77350c79ca1d
xor r9, r10
xor r8, r9
or rcx, r8
mov r8, rax
xor r8, rdx
xor r8, 0xffffffffffffffff
mov r9, rdx
and r9, r8
movabs r8, 0x737834bc87e23d98
movabs r10, 0x737834bc87e23d9a
xor r8, r10
imul r8, r9
sub r8, rdx
mov rdx, rax
sub rdx, r8
and rcx, rdx
cmp rcx, 0
mov qword [rsp + 0xa8], rax
jge 0x140077b54
call fcn.14000a590
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0xa8], rax
mov rdx, qword [rsp + 0xa8]
mov qword [rsp + 0x50], rdx
mov ecx, 0x5381
xor eax, eax
cmp rdx, 0
mov qword [rsp + 0x58], rcx
mov qword [rsp + 0x60], rax
jle 0x140077bf4
mov rcx, qword [rsp + 0x60]
mov rax, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x50]
mov r8, qword [rsp + 0x108]
mov r8b, byte [r8 + rcx + 8]
movabs r9, 0x719c90c8c29428c5
movabs r10, 0x719c90c8c29428e4
xor r9, r10
imul rax, r9
movzx r8d, r8b
add rax, r8
movabs r8, 0x84b4c3d2ee8ba776
movabs r9, 0x84b4c3d2ee8ba777
xor r8, r9
add rcx, r8
cmp rcx, rdx
mov rdx, rax
mov qword [rsp + 0x58], rdx
mov qword [rsp + 0x60], rcx
mov qword [rsp + 0x48], rax
je 0x140077c18
jmp 0x140077b7c
mov rcx, qword [rsp + 0x108]
mov eax, 0x5381
cmp rcx, 0
mov rcx, rax
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x40], rax
je 0x140077c83
mov rcx, qword [rsp + 0x108]
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x38], rax
mov rcx, qword [rcx]
movabs rdx, 0x81d25b180d12667e
movabs r8, 0xc1d25b180d12667e
xor rdx, r8
and rcx, rdx
movabs rdx, 0x6fdee89035e57648
movabs r8, 0x6fdee89035e57648
xor rdx, r8
cmp rcx, rdx
mov qword [rsp + 0x40], rax
jne 0x140077c83
mov rcx, qword [rsp + 0x108]
call fcn.1400121d0
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0x40], rax
mov rcx, qword [rsp + 0xe0]
mov rdx, qword [rsp + 0x40]
call fcn.140006432
mov rax, qword [rsp + 0xf0]
mov rcx, qword [rsp + 0x98]
mov al, byte [rax]
mov rcx, qword [rcx]
mov qword [rsp + 0x28], rcx
cmp rcx, 0
sete cl
mov byte [rsp + 0x37], cl
cmp al, 0
jne 0x140077d4f
mov al, byte [rsp + 0x37]
test al, 1
jne 0x140077db6
jmp 0x140077cd3
mov rax, qword [rsp + 0x28]
mov rcx, qword [rax]
movabs rdx, 0x5e7bbe78acb7c3d7
movabs rax, 0x1e7bbe78acb7c3d7
xor rdx, rax
mov rax, rcx
and rax, rdx
movabs rdx, 0xe24ec6d2accc85c1
movabs r8, 0x1db1392d53337a3e
xor rdx, r8
xor rax, rdx
movabs rdx, 0x4000000000000000
and rcx, rdx
movabs rdx, 0xdda9dae991114a05
movabs r8, 0x225625166eeeb5fa
xor rdx, r8
xor rcx, rdx
and rax, rcx
xor rax, 0xffffffffffffffff
cmp rax, 0
je 0x140077dac
jmp 0x140077db6
mov al, byte [rsp + 0x37]
test al, 1
jne 0x140077db6
jmp 0x140077d60
mov rax, qword [rsp + 0x28]
mov rax, qword [rax]
movabs rdx, 0x4000000000000000
mov rcx, rax
xor rcx, rdx
movabs rdx, 0x150d470704f3cbc2
movabs r8, 0xeaf2b8f8fb0c343d
xor rdx, r8
xor rcx, rdx
movabs rdx, 0x4000000000000000
or rax, rdx
and rax, rcx
cmp rax, 0
jne 0x140077db6
mov rcx, qword [rsp + 0x28]
call fcn.1400121d0
mov rax, qword [rsp + 0xd8]
add rsp, 0x138
ret