Function at 0x140097b70
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0x150
lea rbp, [rsp + 0x80]
mov qword [rbp + 8], rdx
mov qword [rbp + 0x10], rcx
mov eax, 0x10
mov qword [rbp - 0x10], rax
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp - 0x10]
mov rcx, rsp
mov qword [rbp - 0x18], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp - 0x10]
mov rcx, rsp
mov qword [rbp - 8], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, rsp
mov qword [rbp], rax
sub rsp, 0x20
call fcn.140096e13
mov rcx, qword [rbp + 8]
add rsp, 0x20
mov qword [rbp + 0x28], rax
sub rsp, 0x20
call fcn.140096e30
add rsp, 0x20
lea rcx, [rbp + 0xb0]
sub rsp, 0x20
call fcn.140096e30
mov rcx, qword [rbp + 0x10]
add rsp, 0x20
movabs rax, 0xacd58799f46038d0
movabs rdx, 0xacd58799f46038d0
xor rax, rdx
mov qword [rbp + 0xa0], rax
lea rax, [rbp + 0xa0]
add rax, 8
mov qword [rbp + 0x18], rax
mov qword [rbp + 0xa8], 0
mov qword [rbp + 0x90], 0
lea rax, [rbp + 0x90]
add rax, 8
mov qword [rbp + 0x20], rax
mov qword [rbp + 0x98], 0
mov rax, qword [rcx]
mov qword [rbp + 0x80], rax
mov rax, qword [rcx + 8]
mov qword [rbp + 0x88], rax
lea rcx, [rbp + 0x80]
lea rdx, [rbp + 0xb0]
sub rsp, 0x20
call fcn.14008d2b0
mov rax, qword [rbp + 0x28]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0x54
xor cl, 0x54
cmp al, cl
jne 0x140098280
mov rax, qword [rbp + 0xb0]
mov qword [rbp + 0xa0], rax
mov rax, qword [rbp + 0xb8]
mov qword [rbp + 0xa8], rax
lea rcx, [rbp + 0xb0]
sub rsp, 0x20
call fcn.140010ae7
add rsp, 0x20
lea rcx, [rbp + 0xb0]
add rcx, 0x10
mov rax, qword [rbp + 0xc0]
mov qword [rbp + 0x90], rax
mov rax, qword [rbp + 0xc8]
mov qword [rbp + 0x98], rax
sub rsp, 0x20
call fcn.140010ae7
mov rax, qword [rbp + 0x10]
add rsp, 0x20
mov rcx, qword [rbp + 0xa0]
mov qword [rbp - 0x30], rcx
mov r8, qword [rax]
mov qword [rbp - 0x28], r8
movabs rcx, 0x7d28254f803384fa
movabs rax, 0x93acc552a8ebda35
xor rcx, rax
mov rax, r8
sub rax, rcx
add rax, 0xffffffffffffffff
movabs rcx, 0xfa8f71e8172b01d9
movabs rdx, 0x140b91f53ff35f16
xor rcx, rdx
add rax, rcx
mov qword [rbp - 0x20], rax
movabs rcx, 0xeecc972ac617324c
movabs rdx, 0x113368d539e8cdb3
xor rcx, rdx
mov rdx, rax
xor rdx, rcx
mov rcx, r8
and rcx, rdx
xor r8, 0xffffffffffffffff
mov rdx, rax
and rdx, r8
or rcx, rdx
cmp rcx, 0
setl cl
movabs rdx, 0xe5570a9173ea2b2b
movabs r8, 0x1aa8f56e8c15d4d4
xor rdx, r8
cmp rax, rdx
setg al
and al, cl
test al, 1
jne 0x140097ea0
mov eax, dword [0x140245968]
or eax, dword [0x14024596c]
mov ecx, 0xc1b9bd4e
xor ecx, 0x371c0f72
xor eax, ecx
xor eax, 0xe9909d07
mov edx, 0xc7240d35
xor edx, 0x897782f5
mov ecx, 0xa6c1e531
xor ecx, 0x593e1ace
xor edx, ecx
mov ecx, eax
and ecx, edx
mov r8d, 0x73e66be8
xor r8d, 0x3db5e428
mov edx, eax
xor edx, r8d
add eax, edx
sub eax, ecx
cmp eax, 0x58a2f3b5
je 0x140098434
mov rcx, qword [rbp + 0x10]
mov eax, dword [0x140245970]
xor eax, 0x74e1b8c3
mov r8d, dword [0x140245974]
xor r8d, 0x753c52dc
xor edx, edx
sub edx, eax
xor eax, eax
sub eax, r8d
add edx, eax
xor eax, eax
sub eax, edx
mov r8d, 0xbaf239c4
xor edx, edx
div r8d
mov r8d, 0xb8e65f3
xor edx, edx
div r8d
mov r8d, 0xcff7d9a2
xor r8d, 0x790b101a
xor edx, edx
div r8d
mov rdx, qword [rbp - 0x20]
add rcx, 8
mov qword [rbp - 0x40], rcx
mov rcx, rdx
sub rcx, 0xffffffffffffffff
mov rcx, 0xffffffffffffffff
cmovl rcx, rdx
mov qword [rbp - 0x38], rcx
cmp eax, 0x6cba4c51
jae 0x140098434
mov rax, qword [rbp - 0x20]
mov qword [rbp - 0x48], rax
jmp 0x140097fa6
mov eax, dword [0x140245978]
xor eax, 0x5b90cc58
or eax, dword [0x14024597c]
sub eax, 0xc532dd30
mov ecx, 0x3d4b921c
xor ecx, 0x3d4b921c
mov edx, 0x449cdefd
xor edx, 0xbf080c6d
sub ecx, edx
add eax, ecx
xor eax, 0x654401b0
cmp eax, 0x3b2be0b7
jbe 0x14009843d
mov eax, dword [0x140245980]
xor eax, 0xa3e50512
xor edx, edx
div dword [0x140245984]
mov edx, 0x2f3e3bba
xor edx, 0xd0c1c445
mov ecx, eax
xor ecx, edx
mov edx, 0xd31111a
xor edx, 0x54f51bd5
and edx, ecx
mov r8d, 0xffffffff
xor r8d, 0x59c40acf
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x59c40acf
or eax, 0x59c40acf
imul eax, edx
add eax, ecx
mov edx, eax
xor edx, 0xffffffff
and edx, 0x588d5c6
mov r8d, 0xffffffff
xor r8d, 0x588d5c6
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x588d5c6
or eax, 0x588d5c6
imul eax, edx
add eax, ecx
mov ecx, 0xf10f9df9
xor ecx, 0xc94a0cdc
imul eax, ecx
mov dword [rbp - 0x4c], eax
mov eax, 0x162a471e
xor eax, 0xf5fea50d
mov dword [rbp - 0x50], eax
sub rsp, 0x20
call fcn.140008d37
mov ecx, dword [rbp - 0x50]
mov eax, dword [rbp - 0x4c]
add rsp, 0x20
cmp eax, ecx
ja 0x14009843d
jmp 0x140098280
mov rax, qword [rbp - 0x30]
mov rcx, qword [rbp - 0x48]
mov qword [rbp - 0x58], rcx
cmp rax, rcx
jg 0x1400981ff
mov rax, qword [rbp - 0x38]
mov rcx, qword [rbp - 0x58]
cmp rcx, 0
mov qword [rbp - 0x60], rax
jl 0x140097fe6
mov rax, qword [rbp - 0x58]
mov rcx, qword [rbp - 0x28]
cmp rax, rcx
mov qword [rbp - 0x60], rax
jl 0x140098000
mov rdx, qword [rbp - 0x20]
mov rcx, qword [rbp - 0x60]
sub rsp, 0x20
call fcn.140012b72
add rsp, 0x20
jmp 0x140098280
mov rcx, qword [rbp - 0x58]
mov rax, qword [rbp - 0x40]
mov rax, qword [rax]
mov al, byte [rax + rcx + 8]
mov byte [rbp - 0x61], al
sub al, 0x2f
je 0x14009812b
jmp 0x14009801f
mov al, byte [rbp - 0x61]
sub al, 0x5c
je 0x14009812b
jmp 0x14009802f
mov rcx, qword [rbp - 0x58]
movabs rdx, 0x87cc9b610a8d78be
movabs rax, 0x87cc9b610a8d78be
xor rdx, rax
sub rdx, rcx
xor eax, eax
sub rax, 0xffffffffffffffff
add rdx, rax
movabs rax, 0x71507776245c4e00
movabs r8, 0x71507776245c4e00
xor rax, r8
sub rax, rdx
mov rdx, rax
xor rdx, 0xffffffffffffffff
movabs r9, 0xbb6b1184ee57dde
movabs r8, 0xf4494ee7b11a8221
xor r9, r8
mov r8, rax
xor r8, r9
or rdx, r8
xor rdx, 0xffffffffffffffff
mov r8, rcx
xor r8, 0xffffffffffffffff
or rdx, r8
mov r9, rcx
xor r9, 0xffffffffffffffff
mov r8, rcx
xor r8, 0xffffffffffffffff
or r9, r8
mov r8, rax
and r8, r9
movabs r9, 0xa2ad42b729fdbcc6
movabs r10, 0x5d52bd48d6024339
xor r9, r10
xor r8, r9
xor rdx, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
or rdx, r8
movabs r8, 0xf7d2349f37c8543d
movabs r9, 0xf7d2349f37c8543d
xor r8, r9
cmp rdx, r8
setl dl
cmp rcx, 0
setne cl
and cl, dl
test cl, 1
mov qword [rbp - 0x48], rax
jne 0x140098119
jmp 0x140097fa6
sub rsp, 0x20
call fcn.140008d37
add rsp, 0x20
jmp 0x140098280
mov rax, qword [rbp + 0x10]
mov r9, qword [rbp - 0x58]
xor ecx, ecx
sub r9, 1
cmovb r9, rcx
mov rcx, qword [rax]
mov qword [rbp + 0x60], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x68], rax
lea rcx, [rbp + 0x70]
lea rdx, [rbp + 0x60]
xor eax, eax
mov r8d, eax
sub rsp, 0x20
call fcn.140019c70
mov rcx, qword [rbp + 8]
add rsp, 0x20
mov rdx, qword [rbp + 0x70]
mov rax, qword [rbp + 0x78]
mov qword [rbp + 0x50], rdx
mov qword [rbp + 0x58], rax
lea rdx, [rbp + 0x50]
sub rsp, 0x20
call fcn.140013d6a
mov r8, qword [rbp - 0x58]
mov rax, qword [rbp + 0x10]
mov rcx, qword [rbp - 0x18]
add rsp, 0x20
mov rdx, 0xffffffffffffffff
xor rdx, 1
xor r9d, r9d
sub r9, 1
sub rdx, r9
sub r8, rdx
mov rdx, qword [rax]
mov qword [rbp + 0x40], rdx
mov rax, qword [rax + 8]
mov qword [rbp + 0x48], rax
lea rdx, [rbp + 0x40]
sub rsp, 0x20
call fcn.14002384a
mov rax, qword [rbp - 0x18]
mov rcx, qword [rbp + 8]
mov rdx, qword [rbp - 8]
add rsp, 0x20
mov r8, qword [rax]
mov rax, qword [rax + 8]
add rcx, 0x10
mov qword [rdx], r8
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.140013d6a
add rsp, 0x20
jmp 0x140098280
mov rcx, qword [rbp + 8]
mov rax, qword [rbp + 0xa0]
mov qword [rbp + 0x30], rax
mov rax, qword [rbp + 0xa8]
mov qword [rbp + 0x38], rax
lea rdx, [rbp + 0x30]
sub rsp, 0x20
call fcn.140013d6a
add rsp, 0x20
lea rcx, [rbp + 0xa0]
sub rsp, 0x20
call fcn.140010ae7
mov rcx, qword [rbp + 8]
mov rdx, qword [rbp]
add rsp, 0x20
add rcx, 0x10
mov rax, qword [rbp + 0x90]
mov qword [rdx], rax
mov rax, qword [rbp + 0x98]
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.140013d6a
add rsp, 0x20
lea rcx, [rbp + 0x90]
sub rsp, 0x20
call fcn.140010ae7
add rsp, 0x20
mov rax, qword [rbp + 0x20]
mov rcx, qword [rbp + 0x28]
mov dl, byte [rcx]
mov byte [rbp - 0x71], dl
mov byte [rcx], 0
mov rax, qword [rax]
mov qword [rbp - 0x70], rax
cmp rax, 0
je 0x14009837a
mov rax, qword [rbp - 0x70]
mov rcx, qword [rax]
movabs rdx, 0xde8367cea896b38c
movabs rax, 0x9e8367cea896b38c
xor rdx, rax
movabs rax, 0x51a3b0a98600d9b7
movabs r8, 0xae5c4f5679ff2648
xor rax, r8
xor rdx, rax
mov rax, rcx
xor rax, rdx
and rax, rcx
cmp rax, 0
jne 0x14009837a
mov eax, dword [0x140245988]
add eax, dword [0x14024598c]
mov ecx, eax
add ecx, 1
xor eax, 0xffffffff
or eax, 0xd55e5a2a
add eax, ecx
mov ecx, 0xe02db4d5
xor ecx, 0x55b89dd2
add eax, ecx
add eax, 0x917fd53b
sub eax, 0xb5952907
add eax, 0xc6147db7
cmp eax, 0x6159b2c6
je 0x140098446
mov rcx, qword [rbp - 0x70]
mov eax, dword [0x140245990]
or eax, dword [0x140245994]
and eax, 0x4fee5e79
imul eax, eax, 0xafc9eb18
mov edx, 0x4e68595f
xor edx, 0xc456d2e7
imul eax, edx
mov dword [rbp - 0x78], eax
sub rsp, 0x20
call fcn.14000f4df
mov eax, dword [rbp - 0x78]
add rsp, 0x20
cmp eax, 0x3ebe0fbe
jbe 0x14009832e
jmp 0x14009837a
mov rax, qword [rbp + 0x18]
mov rax, qword [rax]
mov qword [rbp - 0x80], rax
cmp rax, 0
je 0x140098401
mov rax, qword [rbp - 0x80]
mov rcx, qword [rax]
movabs rdx, 0x1538d663f77c16a
movabs rax, 0x41538d663f77c16a
xor rdx, rax
movabs rax, 0x80571ae2fef6f993
movabs r8, 0x7fa8e51d0109066c
xor rax, r8
xor rdx, rax
mov rax, rcx
xor rax, rdx
and rax, rcx
movabs rcx, 0x796f17ec7d2d178
movabs rdx, 0x796f17ec7d2d178
xor rcx, rdx
cmp rax, rcx
jne 0x140098401
mov rcx, qword [rbp - 0x80]
sub rsp, 0x20
call fcn.14000f4df
add rsp, 0x20
lea rcx, [rbp + 0xb0]
sub rsp, 0x20
call fcn.140062840
mov rax, qword [rbp + 0x28]
add rsp, 0x20
cmp byte [rax], 0
jne 0x14009842b
mov rax, qword [rbp + 0x28]
mov cl, byte [rbp - 0x71]
mov byte [rax], cl
lea rsp, [rbp + 0xd0]
pop rbp
ret
xchg esp, eax
inc dword [rdx]
invalid
pop rcx
insd dword [rdi], dx
imul esi, dword [rbx], 0xfffa9ae9
jmp rdi
out 0x2a, eax
add eax, 0xfedfe9f2
invalid