Function at 0x140065840
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0x120
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x60], rcx
mov eax, 0x10
call fcn.1401f0aa0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x58], rax
sub rsp, 0x20
call fcn.140051260
mov rcx, qword [rbp + 0x60]
add rsp, 0x20
mov qword [rbp + 0x68], rax
mov qword [rbp + 0x90], 0
lea rax, [rbp + 0x90]
add rax, 8
mov qword [rbp + 0x70], rax
mov qword [rbp + 0x98], 0
mov rcx, qword [rcx]
movabs rdx, 0xd37aeee562e37ee1
movabs rax, 0xd37aeee562e37ee3
xor rdx, rax
lea r8, [rbp + 0x88]
sub rsp, 0x20
call fcn.140052074
add rsp, 0x20
test al, 1
jne 0x1400658dd
jmp 0x1400658ef
sub rsp, 0x20
call fcn.1400091c0
add rsp, 0x20
jmp 0x1400662f3
mov rax, qword [rbp + 0x88]
mov qword [rbp + 0x50], rax
cmp rax, 0
jge 0x140065a21
mov eax, dword [0x1401f4300]
mov edx, dword [0x1401f4304]
xor eax, 0xffffffff
mov ecx, 0xf1eb2b9a
xor ecx, 0xe14d465
xor edx, ecx
mov ecx, 0xffffffff
xor ecx, 0xff0c96b4
or eax, edx
or ecx, 0xff0c96b4
xor eax, 0xffffffff
and eax, ecx
sub eax, 0x4d46b968
sub eax, 0x59839de1
add eax, 0x4d46b968
mov ecx, 0xdc5a51a8
xor ecx, 0x992ab974
add eax, ecx
mov ecx, eax
xor ecx, 0xffffffff
mov edx, 0x3d933492
xor edx, 0x3e67748e
and ecx, edx
mov edx, 0xffffffff
xor edx, 0x3f4401c
and eax, edx
sub eax, ecx
cmp eax, 0xe68ba393
jae 0x1400662fc
mov rcx, qword [rbp + 0x50]
mov eax, dword [0x1401f4308]
mov r8d, dword [0x1401f430c]
mov r9d, 0xd0ff9cf1
xor r9d, 0x2f00630e
mov edx, eax
xor edx, r9d
and edx, r8d
mov r9d, 0xc63d6785
xor r9d, 0x39c2987a
xor r8d, r9d
and eax, r8d
sub eax, edx
xor edx, edx
sub edx, 0x6fd201d8
add eax, edx
mov r8d, eax
and r8d, 0x5d23e39e
mov edx, 0x2eaf2b4
xor edx, 0x2eaf2b6
imul edx, r8d
add eax, 0x5d23e39e
sub eax, edx
mov r8d, 0xe46f131a
xor edx, edx
div r8d
mov dword [rbp + 0x4c], eax
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
sub rsp, 0x20
call fcn.14000f6ec
mov eax, dword [rbp + 0x4c]
add rsp, 0x20
cmp eax, 0xfb53bb9c
je 0x1400662fc
jmp 0x1400662f3
mov rdx, qword [rbp + 0x50]
lea rcx, [rbp + 0x90]
sub rsp, 0x20
call fcn.14001c9d6
mov r8, qword [rbp + 0x60]
mov rax, qword [rbp + 0x70]
add rsp, 0x20
mov rdx, qword [r8]
mov qword [rbp + 0x28], rdx
mov rcx, r8
add rcx, 8
mov qword [rbp + 0x30], rcx
mov rcx, qword [r8 + 8]
mov r9, qword [rbp + 0x90]
mov qword [r8], r9
mov r9, qword [rbp + 0x98]
mov qword [r8 + 8], r9
mov qword [rbp + 0x90], rdx
mov qword [rax], rcx
lea rax, [rbp + 0x78]
add rax, 8
mov qword [rbp + 0x38], rax
xor eax, eax
mov qword [rbp + 0x40], rax
mov rcx, qword [rbp + 0x28]
mov rax, qword [rbp + 0x40]
mov qword [rbp + 0x20], rax
cmp rax, rcx
jge 0x1400662cd
mov eax, dword [0x1401f4310]
and eax, dword [0x1401f4314]
add eax, 0x27c918ab
sub eax, 0x99c1d1f
sub eax, 0x3289bb98
cmp eax, 0xcaacf954
jae 0x140066305
mov r8, qword [rbp + 0x20]
mov eax, dword [0x1401f4318]
xor eax, 0x7b201970
mov ecx, dword [0x1401f431c]
imul eax, ecx
imul eax, eax, 0xa38e86c1
add eax, 0x12cf7519
imul rax, rax, 0x6c5ee431
shr rax, 0x3d
mov ecx, 0x46b00369
test r8, r8
setns dl
mov r9, qword [rbp + 0x90]
mov qword [rbp + 0x10], r9
sub r8, r9
setl r8b
and dl, r8b
mov byte [rbp + 0x1f], dl
cmp eax, ecx
ja 0x140065ac3
mov al, byte [rbp + 0x1f]
test al, 1
jne 0x140065c59
jmp 0x140065b2c
mov ecx, dword [0x1401f4320]
mov edx, dword [0x1401f4324]
xor edx, 0xde8932a9
mov r8d, 0x37f3acb3
xor r8d, 0xc80c534c
mov eax, ecx
xor eax, r8d
mov r8d, ecx
xor r8d, 0xffffffff
and eax, r8d
mov r8d, edx
or r8d, r8d
mov r9d, 0x1d82f70b
xor r9d, 0xe27d08f4
xor r8d, r9d
or eax, r8d
xor eax, 0xffffffff
xor ecx, 0xffffffff
mov r8d, 0xad39238e
xor r8d, 0x52c6dc71
xor edx, r8d
and ecx, edx
or eax, ecx
xor eax, 0xffffffff
and eax, 0x3ec42f59
mov edx, 0x9214a468
xor edx, 0x6deb5b97
mov ecx, eax
xor ecx, edx
and ecx, 0xa16d9dc5
mov edx, 0xffffffff
xor edx, 0xa16d9dc5
and eax, edx
sub eax, ecx
mov ecx, 0x3c89c6aa
xor ecx, 0x8305ca64
mov edx, 0x4539df6a
xor edx, 0xbac62095
xor ecx, edx
xor edx, edx
sub edx, 1
sub ecx, edx
sub eax, ecx
cmp eax, 0x51d99f98
jae 0x14006630e
mov rcx, qword [rbp + 0x20]
mov eax, dword [0x1401f4328]
xor eax, 0x75fcd4f5
and eax, dword [0x1401f432c]
xor edx, edx
sub edx, 0xbd2a86a8
add eax, edx
mov r8d, 0x3f290465
xor edx, edx
div r8d
mov r8d, 0xbd65ea2b
xor edx, edx
div r8d
mov rdx, qword [rbp + 0x10]
mov dword [rbp + 0xc], eax
mov rax, 0xffffffffffffffff
xor rax, 0xffffffffffffffff
xor r8d, r8d
sub r8, 1
sub rax, r8
sub rdx, rax
sub rsp, 0x20
call fcn.140016582
mov eax, dword [rbp + 0xc]
add rsp, 0x20
cmp eax, 0x6a79569e
ja 0x140065be5
jmp 0x1400662f3
mov rax, qword [rbp + 0x68]
mov rdx, qword [rbp + 0x20]
mov rcx, qword [rbp + 0x70]
mov rcx, qword [rcx]
shl rdx, 5
mov rcx, qword [rcx + rdx + 8]
mov qword [rbp], rcx
test rcx, rcx
sete cl
mov al, byte [rax]
test al, al
setne al
mov byte [rbp + 0xb], al
or al, cl
test al, 1
jne 0x14006620f
mov rdx, qword [rbp]
mov rax, qword [rbp + 0x60]
mov rcx, qword [rax]
movabs rax, 0xad692c4f83d36749
sub rcx, rax
add rcx, 0xffffffffffffffff
movabs rax, 0xad692c4f83d36749
add rcx, rax
mov rax, rcx
xor rax, 0xffffffffffffffff
xor rcx, 0xffffffffffffffff
and rax, rcx
mov rcx, rdx
xor rcx, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
and rcx, rdx
or rax, rcx
xor rax, 0xffffffffffffffff
mov qword [rbp - 8], rax
mov rdx, qword [rbp + 0x60]
mov rcx, qword [rbp - 8]
mov qword [rbp - 0x18], rcx
test rcx, rcx
setns al
mov rdx, qword [rdx]
mov qword [rbp - 0x10], rdx
sub rcx, rdx
setl cl
and al, cl
test al, 1
jne 0x140065d56
mov rcx, qword [rbp - 0x18]
mov rdx, qword [rbp - 0x10]
movabs rax, 0xcc94f26c023aee1c
sub rdx, rax
movabs rax, 0x65d57fe8b8f4d29d
movabs r8, 0x9a2a8017470b2d62
xor rax, r8
add rdx, rax
movabs rax, 0xcc94f26c023aee1c
add rdx, rax
sub rsp, 0x20
call fcn.140016582
add rsp, 0x20
jmp 0x1400662f3
mov rcx, qword [rbp - 0x18]
mov rax, qword [rbp + 0x30]
mov rax, qword [rax]
add rax, 8
shl rcx, 5
add rax, rcx
cmp qword [rax], 0
je 0x140065ea4
mov r11d, dword [0x1401f4330]
mov ecx, dword [0x1401f4334]
mov eax, r11d
and eax, ecx
shl eax, 1
xor r11d, ecx
add r11d, eax
mov eax, 0x34849bb3
xor eax, 0x5b1ce6ba
sub r11d, eax
mov ecx, r11d
xor ecx, 0xffffffff
mov r8d, 0xffffffff
xor r8d, 0xda87afa8
mov edx, 0x4fb08b75
xor edx, 0x812a7ce3
mov eax, 0xf83993ee
xor eax, 0x7c66c11
xor edx, eax
mov eax, ecx
and eax, 0xce9af796
and r11d, edx
mov r9d, r8d
and r9d, 0xce9af796
mov r10d, edx
and r10d, 0xda87afa8
or eax, r11d
or r9d, r10d
xor eax, r9d
or ecx, r8d
xor ecx, 0xffffffff
or edx, 0xce9af796
and ecx, edx
or eax, ecx
sub eax, 0xd75943e0
add eax, 0x24c7f046
add eax, 0xd75943e0
cmp eax, 0x9d37e35
jb 0x140066317
mov rcx, qword [rbp - 0x18]
mov eax, dword [0x1401f4338]
xor edx, edx
div dword [0x1401f433c]
mov r8d, 0xadca4113
xor edx, edx
div r8d
mov rdx, qword [rbp - 0x10]
mov r8d, 0x1975837
xor r8d, 0x4bdada29
xor eax, r8d
xor eax, 0xdf78f9b2
mov dword [rbp - 0x2c], eax
add rdx, 0xffffffffffffffff
sub rsp, 0x20
call fcn.140052130
mov rcx, qword [rbp + 0x68]
add rsp, 0x20
mov rdx, rax
mov eax, dword [rbp - 0x2c]
mov qword [rbp - 0x28], rdx
mov cl, byte [rcx]
mov dl, 0x9c
xor dl, 0x9c
cmp cl, dl
sete cl
mov byte [rbp - 0x19], cl
cmp eax, 0x50fd8799
jb 0x140066317
mov rax, qword [rbp - 0x28]
mov cl, byte [rbp - 0x19]
test cl, 1
mov qword [rbp - 8], rax
jne 0x140065cdf
jmp 0x1400662f3
mov rax, qword [rbp + 0x20]
mov rcx, qword [rbp + 0x90]
mov qword [rbp - 0x38], rcx
cmp rax, rcx
jl 0x140065f17
mov rcx, qword [rbp + 0x20]
mov rdx, qword [rbp - 0x38]
movabs rax, 0x4f49a8889b8e1bc0
movabs r8, 0xb707954204576daf
xor rax, r8
add rdx, rax
movabs rax, 0x1af7189fefeae39d
movabs r8, 0xe508e76010151c62
xor rax, r8
add rdx, rax
movabs rax, 0xf84e3dca9fd9766f
sub rdx, rax
sub rsp, 0x20
call fcn.140016582
add rsp, 0x20
jmp 0x1400662f3
mov rax, qword [rbp + 0x20]
mov rcx, qword [rbp + 0x70]
mov rcx, qword [rcx]
add rcx, 8
shl rax, 5
add rcx, rax
add rcx, 8
mov rax, qword [rcx]
mov qword [rbp - 0x50], rax
mov rax, qword [rcx + 8]
mov qword [rbp - 0x48], rax
sub rsp, 0x20
call fcn.140012dfb
mov rax, qword [rbp + 0x20]
add rsp, 0x20
mov rcx, qword [rbp + 0x90]
mov qword [rbp - 0x40], rcx
cmp rax, rcx
jl 0x140065f99
mov rcx, qword [rbp + 0x20]
mov rdx, qword [rbp - 0x40]
movabs rax, 0xe726cceadf22a127
movabs r8, 0x18d9331520dd5ed8
xor rax, r8
add rdx, rax
sub rsp, 0x20
call fcn.140016582
add rsp, 0x20
jmp 0x1400662f3
mov eax, dword [0x1401f4340]
mov edx, dword [0x1401f4344]
mov ecx, 0x52e4dddc
xor ecx, 0xd4ea4b5
xor edx, ecx
mov ecx, eax
add ecx, 1
xor eax, 0xffffffff
or eax, edx
add eax, ecx
sub eax, 0x2047a93c
and eax, 0xaef0bc4a
mov ecx, 0xfd0a2e96
xor edx, edx
div ecx
mov ecx, 0x72eff049
xor ecx, 0xd46878df
cmp eax, ecx
ja 0x140066320
mov rax, qword [rbp + 0x20]
mov rcx, qword [rbp + 0x70]
mov edx, dword [0x1401f4348]
mov r8d, 0xb7b5f594
xor r8d, 0xb835da4
xor edx, r8d
mov r9d, dword [0x1401f434c]
or edx, edx
xor edx, 0xffffffff
mov r10d, 0xd71a1c63
xor r10d, 0x28e5e39c
mov r8d, r9d
xor r8d, r10d
xor r9d, 0xffffffff
and r8d, r9d
mov r9d, 0x34f337b8
xor r9d, 0xcb0cc847
xor edx, r9d
xor r8d, 0xffffffff
and edx, r8d
or edx, 0xb14caf4d
mov r8d, 0x8c9e267e
xor r8d, 0x7361d981
mov r9d, edx
xor r9d, r8d
and r9d, 0xb64688f7
mov r10d, 0xffffffff
xor r10d, 0xb64688f7
mov r8d, edx
and r8d, r10d
imul r8d, r9d
mov r10d, 0xdd562ae1
xor r10d, 0x6b10a216
mov r9d, edx
and r9d, r10d
mov r10d, 0xc4435b49
xor r10d, 0x7205d3be
or edx, r10d
imul edx, r9d
add edx, r8d
mov r10d, 0xffffffff
xor r10d, 0xbd927b03
mov r9d, edx
and r9d, r10d
mov r8d, edx
or r8d, r10d
xor r8d, 0xffffffff
imul r8d, r9d
mov r9d, edx
and r9d, 0xbd927b03
or edx, 0xbd927b03
imul edx, r9d
add edx, r8d
mov dword [rbp - 0x58], edx
mov edx, 0x969d8f27
xor edx, 0xd038d94f
mov dword [rbp - 0x5c], edx
mov rcx, qword [rcx]
add rcx, 8
shl rax, 5
add rcx, rax
add rcx, 0x18
mov rax, qword [rcx]
mov qword [rbp - 0x68], rax
sub rsp, 0x20
call fcn.14002cbc6
mov r11, qword [rbp - 0x50]
mov r8, qword [rbp - 0x48]
mov rcx, qword [rbp + 0x38]
mov rdx, qword [rbp + 0x60]
mov r9, qword [rbp - 0x68]
mov r10, qword [rbp]
mov rax, qword [rbp - 0x18]
add rsp, 0x20
mov qword [rbp + 0x78], r11
mov qword [rcx], r8
lea r8, [rbp + 0x78]
sub rsp, 0x30
mov qword [rsp + 0x20], r10
mov qword [rsp + 0x28], rax
call fcn.1400656da
mov rdx, qword [rbp + 0x68]
mov ecx, dword [rbp - 0x5c]
mov eax, dword [rbp - 0x58]
add rsp, 0x30
cmp byte [rdx], 0
sete dl
mov byte [rbp - 0x51], dl
cmp eax, ecx
je 0x140066320
mov al, byte [rbp - 0x51]
test al, 1
jne 0x140066178
jmp 0x1400662f3
mov rax, qword [rbp - 0x48]
cmp rax, 0
je 0x14006622d
mov rax, qword [rbp - 0x48]
mov rcx, qword [rax]
movabs rdx, 0x8ab54d74719cb42a
movabs rax, 0x754ab28b8e634bd5
xor rdx, rax
mov rax, rcx
xor rax, rdx
mov rdx, 0xffffffffffffffff
movabs r8, 0x4000000000000000
xor rdx, r8
or rax, rdx
movabs rdx, 0x4000000000000000
and rcx, rdx
xor rcx, 0xffffffffffffffff
and rax, rcx
xor rax, 0xffffffffffffffff
movabs rcx, 0x6e749a36de4093ab
movabs rdx, 0x6e749a36de4093ab
xor rcx, rdx
cmp rax, rcx
jne 0x14006622d
mov rcx, qword [rbp - 0x48]
sub rsp, 0x20
call fcn.140011305
add rsp, 0x20
jmp 0x14006622d
mov rcx, qword [rbp + 0x20]
mov dl, byte [rbp + 0xb]
xor eax, eax
test dl, 1
mov qword [rbp - 0x78], rcx
mov byte [rbp - 0x69], al
jne 0x1400662b4
jmp 0x14006622d
mov rdx, qword [rbp + 0x20]
mov rcx, rdx
and rcx, 1
mov rax, rdx
or rax, 1
add rcx, rax
mov rax, rdx
xor rax, 0xffffffffffffffff
mov r8, rdx
xor r8, 0xffffffffffffffff
or rax, r8
and rax, 0xffffffffffffffff
xor rax, 0xffffffffffffffff
mov r8, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
mov r9, 0xffffffffffffffff
xor r9, 0xffffffffffffffff
or r8, r9
and rdx, r8
xor rdx, 0xffffffffffffffff
and rax, rdx
xor rax, 0xffffffffffffffff
xor rax, 0xffffffffffffffff
mov rdx, rcx
xor rdx, rax
and rdx, rcx
mov al, 1
cmp rdx, 0
mov qword [rbp - 0x78], rcx
mov byte [rbp - 0x69], al
jge 0x1400662b4
sub rsp, 0x20
call fcn.1400091c0
add rsp, 0x20
jmp 0x1400662f3
mov rax, qword [rbp - 0x78]
mov cl, byte [rbp - 0x69]
test cl, 1
mov qword [rbp + 0x40], rax
jne 0x140065a88
jmp 0x1400662f3
mov rcx, qword [rbp + 0x58]
mov rax, qword [rbp + 0x90]
mov qword [rcx], rax
mov rax, qword [rbp + 0x98]
mov qword [rcx + 8], rax
sub rsp, 0x20
call fcn.140054100
add rsp, 0x20
lea rsp, [rbp + 0xa0]
pop rbp
ret
invalid
lodsb al, byte [rsi]
invalid
xor al, 0x46
xchg edx, eax
xchg ecx, ebp
invalid
test ch, 0x20
cwde
jmp 0x140065e19
pop rcx
add dword [rdi - 0x34417], ecx
dec dword [rdi]
invalid