Function at 0x1400f4ef0
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x98
mov qword [rsp + 0x90], rcx
cmp qword [rcx], 0
jle 0x1400f52c7
mov rax, qword [rsp + 0x90]
add rax, 8
mov qword [rsp + 0x80], rax
xor eax, eax
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0x80]
mov rdx, qword [rsp + 0x88]
mov qword [rsp + 0x60], rdx
mov rax, qword [rax]
mov qword [rsp + 0x68], rax
mov rcx, rax
add rcx, 8
imul rdx, rdx, 0x38
add rcx, rdx
add rcx, 8
mov rcx, qword [rcx]
mov qword [rsp + 0x70], rcx
cmp rcx, 0
mov qword [rsp + 0x78], rax
je 0x1400f4fc3
mov rax, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x70]
movabs rcx, 0x4000000000000000
and rcx, qword [rdx]
movabs rdx, 0x73fa1aa9780e7841
movabs r8, 0x73fa1aa9780e7841
xor rdx, r8
cmp rcx, rdx
mov qword [rsp + 0x78], rax
jne 0x1400f4fc3
mov rcx, qword [rsp + 0x70]
call fcn.14001a7c0
mov rax, qword [rsp + 0x80]
mov rax, qword [rax]
mov qword [rsp + 0x78], rax
mov rdx, qword [rsp + 0x60]
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x48], rax
mov rcx, rax
add rcx, 8
imul rdx, rdx, 0x38
add rcx, rdx
add rcx, 0x18
mov rcx, qword [rcx]
mov qword [rsp + 0x50], rcx
cmp rcx, 0
mov qword [rsp + 0x58], rax
je 0x1400f519c
mov r8d, dword [0x1402ae290]
mov edx, dword [0x1402ae294]
mov r9d, edx
xor r9d, 0xffffffff
mov ecx, r8d
and ecx, r9d
mov eax, r8d
or eax, r9d
xor eax, 0xffffffff
imul eax, ecx
mov ecx, r8d
and ecx, edx
or r8d, edx
imul r8d, ecx
add r8d, eax
mov eax, 0xdb450ecd
xor eax, 0xf887db33
imul r8d, eax
mov eax, r8d
xor eax, 0xffffffff
and eax, 0x79ade203
mov r9d, 0xffffffff
xor r9d, 0x79ade203
and r8d, r9d
mov ecx, 0xd8dad51a
xor ecx, 0x165ee3ec
mov edx, 0x34d07a60
xor edx, 0xcb2f859f
xor ecx, edx
and ecx, 0x79ade203
mov edx, 0x28f4a2b2
xor edx, 0xe6709444
and edx, r9d
or eax, r8d
or ecx, edx
xor eax, ecx
mov ecx, eax
xor ecx, 0x9a4e2d7d
xor ecx, 0xffffffff
and ecx, 0x9a4e2d7d
shl ecx, 1
sub ecx, 0x9a4e2d7d
sub eax, ecx
cmp eax, 0x6db7a588
jb 0x1400f5444
mov rcx, qword [rsp + 0x50]
mov eax, dword [0x1402ae298]
mov edx, 0x6be85629
xor edx, 0x5b876c3
xor eax, edx
mov edx, dword [0x1402ae29c]
mov r8d, 0x12c1305c
xor r8d, 0x872fb514
xor edx, r8d
mov r8d, 0xb2a72a68
xor r8d, 0x56d2e6bd
add eax, r8d
sub eax, edx
mov edx, 0x29fd9ab4
xor edx, 0xcd885661
sub eax, edx
sub eax, 0x5dccc581
and eax, 0x51e9cff
xor eax, 0x585c4745
mov rcx, qword [rcx]
mov rdx, rcx
add rdx, 1
movabs r8, 0xbe10201aa066ae5e
movabs r9, 0x41efdfe55f9951a1
xor r8, r9
xor rcx, r8
movabs r8, 0x226f543142aadf13
movabs r9, 0x626f543142aadf13
xor r8, r9
or rcx, r8
add rcx, rdx
cmp rcx, 0
sete cl
mov byte [rsp + 0x47], cl
cmp eax, 0xfe3319fa
je 0x1400f50b3
mov rax, qword [rsp + 0x48]
mov cl, byte [rsp + 0x47]
test cl, 1
mov qword [rsp + 0x58], rax
jne 0x1400f5182
jmp 0x1400f519c
mov rcx, qword [rsp + 0x50]
call fcn.14001a7c0
mov rax, qword [rsp + 0x80]
mov rax, qword [rax]
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x38], rax
mov ecx, dword [0x1402ae2a0]
mov eax, dword [0x1402ae2a4]
xor eax, 0x5d4d0dc3
sub ecx, eax
sub ecx, 0xc1c97ea9
mov eax, ecx
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0xf7ac0c7e
and ecx, 0xf7ac0c7e
mov edx, 0x7636d832
xor edx, 0x89c927cd
xor ecx, edx
and eax, ecx
xor eax, 0xffffffff
xor eax, 0xaf116a40
cmp eax, 0x69a0ec5
je 0x1400f544d
mov rdx, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x38]
mov eax, dword [0x1402ae2a8]
or eax, dword [0x1402ae2ac]
mov r8d, 0xb716539d
xor r8d, 0x6a7a962b
and eax, r8d
mov r8d, 0xf24bd7ae
xor r8d, 0xac67805c
sub eax, r8d
xor eax, 0x295f4dc5
add rcx, 8
imul rdx, rdx, 0x38
add rcx, rdx
add rcx, 0x28
mov rcx, qword [rcx]
mov qword [rsp + 0x28], rcx
cmp rcx, 0
sete cl
mov byte [rsp + 0x37], cl
cmp eax, 0xd09917ac
jae 0x1400f51f6
mov al, byte [rsp + 0x37]
test al, 1
jne 0x1400f52a5
jmp 0x1400f526f
mov rax, qword [rsp + 0x28]
mov rax, qword [rax]
movabs rcx, 0x2c65e1b90adcff41
movabs rdx, 0x6c65e1b90adcff41
xor rcx, rdx
and rax, rcx
cmp rax, 0
jne 0x1400f52a5
mov rcx, qword [rsp + 0x28]
call fcn.14001a7c0
mov rcx, qword [rsp + 0x90]
mov rax, qword [rsp + 0x60]
add rax, 1
cmp rax, qword [rcx]
mov qword [rsp + 0x88], rax
jl 0x1400f4f27
mov rax, qword [rsp + 0x90]
mov rax, qword [rax + 8]
mov qword [rsp + 0x20], rax
cmp rax, 0
je 0x1400f52f1
mov rcx, qword [rsp + 0x20]
mov edx, 8
call fcn.14001a8c0
mov eax, dword [0x1402ae2b0]
mov ecx, dword [0x1402ae2b4]
mov edx, 0x157d4f38
xor edx, 0xa05b224b
xor ecx, edx
or eax, ecx
mov r11d, eax
and r11d, r11d
mov ecx, 0x7fe72325
xor ecx, 0x8018dcda
xor r11d, ecx
mov ecx, 0x9ad0c353
xor ecx, 0x839ce182
and r11d, ecx
xor r11d, 0xffffffff
mov ecx, 0x194c22d1
and ecx, 0x194c22d1
mov edx, 0xa0ac9c01
xor edx, 0x5f5363fe
xor ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
xor r11d, 0xffffffff
xor eax, 0xffffffff
or r11d, eax
mov eax, 0xfc634e8
xor eax, 0x3443d49b
xor r11d, eax
mov ecx, r11d
xor ecx, 0xffffffff
mov r8d, 0x8f1e9b6e
xor r8d, 0xc368ee0d
mov eax, 0x2fb597fb
xor eax, 0xd04a6804
xor r8d, eax
mov edx, 0xffffffff
xor edx, 0x5906be10
mov r9d, 0x6e8312c9
xor r9d, 0x3785acd9
mov eax, ecx
and eax, r9d
and r11d, edx
mov r9d, r8d
and r9d, 0x5906be10
mov r10d, edx
and r10d, 0x4c767563
or eax, r11d
or r9d, r10d
xor eax, r9d
or ecx, r8d
xor ecx, 0xffffffff
or edx, 0x5906be10
and ecx, edx
or eax, ecx
cmp eax, 0x9860b20b
je 0x1400f5456
mov eax, dword [0x1402ae2b8]
mov edx, dword [0x1402ae2bc]
xor edx, 0xffffffff
mov ecx, eax
xor ecx, edx
and ecx, eax
mov eax, ecx
or eax, 0xac69f60c
mov edx, 0xb9f2f5e
xor edx, 0xf460d0a1
xor eax, edx
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xac69f60c
and ecx, edx
or eax, ecx
xor eax, 0xffffffff
sub eax, 0x22cbe1e
sub eax, 0xb0db0fd0
mov ecx, 0x933be50d
xor ecx, 0x13b31f93
cmp eax, ecx
je 0x1400f53e1
add rsp, 0x98
ret
push 0xffffffffffffffbe
or eax, dword [0x1400bbb35]
jmp [rdi + 0x3b]
outsd dx, dword [rsi]
cmp edi, eax
mov al, 0xe9
movabs al, byte [0xe908049b36fffffd]
invalid
wait
add al, 8
jmp 0x1400f53e1