Function at 0x14002f5e0
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x78
mov qword [rsp + 0x58], rcx
call fcn.14000b9ba
mov rcx, qword [rsp + 0x58]
add rax, 0x50
mov qword [rsp + 0x60], rax
add rcx, 8
mov qword [rsp + 0x68], rcx
xor eax, eax
mov qword [rsp + 0x70], rax
mov rdx, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x58]
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x48], rax
mov rcx, qword [rcx]
mov rdx, qword [rdx]
mov qword [rsp + 0x50], rdx
cmp rax, rcx
jge 0x14002f8ba
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x48]
mov rcx, qword [rax + rcx*8 + 8]
call fcn.14001d610
test al, 1
jne 0x14002f655
jmp 0x14002f86a
mov eax, dword [0x140201998]
or eax, dword [0x14020199c]
mov edx, 0x45f473a7
xor edx, 0xe070aadd
mov ecx, eax
xor ecx, edx
xor ecx, 0xffffffff
or eax, 0xa584d97a
and eax, ecx
mov ecx, eax
and ecx, 0x86c1bfd8
shl ecx, 1
mov edx, 0x6124e412
xor edx, 0xe7e55bca
add eax, edx
sub eax, ecx
mov r8d, 0x541079de
xor r8d, 0x6cec054d
mov ecx, 0x544eb5ff
xor ecx, 0xabb14a00
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, 0x38fc7c93
or eax, 0x38fc7c93
imul eax, edx
add eax, ecx
mov ecx, 0x9973aae9
xor ecx, 0x38488baa
cmp eax, ecx
jbe 0x14002fb1b
mov rcx, qword [rsp + 0x48]
mov edx, dword [0x1402019a0]
xor edx, 0xf44e8b1e
xor edx, dword [0x1402019a4]
mov r8d, 0x7e24e3d5
xor r8d, 0xf4475f6c
mov eax, edx
and eax, r8d
or edx, 0x8a63bcb9
add eax, edx
mov edx, 0x418009e8
xor edx, 0xd08b917b
imul eax, edx
mov r8d, 0x3c72369
xor edx, edx
div r8d
mov edx, eax
mov rax, qword [rsp + 0x68]
mov dword [rsp + 0x40], edx
mov rax, qword [rax]
mov rcx, qword [rax + rcx*8 + 8]
call fcn.14018b6c0
mov rcx, qword [rsp + 0x60]
mov eax, dword [rsp + 0x40]
mov cl, byte [rcx]
mov dl, 0xbc
xor dl, 0xbc
cmp cl, dl
sete cl
mov byte [rsp + 0x47], cl
cmp eax, 0x3abaa9e3
jae 0x14002f6e4
mov al, byte [rsp + 0x47]
test al, 1
jne 0x14002f77b
jmp 0x14002fb16
mov eax, dword [0x1402019a8]
xor edx, edx
div dword [0x1402019ac]
mov ecx, eax
xor ecx, 0x554fe509
mov edx, 0xffffffff
xor edx, 0x554fe509
and eax, edx
shl eax, 1
sub eax, ecx
xor eax, 0xbf8795e4
imul eax, eax, 0xa7a568b5
cmp eax, 0xdd679167
jae 0x14002fb24
mov rcx, qword [rsp + 0x48]
mov eax, dword [0x1402019b0]
xor eax, dword [0x1402019b4]
mov r8d, 0xce12cb02
xor edx, edx
div r8d
mov r8d, eax
mov rax, qword [rsp + 0x68]
mov edx, r8d
or edx, edx
xor edx, 0xffffffff
mov r9d, 0xfa5a68e
or r9d, 0xfa5a68e
xor r9d, 0xffffffff
xor edx, 0xffffffff
mov r10d, 0x5e2876b2
xor r10d, 0xa1d7894d
xor r9d, r10d
and edx, r9d
xor r8d, 0xffffffff
mov r9d, 0xffffffff
xor r9d, 0xfa5a68e
and r8d, r9d
xor edx, 0xffffffff
xor r8d, 0xffffffff
and edx, r8d
xor edx, 0xf4519662
mov dword [rsp + 0x3c], edx
mov edx, 0x45c16d49
xor edx, 0xf628f55e
mov dword [rsp + 0x38], edx
mov rax, qword [rax]
mov rcx, qword [rax + rcx*8 + 8]
mov edx, 8
call fcn.14000fb9a
mov ecx, dword [rsp + 0x38]
mov eax, dword [rsp + 0x3c]
cmp eax, ecx
jb 0x14002f7b9
jmp 0x14002f86a
mov rax, qword [rsp + 0x48]
movabs rcx, 0xb97dd64ddebfa5a4
movabs rdx, 0x5fb6bf08a7030718
xor rcx, rdx
sub rax, rcx
movabs rcx, 0xba47e51e72a47ae3
movabs rdx, 0xba47e51e72a47ae2
xor rcx, rdx
add rax, rcx
movabs rcx, 0xe6cb694579bca2bc
add rax, rcx
mov qword [rsp + 0x70], rax
jmp 0x14002f60c
mov rax, qword [rsp + 0x50]
cmp rax, 0
je 0x14002fb16
mov eax, dword [0x1402019b8]
xor eax, 0xacfe1e6c
mov ecx, dword [0x1402019bc]
mov edx, 0x505c7b75
xor edx, 0x7e48bb82
xor ecx, edx
sub eax, ecx
sub eax, 0x9ea8e576
mov ecx, 0x1d1fa2ff
xor edx, edx
div ecx
mov edx, eax
xor edx, 0xffffffff
and edx, 0xa095491
mov r8d, 0x6bf9396a
xor r8d, 0x61f06dfb
mov ecx, 0x23d570c1
xor ecx, 0xdc2a8f3e
xor r8d, ecx
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov r8d, 0xf5dc33cc
xor r8d, 0xffd5675d
mov edx, eax
and edx, r8d
mov r8d, 0xc7d2a23d
xor r8d, 0xcddbf6ac
or eax, r8d
imul eax, edx
add eax, ecx
cmp eax, 0xfb8372f3
je 0x14002fb2d
mov rcx, qword [rsp + 0x50]
mov eax, dword [0x1402019c0]
xor eax, 0xc13566a1
add eax, dword [0x1402019c4]
mov r9d, 0xffffffff
xor r9d, 0x923cdc4b
mov r8d, eax
and r8d, r9d
mov edx, eax
or edx, r9d
xor edx, 0xffffffff
imul edx, r8d
mov r9d, 0x1549297d
xor r9d, 0x8775f536
mov r8d, eax
and r8d, r9d
or eax, 0x923cdc4b
imul eax, r8d
add eax, edx
mov edx, eax
add edx, 1
xor eax, 0xffffffff
mov r8d, 0xfa0748cf
xor r8d, 0x6c374f49
or eax, r8d
add eax, edx
mov edx, 0xd2cba0b8
xor edx, 0x48e66ce2
or eax, edx
mov rcx, qword [rcx]
movabs rdx, 0x1d8c8e72f93c3f5e
movabs r8, 0x5d8c8e72f93c3f5e
xor rdx, r8
and rcx, rdx
cmp rcx, 0
sete cl
mov byte [rsp + 0x37], cl
cmp eax, 0xd0060d17
ja 0x14002f957
mov al, byte [rsp + 0x37]
test al, 1
jne 0x14002fa15
jmp 0x14002fb16
mov ecx, dword [0x1402019c8]
mov eax, dword [0x1402019cc]
mov edx, 0x42383852
xor edx, 0x612d3596
sub ecx, edx
sub ecx, eax
add ecx, 0x23150dc4
mov eax, 0xb71933ca
xor eax, 0x48e6cc35
mov edx, ecx
xor edx, eax
mov eax, 0x58533680
xor eax, 0x9f8f2792
and eax, edx
mov edx, 0xffffffff
xor edx, 0xc7dc1112
and ecx, edx
or eax, ecx
xor eax, 0xe9ac03a1
mov ecx, 0xf6be4f4b
xor edx, edx
div ecx
cmp eax, 0xa925e660
je 0x14002fb36
mov rcx, qword [rsp + 0x50]
mov r9d, dword [0x1402019d0]
mov eax, dword [0x1402019d4]
xor eax, 0x1c65a929
and r9d, eax
and r9d, 0xa73f54e0
mov eax, r9d
xor eax, 0xffffffff
and eax, 0xaba3f14
mov r10d, 0xffffffff
xor r10d, 0xaba3f14
and r9d, r10d
mov edx, 0xffffffff
xor edx, 0x756d08af
and edx, 0xaba3f14
mov r8d, 0x45308cf4
xor r8d, 0x305d845b
xor r8d, 0x305d845b
and r8d, r10d
or eax, r9d
or edx, r8d
xor eax, edx
mov edx, 0x810076bb
xor edx, 0x6da3d2cc
add eax, edx
mov dword [rsp + 0x30], eax
mov eax, 0x1e6835a
xor eax, 0x103670a5
mov dword [rsp + 0x2c], eax
call fcn.14000fb1c
mov ecx, dword [rsp + 0x2c]
mov eax, dword [rsp + 0x30]
cmp eax, ecx
jb 0x14002fa78
jmp 0x14002fb16
add rsp, 0x78
ret
invalid
invalid
in al, 0x49
invalid
loope 0x14002faca
push rbp
cmp eax, 0xffff39e9
call qword [rax - 0x77137eb8]
sub rsp, 0x88
mov qword [rsp + 0x50], rdx
mov qword [rsp + 0x58], rcx
mov r8, qword [rcx]
mov qword [rsp + 0x60], r8
mov rax, rcx
add rax, 8
mov qword [rsp + 0x68], rax
mov rax, qword [rcx + 8]
mov qword [rsp + 0x70], rax
mov rdx, r8
add rdx, 1
mov qword [rsp + 0x78], rdx
xor r8, 0xffffffffffffffff
movabs rcx, 0xc844b6769d32d350
movabs r9, 0x37bb498962cd2caf
xor rcx, r9
xor r8, rcx
mov rcx, rdx
xor rcx, r8
and rcx, rdx
mov qword [rsp + 0x80], rcx
cmp rax, 0
je 0x14002fc29
mov rax, qword [rsp + 0x80]
cmp rax, 0
jl 0x14002fc1f
mov rax, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x78]
mov r8, qword [rax]
movabs r9, 0xcadee756c7f273bd
movabs rcx, 0x752118a9380d8c42
xor r9, rcx
movabs rcx, 0x979c968b2ef7fd31
movabs r10, 0x68636974d10802ce
xor rcx, r10
xor r9, rcx
mov rcx, r8
xor rcx, r9
and rcx, r8
cmp rcx, rdx
mov qword [rsp + 0x48], rax
jl 0x14002fc29
jmp 0x14002fda7
call fcn.140007f57
jmp 0x14002fdc8
mov ecx, dword [0x1402019d8]
mov eax, dword [0x1402019dc]
sub ecx, 0xd1dca9c7
add ecx, eax
add ecx, 0xd1dca9c7
or ecx, 0xb82e1b7b
mov eax, ecx
or eax, 0x331baba5
mov edx, 0x824ca03
xor edx, 0xf7db35fc
xor eax, edx
xor ecx, 0xffffffff
mov edx, 0x678f113f
xor edx, 0x5494ba9a
mov r8d, 0x36dd795b
xor r8d, 0xc92286a4
xor edx, r8d
and ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
mov ecx, 0xc5196841
xor edx, edx
div ecx
cmp eax, 0x89a13eca
jae 0x14002fdd0
mov rdx, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x60]
mov r8d, dword [0x1402019e0]
mov r9d, dword [0x1402019e4]
xor r9d, 0xffffffff
mov eax, r8d
xor eax, r9d
and eax, r8d
mov r8d, 0x7208bedc
xor r8d, 0xdade94c8
and eax, r8d
sub eax, 0x62083c03
mov r8d, 0xc2aacccc
xor r8d, 0x4b04cd2d
sub eax, r8d
add eax, 0x62083c03
and eax, 0xef33d22e
mov dword [rsp + 0x34], eax
mov eax, 0x1f02f845
xor eax, 0x437eb121
mov dword [rsp + 0x30], eax
movabs r8, 0x22fe143753bbb838
movabs rax, 0x22fe143753bbb839
xor r8, rax
movabs r9, 0xf7520f693fac6c70
movabs rax, 0xf7520f693fac6c78
xor r9, rax
movabs rax, 0x13233d5bb7093bd3
movabs r10, 0x13233d5bb7093bdb
xor rax, r10
mov qword [rsp + 0x20], rax
call fcn.140011d90
mov r8, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x80]
mov ecx, dword [rsp + 0x30]
mov r9, rax
mov eax, dword [rsp + 0x34]
mov qword [rsp + 0x38], r9
mov qword [r8], r9
cmp rdx, 0
setl dl
mov byte [rsp + 0x47], dl
cmp eax, ecx
jb 0x14002fdd0
mov rax, qword [rsp + 0x38]
mov cl, byte [rsp + 0x47]
test cl, 1
mov qword [rsp + 0x48], rax
jne 0x14002fd9d
jmp 0x14002fda7
call fcn.140007f57
jmp 0x14002fdc8
mov rcx, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x50]
mov r8, qword [rsp + 0x58]
mov r9, qword [rsp + 0x78]
mov rax, qword [rsp + 0x48]
mov qword [r8], r9
mov qword [rax + rcx*8 + 8], rdx
add rsp, 0x88
ret
shl dword [rsi - 0x3f161c18], 0xfe
invalid