Function at 0x14008d2c0
Capabilities:
Encode data using xor

Disassembly:
push rsi
sub rsp, 0xd0
mov dword [rsp + 0x94], edx
mov qword [rsp + 0x98], rcx
mov rax, qword [0x14028d330]
mov ecx, dword [rax]
call fcn.14000efc9
mov rcx, qword [rsp + 0x98]
add rax, 0x60
mov qword [rsp + 0xa0], rax
mov rax, qword [rcx]
mov qword [rsp + 0xa8], rax
mov rax, rcx
add rax, 8
mov qword [rsp + 0xb0], rax
mov rax, qword [rcx + 8]
mov qword [rsp + 0xb8], rax
mov rax, qword [0x14028d330]
mov ecx, dword [rax]
call fcn.14000efc9
mov qword [rsp + 0xc0], rax
mov rax, qword [0x14028d330]
mov ecx, dword [rax]
call fcn.14000efc9
mov rax, qword [0x14028d330]
mov ecx, dword [rax]
call fcn.14000efc9
mov rcx, rax
mov rax, qword [rsp + 0xc0]
mov qword [rsp + 0xc8], rcx
cmp byte [rax + 0x60], 0
jne 0x14008d7bf
mov eax, dword [0x1402761a0]
xor edx, edx
div dword [0x1402761a4]
mov ecx, eax
mov eax, 0xffffffff
xor eax, 0xaafe8e7
add ecx, eax
add ecx, 1
mov eax, 0x1dc413c4
xor eax, 0xb20f56a8
add ecx, eax
mov edx, 0x5629b03
xor edx, 0x9e1a9415
mov eax, ecx
and eax, edx
or ecx, 0x9b780f16
add eax, ecx
cmp eax, 0xdf53b772
ja 0x14008d99b
mov rcx, qword [rsp + 0xa8]
mov eax, dword [rsp + 0x94]
mov rdx, qword [rsp + 0xc8]
mov r8d, dword [0x1402761a8]
mov r9d, dword [0x1402761ac]
sub r8d, r9d
and r8d, 0xee3eb7ba
xor r8d, 0x6148132
imul r8, r8, 0x47230d85
shr r8, 0x3e
mov dword [rsp + 0x84], r8d
mov r9b, byte [rdx + 0x60]
xor edx, edx
mov r10b, dl
cdqe
movabs rdx, 0xe7037ed1a0b428db
xor rax, rdx
movabs rdx, 0xa0761d6478bd642f
mul rdx
xor rax, rdx
mov qword [rsp + 0x78], rax
mov rdx, rax
not rdx
movabs r11, 0xeb44accab455d16d
and rdx, r11
movabs r8, 0x14bb53354baa2e92
and rax, r8
mul rdx
mov rsi, rax
mov rax, qword [rsp + 0x78]
mov r8, rdx
mov rdx, rax
and rdx, r11
or rax, r11
mul rdx
mov r11, rax
mov eax, dword [rsp + 0x84]
add r11, rsi
adc rdx, r8
mov r8, rdx
and r8, r11
or rdx, r11
not r8
and r8, rdx
xor edx, edx
cmp r9b, r10b
cmove rdx, r8
movabs r9, 0x563c27fdca897bdf
movabs r8, 0x563c27fdca897bdf
xor r9, r8
movabs r8, 0xbaa23a808cf02755
movabs r10, 0xbaa23a80e4decb52
xor r8, r10
cmp rdx, r9
cmove rdx, r8
mov qword [rsp + 0x88], rdx
movabs rdx, 0x9ad6727fc72a9017
movabs r8, 0x9ad6727fc72a9017
xor rdx, r8
cmp rcx, rdx
sete cl
mov byte [rsp + 0x93], cl
cmp eax, 0x94dda59d
je 0x14008d3bb
mov cl, byte [rsp + 0x93]
mov rax, 0xffffffffffffffff
test cl, 1
mov qword [rsp + 0x70], rax
jne 0x14008d7bf
jmp 0x14008d520
mov r8, qword [rsp + 0xa8]
mov rax, qword [rsp + 0x88]
mov rcx, r8
dec rcx
mov qword [rsp + 0x60], rcx
and rax, rcx
test rax, rax
setns cl
mov rdx, rax
sub rdx, r8
setl dl
and cl, dl
test cl, 1
mov qword [rsp + 0x68], rax
jne 0x14008d57d
mov rdx, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x68]
call fcn.1400292ad
mov rax, 0xffffffffffffffff
mov qword [rsp + 0x70], rax
jmp 0x14008d7bf
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x58], rax
mov eax, dword [0x1402761b0]
xor eax, 0x8cfb40ac
xor eax, dword [0x1402761b4]
mov ecx, eax
xor ecx, 0xffffffff
xor eax, 0xffffffff
or ecx, eax
mov eax, 0xffffffff
xor eax, 0xcf1b72fa
mov edx, 0xffffffff
xor edx, 0xcf1b72fa
or eax, edx
and ecx, eax
xor ecx, 0xffffffff
mov eax, ecx
xor eax, 0xffffffff
mov edx, 0x48ce58bd
xor edx, 0xb731a742
xor ecx, edx
and eax, ecx
mov ecx, 0x1f66f111
xor ecx, 0x56115e97
mov edx, 0x17481f38
xor edx, 0x5e3fb0be
or ecx, edx
mov edx, 0xbc3aff13
xor edx, 0x43c500ec
xor ecx, edx
or eax, ecx
mov ecx, 0x41c81349
xor ecx, 0xbe37ecb6
xor eax, ecx
imul eax, eax, 0xec93b126
mov ecx, 0x471836c2
xor ecx, 0x39a1eb63
cmp eax, ecx
je 0x14008d9a4
mov r8, qword [rsp + 0x58]
mov rdx, qword [rsp + 0xb8]
mov ecx, dword [0x1402761b8]
mov r9d, dword [0x1402761bc]
mov r10d, 0xd617e8ff
xor r10d, 0x29e81700
mov eax, ecx
xor eax, r10d
mov r11d, 0x9a8d4422
xor r11d, 0x6572bbdd
mov r10d, ecx
xor r10d, r11d
or eax, r10d
xor eax, 0xffffffff
mov r10d, r9d
xor r10d, 0xffffffff
or eax, r10d
and r9d, r9d
xor r9d, 0xffffffff
and ecx, r9d
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0xffffffff
and eax, 0xf64e7d6e
xor ecx, ecx
sub ecx, 0xaae42ebd
sub eax, ecx
mov ecx, eax
xor ecx, 0x906ee48b
xor ecx, 0xffffffff
and ecx, 0x906ee48b
shl ecx, 1
mov r9d, 0x6df1e474
xor r9d, 0xfd9f00ff
sub ecx, r9d
sub eax, ecx
mov ecx, 0x729c9739
xor ecx, 0x2ceeff58
add rdx, 8
imul r8, r8, 0x18
add rdx, r8
mov rdx, qword [rdx]
mov qword [rsp + 0x48], rdx
movabs r8, 0x6d2c8c587a095e8
movabs r9, 0x6d2c8c587a095e8
xor r8, r9
cmp rdx, r8
sete dl
mov byte [rsp + 0x57], dl
cmp eax, ecx
jae 0x14008d61f
mov al, byte [rsp + 0x57]
test al, 1
jne 0x14008d78c
jmp 0x14008d70d
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x88]
cmp rax, rcx
jne 0x14008d753
mov rax, qword [rsp + 0x58]
mov edx, dword [rsp + 0x94]
mov rcx, qword [rsp + 0xb8]
add rcx, 8
imul r8, rax, 0x18
add rcx, r8
add rcx, 8
cmp dword [rcx], edx
mov qword [rsp + 0x70], rax
je 0x14008d7bf
mov r8, qword [rsp + 0xa8]
mov rcx, qword [rsp + 0x60]
mov rax, qword [rsp + 0x58]
inc rax
and rax, rcx
setns cl
mov rdx, rax
sub rdx, r8
setl dl
and cl, dl
test cl, 1
mov qword [rsp + 0x68], rax
jne 0x14008d57d
jmp 0x14008d55d
mov rax, qword [rsp + 0x58]
mov rdx, rax
and rdx, 0xffffffffffffffff
movabs rcx, 0x69c60396b174e937
movabs r8, 0x69c60396b174e935
xor rcx, r8
imul rcx, rdx
add rax, 0xffffffffffffffff
sub rax, rcx
mov qword [rsp + 0x70], rax
mov rcx, qword [rsp + 0xa0]
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x38], rax
xor eax, eax
cmp byte [rcx], 0
mov qword [rsp + 0x40], rax
jne 0x14008d98d
mov rax, qword [rsp + 0x38]
cmp rax, 0xffffffffffffffff
jle 0x14008d97a
mov ecx, dword [0x1402761c0]
add ecx, dword [0x1402761c4]
mov edx, 0xffffffff
xor edx, 0x6b19f11
mov eax, ecx
and eax, edx
mov edx, ecx
xor edx, 0x6b19f11
add ecx, edx
sub ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x997e0670
and eax, edx
or ecx, 0x997e0670
mov edx, 0x966ecc22
xor edx, 0x699133dd
xor ecx, edx
xor eax, 0xffffffff
mov edx, 0x901cb5f3
xor edx, 0x6fe34a0c
xor ecx, edx
and eax, ecx
mov ecx, 0x21a72b01
xor edx, edx
div ecx
mov ecx, 0x7e7e8a2f
xor ecx, 0xfdc8a4dd
cmp eax, ecx
je 0x14008d9ad
mov rdx, qword [rsp + 0x38]
mov r8, qword [rsp + 0x98]
mov ecx, dword [0x1402761c8]
xor ecx, 0x8b64e4a1
mov eax, dword [0x1402761cc]
xor eax, 0xffffffff
xor r9d, r9d
sub r9d, 1
sub eax, r9d
sub ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov r9d, 0xfc51c147
xor r9d, 0x3ae3eb8
xor ecx, r9d
and eax, ecx
mov ecx, 0xffffffff
xor ecx, 0x2460c1ea
mov r9d, 0xffffffff
xor r9d, 0x2460c1ea
and ecx, r9d
or eax, ecx
mov ecx, 0x7f12cd06
xor ecx, 0x80ed32f9
xor eax, ecx
xor ecx, ecx
sub ecx, 0x2bc95781
add eax, ecx
add eax, 0x57ac8eda
mov ecx, 0x965e823d
xor ecx, 0x80819c55
mov r8, qword [r8]
mov qword [rsp + 0x28], r8
cmp rdx, r8
setl dl
mov byte [rsp + 0x37], dl
cmp eax, ecx
je 0x14008d86a
mov al, byte [rsp + 0x37]
test al, 1
jne 0x14008d951
jmp 0x14008d91e
mov rcx, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x28]
mov rax, 0xffffffffffffffff
xor rax, 0xffffffffffffffff
xor r8d, r8d
sub r8, 1
sub rax, r8
sub rdx, rax
call fcn.1400292ad
xor eax, eax
mov qword [rsp + 0x40], rax
jmp 0x14008d98d
mov rcx, qword [rsp + 0x38]
mov rax, qword [rsp + 0xb0]
mov rax, qword [rax]
add rax, 8
imul rcx, rcx, 0x18
add rax, rcx
add rax, 0x10
mov qword [rsp + 0x40], rax
jmp 0x14008d98d
mov ecx, dword [rsp + 0x94]
call fcn.14008ca30
xor eax, eax
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
add rsp, 0xd0
pop rsi
ret
test byte [rcx + 0x17e93f96], 0xfa
invalid
popfq
rol al, 0x33
jmp 0x14008d61f
pop rbx
imul ebx, esi, 0x2d
jmp 0x14008d86a