Function at 0x14000ec00
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x128
mov qword [rsp + 0x118], rdx
mov qword [rsp + 0x120], rcx
mov eax, dword [0x1401d57b8]
mov ecx, dword [0x1401d57bc]
xor ecx, 0xffffffff
add eax, ecx
add eax, 1
add eax, 0xed88d8d5
xor eax, 0xcd94ed1f
mov ecx, 0x6d7695d4
xor ecx, 0xce85cc5c
or eax, ecx
cmp eax, 0xd8ff101e
ja 0x14000f518
mov eax, dword [0x1401d57c0]
mov ecx, 0x10d9d47e
xor ecx, 0x6282d298
xor eax, ecx
add eax, dword [str.PXvk]
sub eax, 0x9721740d
sub eax, 0xf00a2936
add eax, 0x9721740d
mov ecx, 0xe92c8fac
xor edx, edx
div ecx
and eax, eax
xor eax, 0xffffffff
mov ecx, 0xd9da53cd
xor ecx, 0xf0a46542
mov edx, 0x3743771b
xor edx, 0xc8bc88e4
xor ecx, edx
mov edx, 0xa84fe34b
xor edx, 0x8131d5c4
mov r8d, 0x3bb2e426
xor r8d, 0xc44d1bd9
xor edx, r8d
or ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
mov dword [rsp + 0xf4], eax
call fcn.14000aa89
mov qword [rsp + 0xe8], rax
call fcn.14000aa89
mov rcx, qword [rsp + 0xe8]
mov rdx, rax
mov eax, dword [rsp + 0xf4]
add rdx, 0x60
mov qword [rsp + 0xf8], rdx
mov rdx, rcx
add rdx, 0x20
mov qword [rsp + 0x100], rdx
mov r8, qword [rcx + 0x20]
mov rcx, r8
add rcx, 0xffffffffffffffff
mov qword [rsp + 0x108], rcx
mov rdx, rcx
xor rdx, r8
cmp rdx, 0
setl dl
cmp rcx, 0xffffffffffffffff
setg cl
and cl, dl
mov byte [rsp + 0x117], cl
cmp eax, 0x814268b0
ja 0x14000ec4d
mov al, byte [rsp + 0x117]
test al, 1
jne 0x14000ed7e
jmp 0x14000ed55
mov rax, qword [rsp + 0x108]
mov rcx, qword [rsp + 0xe8]
add rcx, 0x30
mov qword [rsp + 0xd8], rcx
mov qword [rsp + 0xe0], rax
jmp 0x14000ed88
call fcn.1400077a3
jmp 0x14000f50f
mov rcx, qword [rsp + 0x118]
mov rax, qword [rsp + 0xe0]
mov qword [rsp + 0xd0], rax
cmp rax, rcx
jl 0x14000ef50
mov eax, dword [0x1401d57c8]
xor edx, edx
div dword [0x1401d57cc]
imul eax, eax, 0xff6c63ca
mov edx, eax
xor edx, 0x324dd3ac
xor edx, 0xffffffff
mov ecx, 0xd6a8a5f2
xor ecx, 0xe4e5765e
and ecx, edx
shl ecx, 1
sub ecx, 0x324dd3ac
sub eax, ecx
mov ecx, 0x7246efeb
xor edx, edx
div ecx
cmp eax, 0x5ecdea88
ja 0x14000f521
mov r8, qword [rsp + 0x120]
mov rdx, qword [rsp + 0xd0]
mov rax, qword [rsp + 0xd8]
mov ecx, dword [0x1401d57d0]
mov r9d, dword [0x1401d57d4]
xor r9d, 0x3c8b46d6
imul ecx, r9d
xor ecx, 0xcc638b6e
and ecx, 0x53a0162b
sub ecx, 0x44fd6872
mov dword [rsp + 0xc8], ecx
mov rax, qword [rax]
mov r9, rdx
shl r9, 4
mov rcx, rax
add rcx, r9
mov rcx, qword [rcx]
shl rdx, 4
add rax, rdx
add rax, 8
mov rdx, qword [rax]
call fcn.14000d680
mov rcx, qword [rsp + 0xf8]
mov eax, dword [rsp + 0xc8]
cmp byte [rcx], 0
sete cl
mov byte [rsp + 0xcf], cl
cmp eax, 0xfdabc8a4
ja 0x14000edf4
mov al, byte [rsp + 0xcf]
test al, 1
jne 0x14000ee9e
jmp 0x14000f50f
mov rcx, qword [rsp + 0xd0]
movabs rdx, 0x69a3a0c8b9522b78
movabs rax, 0x32a5baba87eeaf00
xor rdx, rax
mov rax, rcx
sub rax, rdx
movabs rdx, 0x198a124c72239ff8
movabs r8, 0xe675edb38ddc6007
xor rdx, r8
add rax, rdx
movabs rdx, 0xa03dae9af7c2db31
movabs r8, 0xfb3bb4e8c97e5f49
xor rdx, r8
add rax, rdx
mov r8, rax
xor r8, rcx
xor r8, 0xffffffffffffffff
mov rdx, rcx
and rdx, r8
shl rdx, 1
sub rdx, rcx
mov rcx, rax
sub rcx, rdx
cmp rcx, 0
setl r8b
cmp rax, 0xffffffffffffffff
setg cl
mov dl, cl
xor dl, r8b
xor dl, 0xff
or cl, r8b
and cl, dl
test cl, 1
mov qword [rsp + 0xe0], rax
jne 0x14000ef46
jmp 0x14000ed88
call fcn.1400077a3
jmp 0x14000f50f
mov r8d, dword [0x1401d57d8]
xor r8d, 0xfa961746
mov edx, dword [0x1401d57dc]
mov eax, r8d
xor eax, 0xffffffff
and eax, 0xf7aa904b
mov r9d, 0xffffffff
xor r9d, 0xf7aa904b
and r8d, r9d
mov ecx, edx
xor ecx, 0xffffffff
mov r10d, 0x7dde5541
xor r10d, 0x8a74c50a
and ecx, r10d
and edx, r9d
or eax, r8d
or ecx, edx
xor eax, ecx
xor eax, 0x5b7fa860
and eax, 0xad03a24d
mov ecx, 0xf1aea2b8
xor edx, edx
div ecx
cmp eax, 0xb27dccdf
jae 0x14000f52a
mov rdx, qword [rsp + 0x120]
mov eax, dword [0x1401d57e0]
mov ecx, dword [0x1401d57e4]
xor ecx, 0x99335468
xor ecx, 0xffffffff
add eax, ecx
add eax, 1
mov ecx, 0x51979da2
xor ecx, 0x8b0254b
mov r8d, 0x939f1622
xor r8d, 0x6c60e9dd
xor ecx, r8d
mov r8d, 0x9c2edcc4
xor r8d, 0x9c2edcc4
mov r9d, 0x38da231a
xor r9d, 0x38da231b
sub r8d, r9d
sub ecx, r8d
sub eax, ecx
sub eax, 0xaff9f5fc
sub eax, 0xc2f206db
add eax, 0xaff9f5fc
imul eax, eax, 0x6e8cad3d
mov rcx, qword [rdx + 0x48]
cmp rcx, qword [rdx + 0x40]
sete cl
mov byte [rsp + 0xc7], cl
cmp eax, 0x8d32d3e4
ja 0x14000efbc
mov rax, qword [rsp + 0x108]
mov cl, byte [rsp + 0xc7]
test cl, 1
mov qword [rsp + 0xb8], rax
jne 0x14000f072
jmp 0x14000f090
mov rax, qword [rsp + 0x120]
mov byte [rax + 0x50], 1
mov eax, 1
mov qword [rsp + 0xb0], rax
jmp 0x14000f1d6
mov rdx, qword [rsp + 0x118]
mov rcx, qword [rsp + 0xb8]
mov qword [rsp + 0xa8], rcx
mov eax, 2
cmp rcx, rdx
mov qword [rsp + 0xb0], rax
jl 0x14000f1d6
mov r8, qword [rsp + 0x120]
mov rdx, qword [rsp + 0xa8]
mov rax, qword [rsp + 0xd8]
mov rax, qword [rax]
mov r9, rdx
shl r9, 4
mov rcx, rax
add rcx, r9
mov rcx, qword [rcx]
shl rdx, 4
add rax, rdx
add rax, 8
mov rdx, qword [rax]
call fcn.14000e410
mov rax, qword [rsp + 0xf8]
mov al, byte [rax]
mov cl, 0x65
xor cl, 0x65
cmp al, cl
jne 0x14000f50f
mov r8, qword [rsp + 0xa8]
movabs rcx, 0x2f43c0342d5a6c80
mov rax, r8
add rax, rcx
add rax, 0xffffffffffffffff
movabs rcx, 0x2f43c0342d5a6c80
sub rax, rcx
mov rcx, rax
and rcx, rcx
xor rcx, 0xffffffffffffffff
xor rcx, 0xffffffffffffffff
mov rdx, r8
xor rdx, 0xffffffffffffffff
or rcx, rdx
and r8, r8
movabs rdx, 0x937cd4495a34f943
movabs r9, 0x6c832bb6a5cb06bc
xor rdx, r9
xor r8, rdx
mov rdx, rax
and rdx, r8
xor rdx, 0xffffffffffffffff
and rcx, rdx
xor rcx, 0xffffffffffffffff
cmp rcx, 0
setl r8b
cmp rax, 0xffffffffffffffff
setg cl
xor cl, 0xff
mov dl, 1
xor dl, 0
xor r8b, dl
xor edx, edx
xor dl, 0
mov r9b, 1
xor r9b, 0
xor dl, r9b
or cl, r8b
or dl, 0
xor cl, 0xff
and cl, dl
test cl, 1
mov qword [rsp + 0xb8], rax
jne 0x14000f1cc
jmp 0x14000f090
call fcn.1400077a3
jmp 0x14000f50f
mov rcx, qword [rsp + 0x120]
mov rax, qword [rsp + 0xb0]
mov qword [rsp + 0x90], rax
add rcx, 0x18
mov qword [rsp + 0x98], rcx
mov edx, 0x400
call fcn.14000b160
xor eax, eax
mov qword [rsp + 0xa0], rax
mov rcx, qword [rsp + 0x100]
mov rax, qword [rsp + 0xa0]
mov qword [rsp + 0x88], rax
cmp rax, qword [rcx]
jl 0x14000f24f
mov rax, qword [rsp + 0x120]
add rax, 0x28
mov qword [rsp + 0x78], rax
xor eax, eax
mov qword [rsp + 0x80], rax
jmp 0x14000f2e6
mov rdx, qword [rsp + 0x88]
mov r9, qword [rsp + 0x120]
mov r8, qword [rsp + 0x90]
mov rax, qword [rsp + 0xd8]
mov rax, qword [rax]
mov r10, rdx
shl r10, 4
mov rcx, rax
add rcx, r10
mov rcx, qword [rcx]
movabs r10, 0x55132a127b1d37a0
movabs r11, 0x55132a127b1d37a0
xor r10, r11
mov qword [rcx + 8], r10
shl rdx, 4
add rax, rdx
add rax, 8
mov rdx, qword [rax]
call fcn.14000e790
mov rcx, qword [rsp + 0xf8]
mov rax, qword [rsp + 0x88]
mov cl, byte [rcx]
mov dl, 0xb8
xor dl, 0xb8
xor r8d, r8d
sub r8, 1
sub rax, r8
cmp cl, dl
mov qword [rsp + 0xa0], rax
je 0x14000f20e
jmp 0x14000f50f
mov rcx, qword [rsp + 0x98]
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x68], rax
mov rcx, qword [rcx]
mov qword [rsp + 0x70], rcx
cmp rax, rcx
jge 0x14000f48d
mov rcx, qword [rsp + 0x68]
mov rax, qword [rsp + 0x78]
mov rax, qword [rax]
mov r8, rcx
shl r8, 4
mov rdx, rax
add rdx, r8
mov rdx, qword [rdx]
mov qword [rsp + 0x40], rdx
shl rcx, 4
add rax, rcx
add rax, 8
mov rax, qword [rax]
mov qword [rsp + 0x48], rax
call fcn.14000aa89
mov rcx, qword [rsp + 0x40]
mov rdx, rax
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x50], rdx
mov rdx, rcx
and rdx, 0x10
shl rdx, 1
xor rcx, 0x10
add rcx, rdx
mov qword [rsp + 0x58], rcx
mov rax, qword [rax]
mov qword [rsp + 0x60], rax
cmp rax, 0
je 0x14000f39c
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x58]
call rax
mov rax, qword [rsp + 0x50]
cmp byte [rax + 0x60], 0
jne 0x14000f461
mov eax, dword [str._I_]
mov r8d, dword [0x1401d57ec]
xor r8d, 0xf97aa757
mov ecx, eax
xor ecx, 0xffffffff
mov edx, r8d
and edx, ecx
mov r9d, r8d
xor r9d, 0xffffffff
mov ecx, eax
and ecx, r9d
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
or eax, 0x67393962
or eax, 0x967919d0
mov ecx, 0x32032a3a
xor ecx, 0xc8bdcefb
add eax, ecx
sub eax, 0x218626a0
sub eax, 0xfabee4c1
cmp eax, 0x81f65796
je 0x14000f533
mov rcx, qword [rsp + 0x58]
mov rax, qword [rsp + 0x48]
mov edx, dword [0x1401d57f0]
mov r8d, dword [0x1401d57f4]
xor r8d, 0xca13a320
and edx, r8d
sub edx, 0x986f78be
xor edx, 0x95932f2
mov r8d, 0x3e9aa1fc
xor r8d, 0x124bf4f5
add edx, r8d
mov dword [rsp + 0x3c], edx
movsx rdx, word [rax + 0x10]
call fcn.14000eb78
mov eax, dword [rsp + 0x3c]
cmp eax, 0x61c266b
je 0x14000f533
jmp 0x14000f461
mov rax, qword [rsp + 0x68]
movabs rcx, 0xfc68b37af2183ef1
movabs rdx, 0xfc68b37af2183ef0
xor rcx, rdx
add rax, rcx
mov qword [rsp + 0x80], rax
jmp 0x14000f2e6
mov rax, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x120]
mov rdx, rcx
add rdx, 0x30
mov qword [rsp + 0x28], rdx
mov r8, qword [rcx + 0x30]
mov rdx, r8
add rdx, rax
mov qword [rsp + 0x30], rdx
mov rcx, rdx
xor rcx, r8
xor rdx, rax
xor rdx, 0xffffffffffffffff
mov rax, rcx
xor rax, rdx
and rax, rcx
movabs rcx, 0xe354b0aae072fcae
movabs rdx, 0xe354b0aae072fcae
xor rcx, rdx
cmp rax, rcx
jge 0x14000f4f5
call fcn.1400077a3
jmp 0x14000f50f
mov rcx, qword [rsp + 0x98]
mov rax, qword [rsp + 0x28]
mov rdx, qword [rsp + 0x30]
mov qword [rax], rdx
call fcn.14000eba6
nop
add rsp, 0x128
ret
ficom word [rsi]
pop rdx
cmpsb byte [rsi], byte [rdi]
jmp 0x14000ec4d
invalid
popfq
jmp 0x13a8adea6
lodsb al, byte [rsi]
and eax, 0xc6e99b4f
invalid