Function at 0x14008e2f0
Capabilities:
Encode data using xor

Disassembly:
push rsi
sub rsp, 0x110
mov qword [rsp + 0xc0], r8
mov qword [rsp + 0xe0], rdx
mov qword [rsp + 0xd0], rcx
mov qword [rsp + 0xc8], rcx
call fcn.14008ee82
mov rcx, qword [rsp + 0xd0]
mov qword [rsp + 0xd8], rax
mov edx, 0x10
call fcn.14008ee9d
mov rdx, qword [rsp + 0xe0]
mov rax, qword [rdx]
mov qword [rsp + 0xe8], rax
mov qword [rdx + 8], rax
mov rax, rdx
add rax, 0x10
mov qword [rsp + 0xf0], rax
mov cl, byte [rdx + 0x10]
mov dl, cl
and dl, 1
shl dl, 1
mov al, cl
add al, 1
sub al, dl
cmp cl, 0
mov byte [rsp + 0xff], al
jne 0x14008e508
mov rcx, qword [rsp + 0xe8]
mov rdx, qword [rsp + 0xc0]
test rcx, rcx
setns al
mov rdx, qword [rdx]
mov qword [rsp + 0xb8], rdx
sub rcx, rdx
setl cl
and al, cl
test al, 1
jne 0x14008e3db
mov rcx, qword [rsp + 0xe8]
mov rdx, qword [rsp + 0xb8]
mov rax, rdx
and rax, 0xffffffffffffffff
shl rax, 1
xor rdx, 0xffffffffffffffff
add rdx, rax
call fcn.14001284c
jmp 0x14008ee3b
mov eax, dword [0x14024f288]
add eax, dword [0x14024f28c]
mov ecx, 0x31eee4bc
xor ecx, 0x7d55645b
and eax, ecx
imul eax, eax, 0x9827ebc4
mov ecx, 0x4e211715
xor edx, edx
div ecx
cmp eax, 0xe485eeb7
jae 0x14008ee4c
mov rcx, qword [rsp + 0xc0]
mov esi, dword [0x14024f290]
mov r11d, dword [0x14024f294]
mov edx, esi
xor edx, 0xffffffff
mov r9d, r11d
xor r9d, 0xffffffff
mov r8d, 0x7c9633f
xor r8d, 0xe48a8d90
mov eax, 0xd6fe0955
xor eax, 0x2901f6aa
xor r8d, eax
mov eax, edx
and eax, 0xe343eeaf
and esi, r8d
mov r10d, r9d
and r10d, 0xe343eeaf
and r11d, r8d
or eax, esi
or r10d, r11d
xor eax, r10d
or edx, r9d
xor edx, 0xffffffff
or r8d, 0xe343eeaf
and edx, r8d
or eax, edx
mov r8d, 0x282f26b1
xor r8d, 0x1688d640
xor edx, edx
div r8d
mov r8d, eax
and r8d, 0x4a4f08aa
mov edx, 0x603e2dbe
xor edx, 0x603e2dbc
imul edx, r8d
add eax, 0x4a4f08aa
sub eax, edx
mov r8d, 0xf509e898
xor r8d, 0xfd4a147d
xor edx, edx
div r8d
mov rdx, qword [rsp + 0xe8]
mov rcx, qword [rcx + 8]
mov dl, byte [rcx + rdx + 8]
mov cl, 0x58
xor cl, 4
cmp dl, cl
sete cl
cmp dl, 0x2f
sete dl
or cl, dl
and cl, 1
mov byte [rsp + 0xb7], cl
cmp eax, 0xcfbb2ca9
je 0x14008e40e
mov al, byte [rsp + 0xb7]
mov byte [rsp + 0xff], al
jmp 0x14008e508
mov al, byte [rsp + 0xff]
mov cl, 0xc4
xor cl, 0xc4
cmp al, cl
je 0x14008e5c2
mov rdx, qword [rsp + 0xe8]
movabs rax, 0x6d2d8e9d1b2a015a
movabs rcx, 0x6d2d8e9d1b2a015b
xor rax, rcx
mov rcx, rdx
and rcx, rax
movabs rax, 0x7ac452ed9cb55c4e
movabs r8, 0x7ac452ed9cb55c4c
xor rax, r8
imul rcx, rax
mov rax, rdx
xor rax, 1
add rax, rcx
mov qword [rsp + 0xa8], rax
xor rdx, 0xffffffffffffffff
or rax, rax
xor rax, 0xffffffffffffffff
mov rcx, rdx
xor rcx, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
and rcx, rdx
or rax, rcx
xor rax, 0xffffffffffffffff
cmp rax, 0
jge 0x14008e5a2
call fcn.140008c92
jmp 0x14008ee3b
mov rax, qword [rsp + 0xa8]
mov rcx, qword [rsp + 0xe0]
mov qword [rcx], rax
mov qword [rsp + 0xa0], rax
jmp 0x14008e8f8
mov eax, dword [0x14024f298]
and eax, dword [0x14024f29c]
mov ecx, 0x88b8f76c
xor ecx, 0x88b8f76c
mov edx, 0x1c9e8b95
xor edx, 0x14848565
sub ecx, edx
add eax, ecx
mov edx, eax
xor edx, 0xffffffff
and edx, 0xfbe71166
mov r8d, 0xffffffff
xor r8d, 0xfbe71166
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0xfbe71166
or eax, 0xfbe71166
imul eax, edx
add eax, ecx
add eax, 0x13fdfd3c
cmp eax, 0x1b012967
jbe 0x14008ee55
mov r8, qword [rsp + 0xc0]
mov eax, dword [0x14024f2a0]
xor eax, 0xc47c348f
and eax, dword [0x14024f2a4]
mov ecx, eax
xor ecx, 0xd848088c
mov edx, 0x252585bb
xor edx, 0xdada7a44
xor ecx, edx
and ecx, 0xd848088c
shl ecx, 1
sub ecx, 0xd848088c
sub eax, ecx
mov ecx, 0x44018e09
xor ecx, 0xe05ed724
xor edx, edx
div ecx
mov rdx, qword [rsp + 0xe8]
mov ecx, 0xc118dc5d
xor ecx, 0xd327a73c
add eax, ecx
mov ecx, 0x571e2d3
xor ecx, 0x48a4d449
mov r9, qword [r8]
mov qword [rsp + 0x88], r9
add r8, 8
mov qword [rsp + 0x90], r8
cmp rdx, 0xffffffffffffffff
setg dl
mov byte [rsp + 0x9f], dl
cmp eax, ecx
ja 0x14008ee55
mov rax, qword [rsp + 0xe8]
mov qword [rsp + 0x80], rax
jmp 0x14008e6da
mov rcx, qword [rsp + 0x88]
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x78], rax
cmp rax, rcx
mov qword [rsp + 0xa0], rax
jge 0x14008e8f8
mov al, byte [rsp + 0x9f]
test al, 1
jne 0x14008e870
jmp 0x14008e714
mov eax, dword [0x14024f2a8]
xor eax, 0x70b538aa
mov edx, dword [0x14024f2ac]
mov ecx, 0xd0bfbf
xor ecx, 0xff2f4040
xor edx, ecx
mov ecx, eax
xor ecx, edx
and ecx, eax
sub ecx, 0xd30b7d45
mov eax, ecx
xor eax, 0xffffffff
mov edx, ecx
xor edx, 0xffffffff
or eax, edx
and eax, 0x2a58263d
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x2a58263d
mov r8d, 0xffffffff
xor r8d, 0x2a58263d
or edx, r8d
and ecx, edx
xor ecx, 0xffffffff
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
and eax, 0x2a348a32
cmp eax, 0xd655ecc5
ja 0x14008ee5e
mov rcx, qword [rsp + 0x78]
mov rdx, qword [rsp + 0x88]
mov eax, dword [0x14024f2b0]
mov r9d, dword [0x14024f2b4]
xor r9d, 0xc485748
xor r8d, r8d
sub r8d, r9d
add eax, r8d
mov r8d, 0xc33fcd26
xor r8d, 0x51dae95a
add eax, r8d
mov r8d, 0xa0178ccf
xor r8d, 0x525c2264
xor eax, r8d
mov r10d, 0xffffffff
xor r10d, 0x8c8307d5
mov r9d, eax
and r9d, r10d
mov r8d, eax
or r8d, r10d
xor r8d, 0xffffffff
imul r8d, r9d
mov r9d, eax
and r9d, 0x8c8307d5
mov r10d, 0xe8d87c75
xor r10d, 0x645b7ba0
or eax, r10d
imul eax, r9d
add eax, r8d
mov dword [rsp + 0x74], eax
movabs rax, 0x2935506688addfc7
movabs r8, 0x2935506688addfc7
xor rax, r8
sub rax, rdx
xor edx, edx
sub rdx, 0xffffffffffffffff
add rax, rdx
movabs rdx, 0xd66a5ee8ee801c4
movabs r8, 0xd66a5ee8ee801c4
xor rdx, r8
sub rdx, rax
call fcn.14001284c
mov eax, dword [rsp + 0x74]
cmp eax, 0x8c6e9dd4
ja 0x14008ee5e
jmp 0x14008ee3b
mov rax, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x90]
mov rcx, qword [rcx]
mov cl, byte [rcx + rax + 8]
mov byte [rsp + 0x73], cl
sub cl, 0x2f
mov qword [rsp + 0xa0], rax
je 0x14008e8f8
jmp 0x14008e89e
mov rax, qword [rsp + 0x78]
mov cl, byte [rsp + 0x73]
sub cl, 0x5c
mov qword [rsp + 0xa0], rax
je 0x14008e8f8
jmp 0x14008e8bd
mov rcx, qword [rsp + 0xe0]
mov rax, qword [rsp + 0x78]
movabs rdx, 0x8dff74f952bd47b5
add rax, rdx
add rax, 1
movabs rdx, 0x8dff74f952bd47b5
sub rax, rdx
mov qword [rcx], rax
mov qword [rsp + 0x80], rax
jmp 0x14008e6da
mov rax, qword [rsp + 0xe8]
mov rcx, qword [rsp + 0xa0]
mov qword [rsp + 0x68], rcx
cmp rax, rcx
jge 0x14008ea8f
mov rax, qword [rsp + 0x68]
mov rdx, rax
dec rdx
mov qword [rsp + 0x60], rdx
mov r8, rax
neg r8
mov rcx, rax
and rcx, r8
mov r8, rax
not r8
and rdx, r8
or rcx, rdx
sets dl
test rax, rax
setg al
setle cl
or cl, dl
add al, cl
inc al
test al, 1
jne 0x14008e95d
jmp 0x14008e967
call fcn.140008c92
jmp 0x14008ee3b
mov eax, dword [0x14024f2b8]
mov ecx, dword [0x14024f2bc]
mov edx, 0x9053106d
xor edx, 0xfc06390e
xor ecx, edx
xor eax, ecx
mov edx, eax
xor edx, 0xffffffff
and edx, 0xae872a28
mov r8d, 0x6d9f1205
xor r8d, 0xc318382d
mov ecx, 0x4dda95ee
xor ecx, 0xb2256a11
xor r8d, ecx
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov r8d, 0xaae927f1
xor r8d, 0x46e0dd9
mov edx, eax
and edx, r8d
or eax, 0xae872a28
imul eax, edx
add eax, ecx
mov edx, eax
xor edx, 0xffffffff
and edx, 0x44c11861
mov r8d, 0xffffffff
xor r8d, 0x44c11861
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x44c11861
mov r8d, 0x2d44da20
xor r8d, 0x6985c241
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, 0x1565521b
xor edx, edx
div ecx
mov ecx, 0xdd3dca39
xor ecx, 0x997eff85
cmp eax, ecx
je 0x14008ee67
mov rcx, qword [rsp + 0xd0]
mov r8, qword [rsp + 0xe8]
mov eax, dword [0x14024f2c0]
or eax, dword [0x14024f2c4]
imul eax, eax, 0x1ea0d06d
sub eax, 0x42d6760b
mov edx, 0xb6cff0e
xor edx, 0x1a8ac378
add eax, edx
add eax, 0x42d6760b
mov r9d, 0x114d14a7
xor edx, edx
div r9d
mov rdx, qword [rsp + 0x60]
mov qword [rcx], r8
mov qword [rcx + 8], rdx
cmp eax, 0x7dc8a88
je 0x14008ea25
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x58], rax
jmp 0x14008eb40
mov rax, qword [rsp + 0xd8]
mov rcx, qword [rsp + 0x68]
mov rdx, qword [rsp + 0xc0]
mov rdx, qword [rdx]
sub rcx, rdx
setge cl
mov al, byte [rax]
test al, al
setne al
mov byte [rsp + 0x57], al
or al, cl
test al, 1
jne 0x14008eb24
mov rdx, qword [rsp + 0xe0]
mov rcx, qword [rsp + 0xd0]
mov rax, qword [rsp + 0xc0]
mov r8, qword [rax]
mov qword [rsp + 0x100], r8
mov rax, qword [rax + 8]
mov qword [rsp + 0x108], rax
lea r8, [rsp + 0x100]
call fcn.14008e2f0
mov rax, qword [rsp + 0xd8]
cmp byte [rax], 0
jne 0x14008ee3b
mov rax, qword [rsp + 0xe0]
mov rax, qword [rax]
mov qword [rsp + 0x58], rax
jmp 0x14008eb40
mov rax, qword [rsp + 0x68]
mov cl, byte [rsp + 0x57]
test cl, 1
mov qword [rsp + 0x58], rax
jne 0x14008ee3b
jmp 0x14008eb40
mov rcx, qword [rsp + 0xc0]
mov rax, qword [rsp + 0x58]
mov rdx, qword [rcx]
mov qword [rsp + 0x30], rdx
add rcx, 8
mov qword [rsp + 0x38], rcx
movabs rcx, 0xc513ba354649067
movabs rdx, 0xf3aec45cab9b6f98
xor rcx, rdx
cmp rax, rcx
setg cl
mov byte [rsp + 0x47], cl
mov qword [rsp + 0x48], rax
mov rcx, qword [rsp + 0x30]
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x28], rax
cmp rax, rcx
jge 0x14008ee2c
mov eax, dword [0x14024f2c8]
or eax, dword [0x14024f2cc]
mov ecx, 0xb5cd75b7
xor ecx, 0x5c6333ad
xor edx, edx
div ecx
mov ecx, 0xc1e58a40
xor ecx, 0x9c13bd12
and eax, ecx
mov ecx, 0xe0fb0e70
xor ecx, 0x1fd86e66
and eax, ecx
mov ecx, 0x3ad9da88
xor ecx, 0xe075cba5
cmp eax, ecx
jae 0x14008ee70
mov eax, dword [0x14024f2d0]
mov edx, dword [0x14024f2d4]
xor ecx, ecx
sub ecx, edx
add eax, ecx
xor eax, 0x63e5d0fe
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, 0x8796a65f
add ecx, eax
xor eax, eax
sub eax, ecx
add eax, 0x81dc76d8
cmp eax, 0xb968e9f0
je 0x14008ebe4
mov al, byte [rsp + 0x47]
test al, 1
jne 0x14008ec7f
jmp 0x14008ec2d
mov rcx, qword [rsp + 0x28]
mov rdx, qword [rsp + 0x30]
movabs r8, 0x45e3053c2185dd7c
movabs rax, 0xba1cfac3de7a2283
xor r8, rax
mov rax, rdx
and rax, r8
shl rax, 1
movabs r8, 0x9972ee7f31310315
movabs r9, 0x668d1180cecefcea
xor r8, r9
xor rdx, r8
add rdx, rax
call fcn.14001284c
jmp 0x14008ee3b
mov eax, dword [0x14024f2d8]
xor eax, 0x316ddd29
mov edx, dword [0x14024f2dc]
xor edx, 0xf0016ccd
xor ecx, ecx
sub ecx, eax
mov eax, 0xcb176a6d
xor eax, 0xcb176a6d
sub eax, edx
add ecx, eax
xor eax, eax
sub eax, ecx
mov ecx, 0xe4287b45
xor ecx, 0x7ba9d6a5
xor edx, edx
div ecx
mov ecx, eax
mov edx, 0x78d72155
xor edx, 0x8728deaa
mov eax, ecx
xor eax, edx
xor ecx, 0xffffffff
and eax, ecx
mov ecx, 0x52872e98
or ecx, 0x52872e98
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0x35937d7f
xor ecx, 0xca6c8280
xor eax, ecx
mov ecx, eax
and ecx, 0xdab93b11
xor ecx, 0xffffffff
add eax, 0xdab93b11
add eax, 1
add eax, ecx
cmp eax, 0x71912bee
jb 0x14008ee79
mov r8, qword [rsp + 0x28]
mov rdx, qword [rsp + 0x38]
mov eax, dword [0x14024f2e0]
imul eax, dword [0x14024f2e4]
mov r10d, 0xffffffff
xor r10d, 0xcea25c84
mov r9d, eax
and r9d, r10d
mov ecx, eax
or ecx, r10d
xor ecx, 0xffffffff
imul ecx, r9d
mov r10d, 0xfe8f7a27
xor r10d, 0x302d26a3
mov r9d, eax
and r9d, r10d
or eax, 0xcea25c84
imul eax, r9d
add eax, ecx
mov ecx, 0x71a16330
xor ecx, 0xc5de752a
and eax, ecx
mov r10d, 0xffffffff
xor r10d, 0xc4f22e6c
mov r9d, eax
and r9d, r10d
mov ecx, eax
or ecx, r10d
mov r10d, 0x70bdd8e0
xor r10d, 0x8f42271f
xor ecx, r10d
imul ecx, r9d
mov r10d, 0x89e09ca
xor r10d, 0xcc6c27a6
mov r9d, eax
and r9d, r10d
or eax, 0xc4f22e6c
imul eax, r9d
add eax, ecx
mov ecx, 0xa6c26df5
xor ecx, 0xf4e143aa
mov rdx, qword [rdx]
mov dl, byte [rdx + r8 + 8]
mov byte [rsp + 0x27], dl
cmp eax, ecx
jb 0x14008ee79
mov al, byte [rsp + 0x27]
sub al, 0x2f
je 0x14008edfa
jmp 0x14008ede9
mov al, byte [rsp + 0x27]
sub al, 0x5c
jne 0x14008ee2c
jmp 0x14008edfa
mov rcx, qword [rsp + 0xe0]
mov rax, qword [rsp + 0x28]
mov rdx, 0xffffffffffffffff
xor rdx, 1
xor r8d, r8d
sub r8, 1
sub rdx, r8
sub rax, rdx
mov qword [rcx], rax
mov qword [rsp + 0x48], rax
jmp 0x14008eb84
mov rax, qword [rsp + 0xf0]
mov cl, 0x22
xor cl, 0x23
mov byte [rax], cl
mov rax, qword [rsp + 0xc8]
add rsp, 0x110
pop rsi
ret
ret 0x8d5e
invalid
mov dword [rdi], esp
int1
jmp 0x14008e78a
and ebp, dword [0xf5f227f7]
sti
invalid
popfq
push rsi
or byte [rcx + rbp*8 - 0x295], al
stosd dword [rdi], eax
add al, 0xe3
loope 0x14008ee67
invalid