Function at 0x1400684a0
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0xe8
mov qword [rsp + 0x90], rcx
call fcn.1400679bd
mov rcx, qword [rsp + 0x90]
mov qword [rsp + 0xb0], rax
mov rax, qword [0x140226f98]
mov qword [rsp + 0x98], rax
movsx rcx, word [rcx]
add rax, 8
shl rcx, 4
add rax, rcx
add rax, 8
mov rcx, qword [rax]
mov qword [rsp + 0xa0], rcx
mov rax, rcx
add rax, 8
mov qword [rsp + 0xa8], rax
add rcx, 0xe
call fcn.1400679d8
mov cx, ax
mov rax, qword [rsp + 0xb0]
mov word [rsp + 0xbe], cx
mov cl, byte [rax]
mov dl, 0x90
xor dl, 0x90
xor eax, eax
cmp cl, dl
mov qword [rsp + 0xc0], rax
jne 0x140068a40
mov eax, dword [0x140203218]
mov edx, dword [0x14020321c]
mov ecx, eax
add ecx, 1
xor eax, 0xffffffff
or eax, edx
add eax, ecx
mov ecx, eax
xor ecx, 0xffffffff
mov edx, 0x999000fd
xor edx, 0x45cb1fec
and edx, ecx
mov r8d, 0xffffffff
xor r8d, 0xdc5b1f11
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov r8d, 0x511af5c7
xor r8d, 0x8d41ead6
mov edx, eax
and edx, r8d
or eax, 0xdc5b1f11
imul eax, edx
add eax, ecx
xor eax, 0x9c7fec33
mov ecx, 0xc04fcdf2
xor ecx, 0x3fb0320d
mov edx, eax
xor edx, ecx
and edx, 0xd9568813
mov r8d, 0xffffffff
xor r8d, 0xd9568813
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov r8d, 0x4c358c3c
xor r8d, 0x9563042f
mov edx, eax
and edx, r8d
mov r8d, 0x692d8d4e
xor r8d, 0xb07b055d
or eax, r8d
imul eax, edx
add eax, ecx
cmp eax, 0x9ce94de
jbe 0x140068a50
mov rcx, qword [rsp + 0xa0]
mov eax, dword [0x140203220]
mov edx, 0xc5e8ba84
xor edx, 0xec0b08f5
xor eax, edx
mov edx, dword [0x140203224]
mov r8d, 0xdb2ec31b
xor r8d, 0xfb152fc
add eax, r8d
sub eax, edx
sub eax, 0xd49f91e7
mov r8d, 0xa4a22097
xor edx, edx
div r8d
add eax, 0xb505447d
sub eax, 0x2ca68fe7
sub eax, 0xb505447d
or eax, 0xbd3ff7cd
mov rdx, rcx
add rdx, 0x11
mov qword [rsp + 0x80], rdx
cmp byte [rcx + 0x11], 0x39
sete cl
mov byte [rsp + 0x8f], cl
cmp eax, 0x3aef2530
je 0x1400685f1
mov rax, qword [rsp + 0x98]
mov cl, byte [rsp + 0x8f]
test cl, 1
mov qword [rsp + 0x78], rax
jne 0x140068692
jmp 0x140068a1c
mov rcx, qword [rsp + 0xa8]
call fcn.140067b64
mov rcx, qword [rsp + 0xa0]
add rcx, 0x13
call fcn.140067b64
mov rcx, qword [rsp + 0xa0]
add rcx, 0x12
call fcn.140067b64
mov byte [rsp + 0x77], al
cmp al, 0xbe
jne 0x1400687f4
mov eax, dword [0x140203228]
xor edx, edx
div dword [0x14020322c]
mov ecx, 0x83bf5db2
xor edx, edx
div ecx
mov ecx, eax
mov eax, ecx
and eax, eax
xor eax, 0xffffffff
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x604e26f
or eax, edx
mov edx, 0x497d7145
xor edx, 0x4f79932a
mov r8d, 0x71cd5134
xor r8d, 0x77c9b35b
and edx, r8d
mov r8d, 0xa4f819f7
xor r8d, 0x5b07e608
xor edx, r8d
and ecx, edx
mov edx, 0xafc123c4
xor edx, 0x503edc3b
xor ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0x6a8231fa
xor ecx, 0xbf002aba
mov edx, eax
xor edx, ecx
xor edx, 0xffffffff
and edx, 0xd5821b40
mov ecx, 0xc6a3a048
xor ecx, 0xc6a3a04a
imul ecx, edx
mov edx, 0x86b0e88b
xor edx, 0x5332f3cb
sub ecx, edx
sub eax, ecx
mov ecx, 0x645de3c5
xor ecx, 0xb3f86bb1
cmp eax, ecx
ja 0x140068a59
mov rcx, qword [rsp + 0x80]
mov r8w, word [rsp + 0xbe]
mov eax, dword [0x140203230]
xor edx, edx
div dword [0x140203234]
mov r9d, 0x62d92405
xor edx, edx
div r9d
mov rdx, qword [rsp + 0x98]
and eax, 0x255bfbe8
sub eax, 0x37e4c070
movsx r8, r8w
add rdx, 8
shl r8, 4
add rdx, r8
mov qword [rsp + 0x68], rdx
mov byte [rcx], 0xae
cmp eax, 0x9988618c
je 0x140068a59
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x60], rax
jmp 0x140068a0a
mov ecx, dword [0x140203238]
xor ecx, 0x173d0fa3
mov eax, dword [0x14020323c]
mov edx, 0x34374043
xor edx, 0xb2f58249
sub ecx, edx
add ecx, eax
add ecx, 0x86c2c20a
or ecx, 0x4fc89c34
mov eax, 0xffffffff
xor eax, 0x65cbdf5a
add ecx, eax
mov eax, 0xbca3dc09
xor eax, 0xbca3dc08
add ecx, eax
mov edx, 0xffffffff
xor edx, 0x3e7bc0b2
mov eax, ecx
xor eax, edx
and eax, ecx
mov ecx, 0xf28a27bd
xor ecx, 0xfa5cdf8f
cmp eax, ecx
jb 0x140068a62
mov rcx, qword [rsp + 0xa0]
mov eax, dword [0x140203240]
mov edx, 0x1b609e6a
xor edx, 0xff951025
xor eax, edx
xor edx, edx
div dword [0x140203244]
imul eax, eax, 0xc7bc584
or eax, 0xadc61346
mov r8d, 0xc3eb6381
xor edx, edx
div r8d
mov dword [rsp + 0x44], eax
add rcx, 0x10
call fcn.140067b64
mov rdx, qword [rsp + 0xa0]
mov cx, word [rsp + 0xbe]
mov r8b, al
mov rax, qword [rsp + 0x98]
mov byte [rsp + 0x43], r8b
add rdx, 0x14
mov qword [rsp + 0x38], rdx
movsx rdx, cx
mov rcx, rax
add rcx, 8
mov r8, rdx
shl r8, 4
add rcx, r8
add rax, 8
shl rdx, 4
add rax, rdx
add rax, 8
mov rax, qword [rax]
add rax, 8
mov qword [rsp + 0x28], rax
mov rax, qword [rcx]
mov dword [rsp + 0x34], eax
call fcn.140067fc0
mov r10, qword [rsp + 0x28]
mov r9d, dword [rsp + 0x34]
mov r8, qword [rsp + 0x38]
mov dl, byte [rsp + 0x43]
mov cl, byte [rsp + 0x77]
mov eax, dword [rsp + 0x44]
mov qword [rsp + 0xc8], r10
mov dword [rsp + 0xd0], r9d
mov qword [rsp + 0xd8], r8
movzx edx, dl
mov dword [rsp + 0xe0], edx
mov rdx, qword [str.po__]
mov rdx, qword [rdx + 8]
movzx ecx, cl
mov r8d, ecx
mov rcx, rdx
add rcx, 8
imul r9, r8, 0x48
add rcx, r9
add rcx, 0x18
add rdx, 8
imul r8, r8, 0x48
add rdx, r8
add rdx, 0x20
mov rdx, qword [rdx]
mov qword [rsp + 0x48], rdx
cmp rdx, 0
sete dl
mov byte [rsp + 0x57], dl
mov rcx, qword [rcx]
mov qword [rsp + 0x58], rcx
cmp eax, 0x2369e00a
jae 0x14006885d
mov al, byte [rsp + 0x57]
test al, 1
jne 0x1400689c7
jmp 0x1400689ae
mov rax, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x48]
lea rcx, [rsp + 0xc8]
call rax
jmp 0x1400689d6
mov rax, qword [rsp + 0x58]
lea rcx, [rsp + 0xc8]
call rax
mov rcx, qword [rsp + 0xb0]
mov rax, qword [rsp + 0x80]
mov byte [rax], 0xae
xor eax, eax
cmp byte [rcx], 0
mov qword [rsp + 0x60], rax
jne 0x140068a0a
mov rax, qword [0x140226f98]
mov qword [rsp + 0x78], rax
and al, 0x78
jmp 0x140068a1c
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0xc0], rax
jmp 0x140068a40
mov cx, word [rsp + 0xbe]
mov rax, qword [rsp + 0x78]
movsx rcx, cx
add rax, 8
shl rcx, 4
add rax, rcx
mov qword [rsp + 0xc0], rax
mov rax, qword [rsp + 0xc0]
add rsp, 0xe8
ret
invalid
jge 0x140068a03
invalid
insb byte [rdi], dx
invalid