Function at 0x140139729
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0x1c0
lea rbp, [rsp + 0x80]
mov qword [rbp + 0xb0], r8
mov qword [rbp + 0x60], rdx
mov qword [rbp + 0xa0], rcx
mov qword [rbp + 0x68], rcx
mov eax, 0x10
mov qword [rbp + 0x88], rax
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0x88]
mov rcx, rsp
mov qword [rbp + 0x70], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0x88]
mov rcx, rsp
mov qword [rbp + 0x78], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0x88]
mov rcx, rsp
mov qword [rbp + 0x80], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0x88]
mov rcx, rsp
mov qword [rbp + 0x90], rcx
call fcn.140195b60
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x98], rax
mov rax, qword [0x1401a1928]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000a414
mov rcx, qword [rbp + 0xa0]
mov r8, qword [rbp + 0xb0]
add rsp, 0x20
add rax, 0x60
mov qword [rbp + 0xa8], rax
movabs rax, 0xe1042505851d6fb4
movabs rdx, 0xe1042505851d6fb4
xor rax, rdx
mov qword [rcx], rax
mov qword [rcx + 8], 0
mov rdx, qword [r8]
movabs rax, 0x481191cca36a95bc
movabs rcx, 0x481191cca36a95bd
xor rax, rcx
add rdx, rax
lea rcx, [rbp + 0x130]
sub rsp, 0x20
call fcn.140021f70
mov r8, qword [rbp + 0xb0]
add rsp, 0x20
mov rax, qword [rbp + 0x130]
mov qword [rbp + 0xb8], rax
mov rcx, qword [rbp + 0x138]
mov qword [rbp + 0xc0], rcx
mov rcx, qword [r8]
mov qword [rbp + 0xc8], rcx
mov rdx, qword [r8 + 8]
mov qword [rbp + 0xd0], rdx
movabs rdx, 0xe49dea9d17d4e3c6
movabs r8, 0xe49dea9d17d4e3c6
xor rdx, r8
cmp rcx, rdx
mov qword [rbp + 0xd8], rax
jle 0x140139a85
mov rcx, qword [rbp + 0xc8]
xor eax, eax
mov edx, eax
sub rdx, 1
mov rax, rcx
sub rax, rdx
mov qword [rbp + 0x58], rax
xor rcx, 0xffffffffffffffff
and rax, rcx
movabs rcx, 0xfb9ceac60a9aadf8
movabs rdx, 0xfb9ceac60a9aadf8
xor rcx, rdx
cmp rax, rcx
jge 0x14013990c
sub rsp, 0x20
call fcn.14000a590
mov rax, qword [rbp + 0xb8]
add rsp, 0x20
mov qword [rbp + 0xd8], rax
jmp 0x140139a85
mov rax, qword [rbp + 0x58]
movabs rcx, 0xf538ce8ca262fb75
movabs rdx, 0xf538ce8ca262fb75
xor rcx, rdx
cmp rax, rcx
jge 0x140139982
mov rcx, qword [rbp + 0x58]
movabs rdx, 0xb100d4a0a47a83b3
movabs rax, 0xb100d4a0a47a83b3
xor rdx, rax
movabs r8, 0x221dca282e90cd53
movabs rax, 0x5de235d7d16f32ac
xor r8, rax
sub rsp, 0x20
call fcn.140010917
mov rax, qword [rbp + 0xb8]
add rsp, 0x20
mov qword [rbp + 0xd8], rax
jmp 0x140139a85
mov rax, qword [rbp + 0xd0]
mov rdx, qword [rbp + 0xb8]
mov rcx, qword [rbp + 0xc0]
add rcx, 8
add rcx, rdx
mov qword [rbp + 0x40], rcx
add rax, 8
mov qword [rbp + 0x48], rax
xor eax, eax
mov qword [rbp + 0x50], rax
mov rcx, qword [rbp + 0x50]
mov rdx, qword [rbp + 0xc8]
mov rax, qword [rbp + 0x40]
mov r8, qword [rbp + 0x48]
mov r8b, byte [r8 + rcx]
mov byte [rax + rcx], r8b
movabs r8, 0x5d7b529bf17bc64c
movabs rax, 0x5d7b529bf17bc64d
xor r8, rax
mov rax, rcx
and rax, r8
mov r8, rcx
or r8, 1
add rax, r8
cmp rcx, rdx
mov qword [rbp + 0x50], rax
jne 0x1401399b0
mov r9, qword [rbp + 0xc8]
mov r8, qword [rbp + 0xb8]
mov rax, r9
add rax, r8
mov rdx, rax
and rdx, r8
shl rdx, 1
mov rcx, rax
add rcx, r8
sub rcx, rdx
mov r8, rax
xor r8, 0xffffffffffffffff
mov rdx, r9
and rdx, r8
movabs r8, 0xb14bafadebcdf16c
movabs r10, 0x4eb4505214320e93
xor r8, r10
xor r9, r8
mov r8, rax
and r8, r9
or rdx, r8
and rcx, rdx
cmp rcx, 0
mov qword [rbp + 0xd8], rax
jge 0x140139a85
sub rsp, 0x20
call fcn.14000a590
mov rax, qword [rbp + 0xb8]
add rsp, 0x20
mov qword [rbp + 0xd8], rax
mov rax, qword [rbp + 0xc0]
mov rcx, qword [rbp + 0xd8]
mov qword [rbp + 0x30], rcx
mov byte [rax + rcx + 8], 0x5c
movabs rdx, 0x9a878b7ef4c4f51c
movabs rax, 0xe129f462d9f0363
xor rdx, rax
mov rax, rcx
add rax, rdx
add rax, 1
movabs rdx, 0x94951438d95bf67f
sub rax, rdx
mov qword [rbp + 0x38], rax
mov rdx, rcx
and rdx, 0xffffffffffffffff
shl rdx, 1
movabs r8, 0xe0ea4c24f86316e4
movabs r9, 0x1f15b3db079ce91b
xor r8, r9
add rcx, r8
sub rcx, rdx
and rax, rcx
cmp rax, 0
jge 0x140139b1d
sub rsp, 0x20
call fcn.14000a590
mov rax, qword [rbp + 0x30]
add rsp, 0x20
mov qword [rbp + 0x28], rax
jmp 0x140139b31
mov rax, qword [rbp + 0x38]
mov rcx, qword [rbp + 0xc0]
mov byte [rcx + rax + 8], 0
mov qword [rbp + 0x28], rax
mov rcx, qword [rbp + 0x70]
mov rdx, qword [rbp + 0x78]
mov rax, qword [rbp + 0xc0]
mov r9, qword [rbp + 0x60]
mov r8, qword [rbp + 0x28]
mov r10, qword [r9]
mov qword [rdx], r10
mov r9, qword [r9 + 8]
mov qword [rdx + 8], r9
mov qword [rbp + 0x120], r8
mov qword [rbp + 0x128], rax
mov rax, qword [0x1401a0580]
mov qword [rbp + 0x110], rax
mov rax, qword [0x1401a0588]
mov qword [rbp + 0x118], rax
lea r8, [rbp + 0x120]
lea r9, [rbp + 0x110]
sub rsp, 0x20
call fcn.14003d0a4
mov rax, qword [rbp + 0x70]
mov rcx, qword [rbp + 0xa8]
add rsp, 0x20
mov rdx, qword [rax]
mov qword [rbp + 8], rdx
mov rax, qword [rax + 8]
mov qword [rbp + 0x10], rax
xor eax, eax
cmp byte [rcx], 0
mov rcx, rax
mov qword [rbp + 0x18], rcx
mov qword [rbp + 0x20], rax
jne 0x14013a168
mov rcx, qword [rbp + 0x80]
mov rax, qword [rbp + 0x10]
mov rdx, qword [rbp + 8]
mov qword [rbp + 0x100], rdx
mov qword [rbp + 0x108], rax
lea rdx, [rbp + 0x100]
mov r8d, 0x5c
mov r9, 0xffffffffffffffff
sub rsp, 0x20
call fcn.14003a680
mov rax, qword [rbp + 0x80]
mov rdx, qword [rbp + 0xa8]
add rsp, 0x20
mov rcx, qword [rax]
mov qword [rbp - 8], rcx
mov rax, qword [rax + 8]
mov qword [rbp], rax
cmp byte [rdx], 0
mov qword [rbp + 0x18], rcx
mov qword [rbp + 0x20], rax
jne 0x14013a168
mov ecx, 0xb4b
sub rsp, 0x20
call fcn.14006493c
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0xa8]
mov qword [rbp - 0x10], rcx
cmp byte [rax], 0
jne 0x140139f83
mov rax, qword [rbp - 0x10]
mov rcx, qword [rbp - 8]
cmp rax, rcx
jge 0x140139fc7
mov cx, 0xb6c4
xor cx, 0xbf6e
sub rsp, 0x20
call fcn.14006493c
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0xa8]
mov qword [rbp - 0x18], rcx
cmp byte [rax], 0
jne 0x140139f83
mov rax, qword [rbp - 0x18]
mov r8, qword [rbp - 8]
test rax, rax
setns cl
mov rdx, rax
sub rdx, r8
setl dl
and cl, dl
test cl, 1
mov qword [rbp - 0x20], rax
jne 0x140139cc9
jmp 0x140139f6a
mov rcx, qword [rbp + 0x90]
mov ax, 0xf009
xor ax, 0xf360
mov word [rcx], ax
sub rsp, 0x20
call fcn.140064a51
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0xa8]
mov qword [rbp - 0x28], rcx
mov al, byte [rax]
mov cl, 0x43
xor cl, 0x43
cmp al, cl
jne 0x140139f83
mov rdx, qword [rbp - 0x28]
mov rax, qword [rbp - 0x18]
mov rcx, qword [rbp]
add rcx, 8
shl rax, 4
add rcx, rax
mov rax, qword [rcx]
mov qword [rbp - 0x40], rax
mov rcx, qword [rcx + 8]
mov qword [rbp - 0x38], rcx
mov rcx, qword [rdx]
mov rdx, qword [rdx + 8]
mov qword [rbp - 0x30], rdx
cmp rax, rcx
jne 0x140139fc7
mov rax, qword [rbp - 0x40]
movabs rcx, 0x1865a94ffa6149ec
movabs rdx, 0x1865a94ffa6149ec
xor rcx, rdx
cmp rax, rcx
je 0x140139de4
mov rcx, qword [rbp - 0x40]
mov rax, qword [rbp - 0x30]
mov rdx, qword [rbp - 0x38]
add rdx, 8
mov qword [rbp - 0x58], rdx
add rax, 8
mov qword [rbp - 0x50], rax
xor eax, eax
cmp rcx, 0
mov qword [rbp - 0x48], rax
jg 0x140139dc3
jmp 0x140139de4
mov rcx, qword [rbp - 0x40]
mov rax, qword [rbp - 0x60]
movabs rdx, 0xd69d3b4e2e43b088
movabs r8, 0xd69d3b4e2e43b089
xor rdx, r8
add rax, rdx
cmp rax, rcx
mov qword [rbp - 0x48], rax
je 0x140139de4
mov rcx, qword [rbp - 0x50]
mov rax, qword [rbp - 0x58]
mov rdx, qword [rbp - 0x48]
mov qword [rbp - 0x60], rdx
mov al, byte [rax + rdx]
cmp al, byte [rcx + rdx]
je 0x140139d94
jmp 0x140139fc7
mov ecx, 0x614
sub rsp, 0x20
call fcn.14006493c
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0xa8]
mov qword [rbp - 0x68], rcx
mov al, byte [rax]
mov cl, 0x8c
xor cl, 0x8c
cmp al, cl
jne 0x140139f83
mov rax, qword [rbp - 0x68]
mov r8, qword [rbp - 8]
test rax, rax
setns cl
mov rdx, rax
sub rdx, r8
setl dl
and cl, dl
test cl, 1
mov qword [rbp - 0x20], rax
jne 0x140139e3e
jmp 0x140139f6a
mov rax, qword [rbp + 0xa0]
mov rdx, qword [rbp - 0x68]
mov rcx, qword [rbp]
add rcx, 8
shl rdx, 4
add rcx, rdx
mov rdx, qword [rcx]
mov qword [rax], rdx
mov rdx, qword [rcx + 8]
mov qword [rax + 8], rdx
sub rsp, 0x20
call fcn.1400143a4
mov rax, qword [rbp + 0x10]
add rsp, 0x20
cmp rax, 0
je 0x140139ed3
mov rax, qword [rbp + 0x10]
mov rax, qword [rax]
movabs rcx, 0xb8b5cbe32537cf82
movabs rdx, 0xf8b5cbe32537cf82
xor rcx, rdx
and rax, rcx
movabs rcx, 0xb39d82d4327cf6f0
movabs rdx, 0xb39d82d4327cf6f0
xor rcx, rdx
cmp rax, rcx
jne 0x140139ed3
mov rcx, qword [rbp + 0x10]
sub rsp, 0x20
call fcn.1400121d0
add rsp, 0x20
mov rax, qword [rbp + 0xc0]
cmp rax, 0
je 0x140139f98
mov rax, qword [rbp + 0xc0]
mov rax, qword [rax]
xor rax, 0xffffffffffffffff
mov rdx, 0xffffffffffffffff
movabs rcx, 0x4000000000000000
xor rdx, rcx
mov rcx, 0xffffffffffffffff
movabs r8, 0x7e0c2d83d80320fe
xor rcx, r8
or rax, rdx
movabs rdx, 0x7e0c2d83d80320fe
or rcx, rdx
movabs rdx, 0x666195870312ac17
movabs r8, 0x999e6a78fced53e8
xor rdx, r8
xor rax, rdx
and rax, rcx
cmp rax, 0
jne 0x140139f98
mov rcx, qword [rbp + 0xc0]
sub rsp, 0x20
call fcn.1400121d0
add rsp, 0x20
jmp 0x140139f98
mov rdx, qword [rbp - 8]
mov rcx, qword [rbp - 0x20]
add rdx, 0xffffffffffffffff
sub rsp, 0x20
call fcn.140019d55
add rsp, 0x20
mov rax, qword [rbp]
mov rcx, qword [rbp - 8]
mov qword [rbp + 0x18], rcx
mov qword [rbp + 0x20], rax
jmp 0x14013a168
mov rax, qword [rbp]
mov rcx, qword [rbp - 8]
mov qword [rbp + 0xf0], rcx
mov qword [rbp + 0xf8], rax
lea rcx, [rbp + 0xf0]
sub rsp, 0x20
call fcn.1400208b6
add rsp, 0x20
jmp 0x14013a28f
mov ecx, 0x8a6
sub rsp, 0x20
call fcn.14006493c
mov rdx, qword [rbp + 0xa8]
mov rcx, qword [rbp - 8]
add rsp, 0x20
mov r8, rax
mov rax, qword [rbp]
mov qword [rbp - 0x70], r8
mov dl, byte [rdx]
mov r8b, 0xbd
xor r8b, 0xbd
cmp dl, r8b
mov qword [rbp + 0x18], rcx
mov qword [rbp + 0x20], rax
jne 0x14013a168
mov rdx, qword [rbp - 8]
mov rcx, qword [rbp - 0x70]
test rcx, rcx
setns al
sub rcx, rdx
setl cl
and al, cl
test al, 1
jne 0x14013a055
mov rdx, qword [rbp - 8]
mov rcx, qword [rbp - 0x70]
add rdx, 0xffffffffffffffff
sub rsp, 0x20
call fcn.140019d55
mov rcx, qword [rbp - 8]
mov rax, qword [rbp]
add rsp, 0x20
mov qword [rbp + 0x18], rcx
mov qword [rbp + 0x20], rax
jmp 0x14013a168
mov rax, qword [rbp + 0xa0]
mov rdx, qword [rbp - 0x70]
mov rcx, qword [rbp]
add rcx, 8
shl rdx, 4
add rcx, rdx
mov rdx, qword [rcx]
mov qword [rax], rdx
mov rdx, qword [rcx + 8]
mov qword [rax + 8], rdx
sub rsp, 0x20
call fcn.1400143a4
mov rax, qword [rbp + 0x10]
add rsp, 0x20
cmp rax, 0
je 0x14013a0d7
mov rax, qword [rbp + 0x10]
mov rcx, qword [rax]
mov rdx, 0xffffffffffffffff
movabs rax, 0x4000000000000000
xor rdx, rax
mov rax, rcx
xor rax, rdx
and rax, rcx
cmp rax, 0
jne 0x14013a0d7
mov rcx, qword [rbp + 0x10]
sub rsp, 0x20
call fcn.1400121d0
add rsp, 0x20
mov rax, qword [rbp + 0xc0]
cmp rax, 0
je 0x14013a140
mov rax, qword [rbp + 0xc0]
mov rax, qword [rax]
movabs rcx, 0xdc33e030a1257f60
movabs rdx, 0x9c33e030a1257f60
xor rcx, rdx
and rax, rcx
movabs rcx, 0xb1febb743889ddc5
movabs rdx, 0xb1febb743889ddc5
xor rcx, rdx
cmp rax, rcx
jne 0x14013a140
mov rcx, qword [rbp + 0xc0]
sub rsp, 0x20
call fcn.1400121d0
add rsp, 0x20
mov rcx, qword [rbp + 0x98]
mov rax, qword [rbp]
mov rdx, qword [rbp - 8]
mov qword [rcx], rdx
mov qword [rcx + 8], rax
sub rsp, 0x20
call fcn.1400208b6
add rsp, 0x20
jmp 0x14013a28f
mov rax, qword [rbp + 0x10]
mov rcx, qword [rbp + 0x18]
mov rdx, qword [rbp + 0x20]
mov qword [rbp - 0x80], rdx
mov qword [rbp - 0x78], rcx
cmp rax, 0
je 0x14013a1d8
mov rax, qword [rbp + 0x10]
mov rax, qword [rax]
movabs rcx, 0xebf452e5bdc4da07
movabs rdx, 0xabf452e5bdc4da07
xor rcx, rdx
and rax, rcx
movabs rcx, 0x603af99bc2377cea
movabs rdx, 0x603af99bc2377cea
xor rcx, rdx
cmp rax, rcx
jne 0x14013a1d8
mov rcx, qword [rbp + 0x10]
sub rsp, 0x20
call fcn.1400121d0
add rsp, 0x20
mov rax, qword [rbp + 0xc0]
cmp rax, 0
je 0x14013a265
mov rax, qword [rbp + 0xc0]
mov rax, qword [rax]
movabs rdx, 0x677db71c4b3cf5c6
movabs rcx, 0x277db71c4b3cf5c6
xor rdx, rcx
mov rcx, rax
xor rcx, rdx
movabs rdx, 0xe51f15fc6345ca84
movabs r8, 0x1ae0ea039cba357b
xor rdx, r8
xor rcx, rdx
movabs rdx, 0x304e4242c1b0f157
movabs r8, 0x704e4242c1b0f157
xor rdx, r8
or rax, rdx
and rax, rcx
cmp rax, 0
jne 0x14013a265
mov rcx, qword [rbp + 0xc0]
sub rsp, 0x20
call fcn.1400121d0
add rsp, 0x20
mov rax, qword [rbp - 0x80]
mov rcx, qword [rbp - 0x78]
mov qword [rbp + 0xe0], rcx
mov qword [rbp + 0xe8], rax
lea rcx, [rbp + 0xe0]
sub rsp, 0x20
call fcn.1400208b6
add rsp, 0x20
mov rax, qword [rbp + 0x68]
lea rsp, [rbp + 0x140]
pop rbp
ret