Function at 0x14008dd90
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0x130
lea rbp, [rsp + 0x80]
mov qword [rbp], rdx
mov qword [rbp + 0x10], rcx
mov eax, 0x20
call fcn.1401c7680
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x20], rax
mov eax, 0x10
mov qword [rbp - 0x18], rax
call fcn.1401c7680
sub rsp, rax
mov rax, qword [rbp - 0x18]
mov rcx, rsp
mov qword [rbp + 8], rcx
call fcn.1401c7680
sub rsp, rax
mov rax, qword [rbp - 0x18]
mov rcx, rsp
mov qword [rbp + 0x18], rcx
call fcn.1401c7680
sub rsp, rax
mov rax, qword [rbp - 0x18]
mov rcx, rsp
mov qword [rbp - 0x10], rcx
call fcn.1401c7680
sub rsp, rax
mov rax, rsp
mov qword [rbp - 8], rax
sub rsp, 0x20
call fcn.14008cf1f
mov rcx, qword [rbp]
add rsp, 0x20
mov qword [rbp + 0x38], rax
sub rsp, 0x20
call fcn.14008cf3a
mov rcx, qword [rbp + 0x20]
call fcn.14008cf3a
mov r8, qword [rbp + 8]
mov rax, qword [rbp + 0x10]
mov rcx, qword [rbp + 0x18]
mov rdx, qword [rbp + 0x20]
add rsp, 0x20
mov qword [rbp + 0xa0], 0
lea r9, [rbp + 0xa0]
add r9, 8
mov qword [rbp + 0x28], r9
mov qword [rbp + 0xa8], 0
mov qword [r8], 0
mov r9, r8
add r9, 8
mov qword [rbp + 0x30], r9
mov qword [r8 + 8], 0
mov r8, qword [rax]
mov qword [rcx], r8
mov rax, qword [rax + 8]
mov qword [rcx + 8], rax
sub rsp, 0x20
call fcn.1400823b0
mov rax, qword [rbp + 0x38]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0x8e
xor cl, 0x8e
cmp al, cl
jne 0x14008e33f
mov rcx, qword [rbp + 0x20]
mov rax, qword [rcx]
mov qword [rbp + 0xa0], rax
mov rax, qword [rcx + 8]
mov qword [rbp + 0xa8], rax
sub rsp, 0x20
call fcn.14000f979
mov rdx, qword [rbp + 0x20]
mov rax, qword [rbp + 8]
add rsp, 0x20
mov rcx, rdx
add rcx, 0x10
mov r8, qword [rdx + 0x10]
mov qword [rax], r8
mov rdx, qword [rdx + 0x18]
mov qword [rax + 8], rdx
sub rsp, 0x20
call fcn.14000f979
mov rax, qword [rbp + 0x10]
add rsp, 0x20
mov rcx, qword [rbp + 0xa0]
mov qword [rbp - 0x30], rcx
mov r8, qword [rax]
mov qword [rbp - 0x28], r8
movabs rcx, 0x1da1b4dd8c3d7a1e
movabs rax, 0xe25e4b2273c285e1
xor rcx, rax
mov rax, r8
add rax, rcx
mov qword [rbp - 0x20], rax
mov rdx, rax
xor rdx, 0xffffffffffffffff
mov rcx, r8
and rcx, rdx
xor r8, 0xffffffffffffffff
mov rdx, rax
and rdx, r8
or rcx, rdx
cmp rcx, 0
setl cl
movabs rdx, 0x364c9b972dbe4277
movabs r8, 0xc9b36468d241bd88
xor rdx, r8
cmp rax, rdx
setg al
and al, cl
test al, 1
jne 0x14008dfb4
mov rax, qword [rbp - 0x20]
mov rcx, qword [rbp + 0x10]
add rcx, 8
mov qword [rbp - 0x48], rcx
mov rcx, rax
sub rcx, 0xffffffffffffffff
mov rcx, 0xffffffffffffffff
cmovl rcx, rax
mov qword [rbp - 0x40], rcx
mov qword [rbp - 0x38], rax
jmp 0x14008e0ed
mov eax, dword [0x1401cc2f8]
imul eax, dword [0x1401cc2fc]
imul eax, eax, 0xaac98d98
mov ecx, eax
and ecx, 0x64e6fa10
shl ecx, 1
mov edx, 0xa7c4651e
xor edx, 0xc3229f0e
xor eax, edx
add eax, ecx
add eax, 0x4d0bcbf4
cmp eax, 0x717e5710
jbe 0x14008e530
mov eax, dword [0x1401cc300]
mov ecx, dword [0x1401cc304]
mov r11d, eax
and r11d, ecx
xor eax, ecx
or r11d, eax
mov eax, 0xa2bb1d1a
xor eax, 0x5d44e2e5
mov ecx, r11d
xor ecx, eax
mov edx, 0xffffffff
xor edx, 0xc75b4720
mov r8d, 0xffffffff
xor r8d, 0x662ed3b6
mov eax, ecx
and eax, 0x662ed3b6
and r11d, r8d
mov r10d, 0x3a6ff023
xor r10d, 0x5c412395
mov r9d, edx
and r9d, r10d
mov r10d, r8d
and r10d, 0xc75b4720
or eax, r11d
or r9d, r10d
xor eax, r9d
or ecx, edx
mov edx, 0x4010083c
xor edx, 0xbfeff7c3
xor ecx, edx
mov edx, 0x4618836d
xor edx, 0x203650db
or edx, r8d
and ecx, edx
or eax, ecx
mov r8d, 0xddb24336
xor r8d, 0x509d7de0
mov ecx, 0xd8d7474
xor ecx, 0xf2728b8b
xor r8d, ecx
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x8d2f3ed6
or eax, 0x8d2f3ed6
imul eax, edx
add eax, ecx
mov ecx, 0x4089d76
xor ecx, 0xa995566a
or eax, ecx
mov dword [rbp - 0x4c], eax
sub rsp, 0x20
call fcn.140008024
mov eax, dword [rbp - 0x4c]
add rsp, 0x20
cmp eax, 0x5098ea6
jbe 0x14008dff1
jmp 0x14008e33f
mov rax, qword [rbp - 0x30]
mov rcx, qword [rbp - 0x38]
mov qword [rbp - 0x58], rcx
cmp rax, rcx
jg 0x14008e2cc
mov rax, qword [rbp - 0x40]
mov rcx, qword [rbp - 0x58]
cmp rcx, 0
mov qword [rbp - 0x60], rax
jl 0x14008e12d
mov rax, qword [rbp - 0x58]
mov rcx, qword [rbp - 0x28]
cmp rax, rcx
mov qword [rbp - 0x60], rax
jl 0x14008e147
mov rdx, qword [rbp - 0x20]
mov rcx, qword [rbp - 0x60]
sub rsp, 0x20
call fcn.1400122ad
add rsp, 0x20
jmp 0x14008e33f
mov rcx, qword [rbp - 0x58]
mov rax, qword [rbp - 0x48]
mov rax, qword [rax]
mov al, byte [rax + rcx + 8]
mov byte [rbp - 0x61], al
sub al, 0x2f
je 0x14008e1f4
jmp 0x14008e166
mov al, byte [rbp - 0x61]
sub al, 0x5c
je 0x14008e1f4
jmp 0x14008e176
mov rcx, qword [rbp - 0x58]
movabs rdx, 0x8b6f153ad462b964
movabs rax, 0x7490eac52b9d469b
xor rdx, rax
movabs rax, 0x3233c6531f770ce0
movabs r8, 0xcdcc39ace088f31f
xor rax, r8
xor rdx, rax
xor eax, eax
sub rax, 1
sub rdx, rax
mov rax, rcx
sub rax, rdx
mov rdx, rax
xor rdx, rcx
cmp rdx, 0
setl dl
cmp rcx, 0
setne cl
and cl, dl
test cl, 1
mov qword [rbp - 0x38], rax
jne 0x14008e1e2
jmp 0x14008e0ed
sub rsp, 0x20
call fcn.140008024
add rsp, 0x20
jmp 0x14008e33f
mov rax, qword [rbp + 0x10]
mov r9, qword [rbp - 0x58]
mov rcx, qword [rbp - 0x10]
xor edx, edx
sub r9, 1
cmovb r9, rdx
mov rdx, qword [rax]
mov qword [rbp + 0x90], rdx
mov rax, qword [rax + 8]
mov qword [rbp + 0x98], rax
lea rdx, [rbp + 0x90]
xor eax, eax
mov r8d, eax
sub rsp, 0x20
call fcn.140019d8c
mov rax, qword [rbp - 0x10]
mov rcx, qword [rbp]
add rsp, 0x20
mov rdx, qword [rax]
mov rax, qword [rax + 8]
mov qword [rbp + 0x80], rdx
mov qword [rbp + 0x88], rax
lea rdx, [rbp + 0x80]
sub rsp, 0x20
call fcn.140013b10
mov r8, qword [rbp - 0x58]
mov rax, qword [rbp + 0x10]
add rsp, 0x20
xor ecx, ecx
sub rcx, 1
sub r8, rcx
mov rcx, qword [rax]
mov qword [rbp + 0x60], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x68], rax
lea rcx, [rbp + 0x70]
lea rdx, [rbp + 0x60]
sub rsp, 0x20
call fcn.14002328d
mov rcx, qword [rbp]
add rsp, 0x20
mov rdx, qword [rbp + 0x70]
mov rax, qword [rbp + 0x78]
add rcx, 0x10
mov qword [rbp + 0x50], rdx
mov qword [rbp + 0x58], rax
lea rdx, [rbp + 0x50]
sub rsp, 0x20
call fcn.140013b10
add rsp, 0x20
jmp 0x14008e33f
mov rcx, qword [rbp]
mov rax, qword [rbp + 0xa0]
mov qword [rbp + 0x40], rax
mov rax, qword [rbp + 0xa8]
mov qword [rbp + 0x48], rax
lea rdx, [rbp + 0x40]
sub rsp, 0x20
call fcn.140013b10
add rsp, 0x20
lea rcx, [rbp + 0xa0]
sub rsp, 0x20
call fcn.14000f979
mov rcx, qword [rbp]
mov rdx, qword [rbp - 8]
mov rax, qword [rbp + 8]
add rsp, 0x20
add rcx, 0x10
mov r8, qword [rax]
mov qword [rdx], r8
mov rax, qword [rax + 8]
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.140013b10
mov rcx, qword [rbp + 8]
call fcn.14000f979
add rsp, 0x20
mov rax, qword [rbp + 0x30]
mov rcx, qword [rbp + 0x38]
mov dl, byte [rcx]
mov byte [rbp - 0x71], dl
mov byte [rcx], 0
mov rax, qword [rax]
mov qword [rbp - 0x70], rax
cmp rax, 0
je 0x14008e39c
mov rax, qword [rbp - 0x70]
mov rax, qword [rax]
movabs rcx, 0xaf075baf863f65ad
movabs rdx, 0xef075baf863f65ad
xor rcx, rdx
and rax, rcx
cmp rax, 0
jne 0x14008e39c
mov rcx, qword [rbp - 0x70]
sub rsp, 0x20
call fcn.14000e572
add rsp, 0x20
mov rax, qword [rbp + 0x28]
mov rax, qword [rax]
mov qword [rbp - 0x80], rax
cmp rax, 0
je 0x14008e3f3
mov rcx, qword [rbp - 0x80]
movabs rax, 0x4000000000000000
and rax, qword [rcx]
movabs rcx, 0x36df8cd878efea5f
movabs rdx, 0x36df8cd878efea5f
xor rcx, rdx
cmp rax, rcx
jne 0x14008e3f3
mov rcx, qword [rbp - 0x80]
sub rsp, 0x20
call fcn.14000e572
add rsp, 0x20
mov rcx, qword [rbp + 0x20]
sub rsp, 0x20
call fcn.14005e3c0
mov rax, qword [rbp + 0x38]
add rsp, 0x20
cmp byte [rax], 0
jne 0x14008e527
mov r11d, dword [0x1401cc308]
mov eax, 0xcc4674ca
xor eax, 0xfb72c494
xor r11d, eax
mov ecx, dword [0x1401cc30c]
mov eax, r11d
xor eax, ecx
xor eax, 0xffffffff
or r11d, ecx
and r11d, eax
mov eax, 0x466103b5
xor eax, 0xb99efc4a
mov ecx, r11d
xor ecx, eax
mov r8d, 0xffffffff
xor r8d, 0xfb75612b
mov edx, 0xe05bf811
xor edx, 0x3b40bf9c
mov eax, 0xfa48ffce
xor eax, 0x5b70031
xor edx, eax
mov eax, ecx
and eax, 0xdb1b478d
and r11d, edx
mov r9d, r8d
and r9d, 0xdb1b478d
mov r10d, edx
and r10d, 0xfb75612b
or eax, r11d
or r9d, r10d
xor eax, r9d
or ecx, r8d
mov r8d, 0xfb7cc530
xor r8d, 0x4833acf
xor ecx, r8d
or edx, 0xdb1b478d
and ecx, edx
or eax, ecx
xor eax, 0xef31991
mov ecx, 0x883c1a81
xor ecx, 0xe49a4624
imul eax, ecx
mov ecx, 0xe9a397bb
xor ecx, 0xb64b4af8
cmp eax, ecx
ja 0x14008e539
mov rcx, qword [rbp + 0x38]
mov eax, dword [0x1401cc310]
xor edx, edx
div dword [0x1401cc314]
or eax, 0x27f432ec
mov r8d, 0x9c70f833
xor edx, edx
div r8d
mov dl, byte [rbp - 0x71]
add eax, 0xdce2393b
sub eax, 0x34ef123d
mov r8d, 0x10355356
xor r8d, 0xccd76a6d
sub eax, r8d
mov byte [rcx], dl
cmp eax, 0x1b8e1949
jb 0x14008e4d6
jmp 0x14008e527
lea rsp, [rbp + 0xb0]
pop rbp
ret
fstp qword [rbp + 0x21]
and ebp, ecx
mov eax, 0x8efffffa
invalid
mov es, ebp
invalid