Function at 0x140061e10
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rsi
push rdi
sub rsp, 0x180
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x70], r8
mov qword [rbp + 0x78], rdx
mov qword [rbp + 0xa8], rcx
mov eax, 0x10
mov qword [rbp + 0x88], rax
call fcn.1401da3e0
sub rsp, rax
mov rax, qword [rbp + 0x88]
mov rcx, rsp
mov qword [rbp + 0x80], rcx
call fcn.1401da3e0
sub rsp, rax
mov rax, qword [rbp + 0x88]
mov rcx, rsp
mov qword [rbp + 0x90], rcx
call fcn.1401da3e0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x98], rax
mov eax, 0x20
call fcn.1401da3e0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0xa0], rax
sub rsp, 0x20
call fcn.14004c253
mov rcx, qword [rbp + 0xa8]
add rsp, 0x20
mov qword [rbp + 0xb0], rax
cmp qword [rcx], 0
jne 0x140061f57
movabs rcx, 0x83501fbebe90b445
movabs rax, 0x83501fbebe90b465
xor rcx, rax
sub rsp, 0x20
call fcn.14004c2ce
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0xb0]
mov qword [rbp + 0x68], rcx
mov al, byte [rax]
mov cl, 0x89
xor cl, 0x89
cmp al, cl
jne 0x14006291a
mov rax, qword [rbp + 0x68]
mov rcx, qword [rbp + 0xa8]
mov qword [rcx + 0x10], 0
cmp rax, 0
jge 0x140061f3f
mov rcx, qword [rbp + 0x68]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
sub rsp, 0x20
call fcn.14000c499
add rsp, 0x20
jmp 0x14006291a
mov rdx, qword [rbp + 0x68]
mov rcx, qword [rbp + 0xa8]
sub rsp, 0x20
call fcn.1400198e0
add rsp, 0x20
mov r8, qword [rbp + 0x98]
mov rcx, qword [rbp + 0xa0]
mov rax, qword [rbp + 0x78]
mov rdx, qword [rbp + 0xa8]
mov qword [r8], 0
mov r9, qword [rdx]
mov qword [rcx], r9
mov r9, qword [rdx + 8]
mov qword [rcx + 8], r9
mov rdx, qword [rdx + 0x10]
mov qword [rcx + 0x10], rdx
mov rdx, qword [rax]
mov qword [rbp + 0xd8], rdx
mov rax, qword [rax + 8]
mov qword [rbp + 0xe0], rax
lea rdx, [rbp + 0xd8]
sub rsp, 0x20
call fcn.140060a50
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0xb0]
mov qword [rbp + 0x60], rcx
cmp byte [rax], 0
jne 0x14006291a
mov rax, qword [rbp + 0x60]
mov rcx, qword [rbp + 0xa8]
mov rcx, qword [rcx]
mov qword [rbp + 0x58], rcx
cmp rax, 0xffffffffffffffff
jle 0x14006207f
mov rax, qword [rbp + 0x60]
mov rcx, qword [rbp + 0x58]
cmp rax, rcx
jl 0x140062055
mov rcx, qword [rbp + 0x60]
mov rdx, qword [rbp + 0x58]
movabs rax, 0x8be8565c77744578
movabs r8, 0x8095da146ef0dbb1
xor rax, r8
sub rdx, rax
movabs rax, 0x7b39ce8e18ff6620
movabs r8, 0x84c63171e70099df
xor rax, r8
add rdx, rax
movabs rax, 0xb7d8c4819849ec9
add rdx, rax
sub rsp, 0x20
call fcn.1400137e9
add rsp, 0x20
jmp 0x14006291a
mov rcx, qword [rbp + 0x70]
mov rdx, qword [rbp + 0x60]
mov rax, qword [rbp + 0xa8]
mov rax, qword [rax + 8]
add rax, 8
shl rdx, 5
add rax, rdx
add rax, 0x18
mov qword [rax], rcx
jmp 0x14006291a
mov rax, qword [rbp + 0x58]
cmp rax, 0
mov qword [rbp + 0x50], rax
jne 0x140062127
mov ecx, 0x20
sub rsp, 0x20
call fcn.14004c2ce
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0xb0]
mov qword [rbp + 0x48], rcx
mov al, byte [rax]
mov cl, 0xd7
xor cl, 0xd7
cmp al, cl
jne 0x14006291a
mov rax, qword [rbp + 0x48]
mov rcx, qword [rbp + 0xa8]
mov qword [rcx + 0x10], 0
cmp rax, 0
jge 0x140062101
mov rcx, qword [rbp + 0x48]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
sub rsp, 0x20
call fcn.14000c499
add rsp, 0x20
jmp 0x14006291a
mov rcx, qword [rbp + 0xa8]
mov rdx, qword [rbp + 0x48]
sub rsp, 0x20
call fcn.1400198e0
mov rax, qword [rbp + 0xa8]
add rsp, 0x20
mov rax, qword [rax]
mov qword [rbp + 0x50], rax
mov r8, qword [rbp + 0x90]
mov rax, qword [rbp + 0xa8]
mov rcx, qword [rbp + 0x50]
mov qword [rbp + 0x28], rcx
mov rdx, rax
add rdx, 8
mov qword [rbp + 0x30], rdx
mov rdx, rax
add rdx, 0x10
mov qword [rbp + 0x38], rdx
mov rax, qword [rax + 0x10]
mov qword [rbp + 0x40], rax
movabs rdx, 0x3d4c4b306f68b1ef
movabs rax, 0x3d4c4b306f68b1ed
xor rdx, rax
sub rsp, 0x20
call fcn.14004cefb
add rsp, 0x20
test al, 1
jne 0x1400623ae
mov rcx, qword [rbp + 0x40]
movabs rdx, 0xca4cf34fd525a6fa
movabs rax, 0xca4cf34fd525a6f9
xor rdx, rax
lea r8, [rbp + 0xe8]
sub rsp, 0x20
call fcn.14004cefb
add rsp, 0x20
test al, 1
jne 0x1400623ae
mov eax, dword [0x1401ddd50]
sub eax, dword [0x1401ddd54]
mov ecx, eax
xor ecx, 0xffffffff
mov edx, 0xf52fc594
xor edx, 0x9137a726
and edx, ecx
mov r8d, 0xffffffff
xor r8d, 0x641862b2
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x641862b2
mov r8d, 0xb53fb205
xor r8d, 0xd127d0b7
or eax, r8d
imul eax, edx
add eax, ecx
mov r8d, 0xffffffff
xor r8d, 0x74430f03
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x74430f03
or eax, 0x74430f03
imul eax, edx
add eax, ecx
add eax, 0xfe34b647
mov ecx, 0x654f2b24
xor ecx, 0xbfc73f52
cmp eax, ecx
je 0x140062925
mov rcx, qword [rbp + 0x90]
mov eax, dword [str.g.2M]
xor eax, 0xcb1a6bb1
mov r8d, dword [0x1401ddd5c]
mov edx, eax
xor edx, 0xffffffff
mov r9d, 0xe4cf0eb9
xor r9d, 0x1b30f146
xor eax, r9d
or edx, eax
mov eax, r8d
xor eax, 0xffffffff
xor r8d, 0xffffffff
or eax, r8d
and edx, eax
xor edx, 0xffffffff
mov eax, edx
xor eax, 0xffffffff
and eax, 0xa2e6359b
mov r8d, 0xffffffff
xor r8d, 0xa2e6359b
and edx, r8d
or eax, edx
and eax, 0xb3e90ae5
mov r8d, 0x610e6efb
xor edx, edx
div r8d
mov rcx, qword [rcx]
cmp rcx, qword [rbp + 0xe8]
setl cl
mov byte [rbp + 0x27], cl
cmp eax, 0xa0b4d3b7
jae 0x140062255
mov cl, byte [rbp + 0x27]
xor eax, eax
test cl, 1
mov byte [rbp + 0x26], al
jne 0x1400623d0
jmp 0x1400622f4
mov rdx, qword [rbp + 0x40]
mov r9, qword [rbp + 0x28]
mov rcx, r9
sub rcx, rdx
mov qword [rbp + 0x18], rcx
mov r8, rcx
xor r8, 0xffffffffffffffff
movabs rax, 0x554dabd7e4eba084
movabs r10, 0xe7ea09d12d99563d
xor rax, r10
and rax, r8
mov r11, 0xffffffffffffffff
movabs r8, 0xb2a7a206c972f6b9
xor r11, r8
mov r10, rcx
and r10, r11
mov r8, r9
xor r8, 0xffffffffffffffff
movabs rsi, 0xb2a7a206c972f6b9
and r8, rsi
and r9, r11
or rax, r10
or r8, r9
xor rax, r8
movabs r8, 0x7062c9b02d55803a
movabs r9, 0x7062c9b02d55803a
xor r8, r9
cmp rax, r8
setl al
xor rcx, rdx
cmp rcx, 0xffffffffffffffff
setg dl
mov cl, al
xor cl, dl
xor cl, 0xff
or al, dl
and al, cl
test al, 1
jne 0x1400623ae
mov rax, qword [rbp + 0x18]
cmp rax, 3
setg al
mov byte [rbp + 0x26], al
jmp 0x1400623d0
sub rsp, 0x20
call fcn.1400067fe
mov rax, qword [rbp + 0xb0]
add rsp, 0x20
cmp byte [rax], 0
je 0x1400626e2
jmp 0x14006291a
mov rax, qword [rbp + 0xb0]
mov cl, byte [rbp + 0x26]
mov al, byte [rax]
test al, al
setne al
mov byte [rbp + 0x17], al
or al, cl
test al, 1
jne 0x1400626d2
mov rcx, qword [rbp + 0xa8]
sub rsp, 0x20
call fcn.140061310
mov rax, qword [rbp + 0xb0]
add rsp, 0x20
cmp byte [rax], 0
jne 0x14006291a
mov rax, qword [rbp + 0x78]
mov rcx, qword [rbp + 0x30]
mov rdx, qword [rbp + 0xa8]
mov r8, qword [rbp + 0x98]
mov r8, qword [r8]
mov qword [rbp - 0x18], r8
mov rdx, qword [rdx]
mov qword [rbp - 8], rdx
mov rcx, qword [rcx]
mov qword [rbp - 0x10], rcx
mov rcx, qword [rax]
mov qword [rbp + 0xc8], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0xd0], rax
sub rsp, 0x20
call fcn.14004c253
mov rcx, qword [rbp - 8]
add rsp, 0x20
mov qword [rbp], rax
mov rax, 0xffffffffffffffff
cmp rcx, 0
mov qword [rbp + 8], rax
je 0x1400626a4
mov rcx, qword [rbp - 0x18]
mov rdx, qword [rbp - 8]
add rdx, 0xffffffffffffffff
mov qword [rbp - 0x28], rdx
mov rax, rdx
xor rax, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
and rax, rdx
or rcx, rcx
xor rcx, 0xffffffffffffffff
or rax, rcx
xor rax, 0xffffffffffffffff
mov qword [rbp - 0x20], rax
mov rdx, qword [rbp - 8]
mov rcx, qword [rbp - 0x20]
mov qword [rbp - 0x30], rcx
test rcx, rcx
setns al
sub rcx, rdx
setl cl
and al, cl
test al, 1
jne 0x1400624f3
mov rdx, qword [rbp - 0x28]
mov rcx, qword [rbp - 0x30]
sub rsp, 0x20
call fcn.1400137e9
add rsp, 0x20
mov rax, 0xffffffffffffffff
mov qword [rbp + 8], rax
jmp 0x1400626a4
mov rcx, qword [rbp - 0x30]
mov rdx, qword [rbp]
mov rax, qword [rbp - 0x10]
mov r8, rcx
shl r8, 5
mov rax, qword [rax + r8 + 8]
mov qword [rbp - 0x48], rax
test rax, rax
sete al
mov r9b, byte [rdx]
test r9b, r9b
setne dl
or dl, al
mov r8d, 0x810ec8db
xor r8d, 0x810ec8d8
mov eax, 0xfd740ed8
xor eax, 0xfd740ede
cmp r9b, 0
cmovne eax, r8d
test dl, 1
mov qword [rbp - 0x40], rcx
mov dword [rbp - 0x34], eax
jne 0x140062609
mov rax, qword [rbp - 0x48]
mov rcx, qword [rbp - 0x18]
cmp rax, rcx
jne 0x1400625cf
mov rdx, qword [rbp - 0x30]
mov rcx, qword [rbp + 0x80]
mov rax, qword [rbp - 0x10]
add rax, 8
shl rdx, 5
add rax, rdx
add rax, 8
mov rdx, qword [rax]
mov qword [rcx], rdx
mov rax, qword [rax + 8]
mov qword [rcx + 8], rax
mov rax, qword [rbp + 0xc8]
mov qword [rbp + 0xf0], rax
mov rax, qword [rbp + 0xd0]
mov qword [rbp + 0xf8], rax
lea rdx, [rbp + 0xf0]
sub rsp, 0x20
call fcn.140062cd0
add rsp, 0x20
mov cl, al
mov rax, qword [rbp - 0x30]
test cl, 1
mov qword [rbp + 8], rax
jne 0x1400626a4
mov rdx, qword [rbp - 0x28]
mov rcx, qword [rbp - 0x30]
sub rsp, 0x20
call fcn.14004cfd7
mov r8, qword [rbp]
add rsp, 0x20
mov rdx, rax
xor ecx, ecx
mov rax, 0xffffffffffffffff
cmp byte [r8], 0
mov qword [rbp - 0x40], rdx
mov dword [rbp - 0x34], ecx
mov qword [rbp + 8], rax
jne 0x1400626a4
mov rax, qword [rbp - 0x40]
mov ecx, dword [rbp - 0x34]
mov dword [rbp - 0x5c], ecx
mov qword [rbp - 0x58], rax
mov rdx, 0xffffffffffffffff
mov qword [rbp - 0x50], rdx
test ecx, ecx
mov qword [rbp - 0x20], rax
je 0x1400624ac
jmp 0x140062633
mov rax, qword [rbp - 0x50]
mov ecx, dword [rbp - 0x5c]
sub ecx, 6
mov qword [rbp + 8], rax
jne 0x1400626a4
jmp 0x14006264c
mov r8, qword [rbp - 0x58]
mov rax, r8
xor rax, 0xffffffffffffffff
movabs rcx, 0x1d0117f2c665e25b
and rax, rcx
mov rdx, 0xffffffffffffffff
movabs rcx, 0x1d0117f2c665e25b
xor rdx, rcx
and r8, rdx
mov rcx, 0xffffffffffffffff
xor rcx, 0xffffffffffffffff
movabs r9, 0x1d0117f2c665e25b
and rcx, r9
and rdx, 0xffffffffffffffff
or rax, r8
or rcx, rdx
xor rax, rcx
mov qword [rbp + 8], rax
mov rcx, qword [rbp - 0x18]
mov rdx, qword [rbp + 0xb0]
mov rax, qword [rbp + 8]
mov dl, byte [rdx]
mov r8b, 0xa4
xor r8b, 0xa4
cmp dl, r8b
mov qword [rbp - 0x70], rcx
mov qword [rbp - 0x68], rax
je 0x1400626f8
jmp 0x14006291a
mov al, byte [rbp + 0x17]
test al, 1
jne 0x14006291a
jmp 0x1400626e2
mov rax, qword [rbp + 0x60]
mov rcx, qword [rbp + 0x98]
mov rcx, qword [rcx]
mov qword [rbp - 0x70], rcx
mov qword [rbp - 0x68], rax
mov r9, qword [rbp + 0x70]
mov rdx, qword [rbp + 0xa8]
mov rcx, qword [rbp + 0x78]
mov r10, qword [rbp - 0x70]
mov rsi, qword [rbp - 0x68]
movabs rax, 0xd9a0557dcf825aac
movabs r8, 0x265faa82307da553
xor rax, r8
mov r8, rsi
xor r8, rax
movabs rax, 0x9b09792553946116
movabs r11, 0xe7db4ecc546e47f4
xor rax, r11
and rax, r8
movabs r11, 0x9624d00c99e5a47c
movabs r8, 0xeaf6e7e59e1f829e
xor r11, r8
movabs r8, 0x204da1e8917e1bf5
movabs rdi, 0xdfb25e176e81e40a
xor r8, rdi
xor r11, r8
and rsi, r11
mov r8, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
movabs rdi, 0x7cd237e907fa26e2
and r8, rdi
and r11, 0xffffffffffffffff
or rax, rsi
or r8, r11
xor rax, r8
mov r8, qword [rcx]
mov qword [rbp + 0xb8], r8
mov rcx, qword [rcx + 8]
mov qword [rbp + 0xc0], rcx
lea r8, [rbp + 0xb8]
sub rsp, 0x30
mov qword [rsp + 0x20], r10
mov qword [rsp + 0x28], rax
call fcn.1400610d0
mov rax, qword [rbp + 0xb0]
add rsp, 0x30
cmp byte [rax], 0
jne 0x14006291a
mov rax, qword [rbp + 0x38]
mov rcx, qword [rax]
xor eax, eax
mov edx, eax
sub rdx, rcx
xor eax, eax
sub rax, 1
add rdx, rax
movabs rax, 0xdeef788297cc8a28
movabs r8, 0xdeef788297cc8a28
xor rax, r8
sub rax, rdx
mov qword [rbp - 0x78], rax
mov rdx, rcx
and rdx, 0xffffffffffffffff
shl rdx, 1
add rcx, 0xffffffffffffffff
sub rcx, rdx
and rax, rcx
cmp rax, 0
jge 0x14006290f
mov eax, dword [0x1401ddd60]
mov edx, dword [0x1401ddd64]
mov ecx, eax
xor ecx, 0xffffffff
and ecx, edx
mov r8d, 0x346fd8fa
xor r8d, 0xcb902705
xor edx, r8d
and eax, edx
sub eax, ecx
mov ecx, eax
and ecx, 0x4145a5df
shl ecx, 1
add eax, 0x4145a5df
sub eax, ecx
add eax, 0x34e6c7b2
mov r8d, 0xffffffff
xor r8d, 0x829978a6
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
mov r8d, 0xb4c2fe19
xor r8d, 0x4b3d01e6
xor ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x829978a6
or eax, 0x829978a6
imul eax, edx
add eax, ecx
cmp eax, 0xad85604e
ja 0x14006292e
mov eax, dword [0x1401ddd68]
mov ecx, dword [0x1401ddd6c]
xor ecx, 0x3bd01a87
add eax, ecx
mov ecx, 0x31105211
xor edx, edx
div ecx
sub eax, 0x6a0d3136
sub eax, 0xa70f5190
sub eax, 0x71b9d4ad
add eax, 0xa70f5190
mov dword [rbp - 0x7c], eax
sub rsp, 0x20
call fcn.1400067fe
mov eax, dword [rbp - 0x7c]
add rsp, 0x20
cmp eax, 0xac7ed6d7
jae 0x1400628bb
jmp 0x14006291a
mov rax, qword [rbp + 0x38]
mov rcx, qword [rbp - 0x78]
mov qword [rax], rcx
lea rsp, [rbp + 0x100]
pop rdi
pop rsi
pop rbp
ret
mov edx, 0xe950bd2e
invalid
loope 0x14006295e
push rcx
imul ebp, ecx, 0xffffff84