Function at 0x1401f7d9d
Capabilities:
Encode data using xor

Disassembly:
mov eax, dword [rbp + 0x74]
mov dword [rbp + 0x7c], eax
jmp 0x14000f654
mov eax, dword [rbp + 0x74]
mov edx, dword [rbp + 4]
cmp eax, edx
jbe 0x1401c7c78
jmp 0x1400017ce
mov rax, qword [rbp + 0x40]
mov edx, dword [rbp + 0x7c]
mov eax, dword [rax]
cmp edx, eax
jb 0x14018e87b
jmp 0x140179537
mov eax, dword [rbp + 0x80]
test eax, eax
jle 0x1401c42b2
jmp 0x14017732e
mov rax, qword [rbp + 0x28]
add rax, qword [0x140180ac8]
mov rdx, qword [0x14017f4c2]
mov qword [rbp + rax*8 + 0xa0], rdx
mov eax, dword [rbp + 4]
cmp eax, 0xffffffff
je 0x140176c60
jmp 0x14017c4d8
lea rax, [0x14002e7f5]
mov qword [rbp + 0x40], rax
mov dword [rbp + 0x74], 0
mov rax, qword [rbp + 0x28]
add rax, qword [0x1401c4cb8]
mov rdx, qword [0x140040237]
mov qword [rbp + rax*8 + 0xa0], rdx
mov eax, dword [rbp + 4]
cmp eax, 0xffffffff
je 0x14002f333
jmp 0x140176d4f
lea rax, [0x14002e7f5]
mov qword [rbp + 0x40], rax
mov rax, qword [rbp + 0x40]
mov eax, dword [rax]
cmp eax, 0xffffffff
je 0x14017fd1f
jmp 0x1401c849c
mov rax, qword [rbp + 0x40]
mov eax, dword [rax]
cmp eax, 0xffffffff
jne 0x140001b75
jmp 0x14001dcda
mov rax, qword [rbp + 0x58]
mov eax, dword [rax]
mov dword [rbp + 0x6c], eax
add dword [rbp + 0x80], 0xfffffffc
push rcx
mov ecx, dword [rbp + 0x68]
rol dword [rbp + 0x6c], cl
pop rcx
add qword [rbp + 0x58], 4
mov eax, dword [rbp + 0x68]
xor eax, dword [rbp + 0x6c]
add eax, dword [rbp + 0x70]
mov dword [rbp + 0x70], eax
mov eax, dword [rbp + 0x70]
xor eax, dword [rbp + 0x68]
and eax, 0x1f
mov dword [rbp + 0x68], eax
mov eax, dword [rbp + 0x80]
cmp eax, 4
jge 0x140177732
jmp 0x14017a823
mov eax, dword [rbp + 0x78]
movsxd rax, eax
mov rdx, qword [rbp + 0x48]
mov ecx, dword [rbp + 0x78]
movsxd rcx, ecx
mov rbx, qword [rbp + 0x50]
mov eax, dword [rdx + rax*4]
mov edx, dword [rbx + rcx*4]
cmp eax, edx
jbe 0x140180121
jmp 0x1401f3b44
mov eax, dword [0x14018f012]
add eax, 0xffffffff
mov dword [rbp + 0x78], eax
mov eax, dword [rbp + 0x78]
test eax, eax
jge 0x140178a64
jmp 0x14005292a
mov eax, dword [rbp + 0x78]
movsxd rax, eax
mov rdx, qword [rbp + 0x48]
mov ecx, dword [rbp + 0x78]
movsxd rcx, ecx
mov rbx, qword [rbp + 0x50]
mov eax, dword [rdx + rax*4]
mov edx, dword [rbx + rcx*4]
cmp eax, edx
jb 0x1401f3b44
jmp 0x14017777b
mov rax, qword [rbp + 0x58]
mov eax, dword [rax]
mov dword [rbp + 0x6c], eax
add dword [rbp + 0x80], 0xfffffffc
push rcx
mov ecx, dword [rbp + 0x68]
rol dword [rbp + 0x6c], cl
pop rcx
add qword [rbp + 0x58], 4
mov eax, dword [rbp + 0x68]
xor eax, dword [rbp + 0x6c]
add eax, dword [rbp + 0x70]
mov dword [rbp + 0x70], eax
mov eax, dword [rbp + 0x70]
xor eax, dword [rbp + 0x68]
and eax, 0x1f
mov dword [rbp + 0x68], eax
mov eax, dword [rbp + 0x80]
cmp eax, 4
jge 0x1401794e2
jmp 0x140024f02
mov eax, dword [rbp + 0x78]
movsxd rax, eax
mov rdx, qword [rbp + 0x48]
mov ecx, dword [rbp + 0x78]
movsxd rcx, ecx
mov eax, dword [rdx + rax*4]
lea rdx, [0x1401efd72]
mov dword [rdx + rcx*4], eax
add dword [rbp + 0x78], 0xffffffff
mov eax, dword [rbp + 0x78]
test eax, eax
jge 0x140179d79
jmp 0x14017859f
mov eax, dword [rbp + 0x80]
test eax, eax
jle 0x1401d41f1
jmp 0x14017c6d7
mov eax, dword [rbp + 0x7c]
mov eax, eax
add rax, qword [rbp + 0x38]
mov qword [rbp + 0x58], rax
mov eax, dword [rbp + 0x80]
test eax, eax
jle 0x1401c42b2
jmp 0x1401d3711
mov rbx, qword [rbp + 0x60]
lea rsp, [rbp + 0x90]
pop rbp
ret
mov rax, qword [rbp + 0x40]
mov edx, dword [rbp + 0x7c]
neg edx
add edx, dword [rax]
mov dword [rbp + 0x80], edx
mov rax, qword [rbp + 0x40]
mov eax, dword [rax]
add eax, 8
mov dword [rbp + 0x74], eax
add qword [rbp + 0x40], 8
jmp 0x14017b05f
mov rax, qword [rbp + 0x58]
movzx eax, byte [rax]
movzx eax, al
mov dword [rbp + 0x6c], eax
push rcx
mov ecx, dword [rbp + 0x68]
rol dword [rbp + 0x6c], cl
pop rcx
mov eax, dword [rbp + 0x6c]
add eax, dword [rbp + 0x70]
mov dword [rbp + 0x70], eax
add dword [rbp + 0x80], 0xffffffff
mov eax, dword [rbp + 0x70]
or eax, 0xffffffe1
imul eax, dword [rbp + 0x68]
and eax, 0x1f
mov dword [rbp + 0x68], eax
add qword [rbp + 0x58], 1
mov eax, dword [rbp + 0x80]
test eax, eax
jg 0x14017c6d7
jmp 0x1401d41f1
mov rax, qword [0x14017a3b1]
mov qword [rbp + 0x38], rax
lea rax, [fcn.1401f7d9d]
mov qword [rbp + 0x18], rax
mov rax, qword [fcn.1401f7d9d]
neg rax
add rax, qword [rbp + 0x18]
mov qword [rbp + 0x18], rax
mov rax, qword [rbp + 0x18]
add rax, qword [rbp + 0x38]
mov qword [rbp + 0x38], rax
mov eax, dword [0x1400525e6]
mov dword [rbp + 0x70], eax
xor eax, eax
mov dword [rbp + 0x68], eax
mov dword [rbp + 4], eax
mov dword [rbp + 8], eax
lea rax, [0x1401f2a69]
mov qword [rbp + 0x10], rax
lea rax, [rbp + 0x10]
lea rdx, [rbp + 4]
mov rcx, rax
call fcn.14017ec9e
jmp 0x1401754a0
lea rax, [rbp + 0x70]
mov qword [rbp + 0x48], rax
lea rax, [0x1401c4e0a]
mov qword [rbp + 0x50], rax
mov eax, dword [0x14018f012]
add eax, 0xffffffff
mov dword [rbp + 0x78], eax
mov eax, dword [rbp + 0x78]
test eax, eax
jl 0x14017859f
jmp 0x140179d79
add dword [rbp + 0x78], 0xffffffff
mov eax, dword [rbp + 0x78]
test eax, eax
jl 0x1401f3b44
jmp 0x140178a64
mov eax, dword [rbp + 8]
add eax, dword [rbp + 4]
mov rdx, qword [rbp + 0x40]
mov edx, dword [rdx]
cmp eax, edx
ja 0x14017c5bd
jmp 0x1401f34aa
mov rax, qword [rbp + 0x38]
lea rdx, [rbp + 0xa0]
mov rcx, rax
call fcn.140175cbd
jmp 0x1401caa8f
jmp 0x14017b05f
mov eax, dword [rbp + 4]
cmp eax, 0xffffffff
jne 0x140176d4f
jmp 0x1401f865e
mov eax, dword [rbp + 4]
mov dword [rbp + 0x7c], eax
jmp 0x14000f654
mov rax, qword [rbp + 0x40]
mov eax, dword [rax]
mov eax, eax
mov rdx, qword [rbp + 0x38]
mov rax, qword [rax + rdx]
mov qword [rbp + 0x20], rax
mov rax, qword [rbp + 0x18]
neg rax
add rax, qword [rbp + 0x20]
mov qword [rbp + 0x20], rax
lea rax, [rbp + 0x20]
mov qword [rbp + 0x58], rax
mov dword [rbp + 0x80], 8
mov rax, qword [rbp + 0x40]
mov eax, dword [rax]
mov dword [rbp + 0x7c], eax
mov eax, dword [rbp + 0x80]
cmp eax, 4
jl 0x14017a823
jmp 0x140177732
mov dword [rbp], eax
mov eax, dword [rbp]
test eax, eax
je 0x1401d3627
jmp 0x14017b1dc
mov eax, dword [0x1401f32d9]
mov dword [0x1400258da], eax
mov rax, qword [rbp + 0x28]
add rax, qword [0x14017a4a9]
mov rdx, qword [0x1401c4e8e]
mov qword [rbp + rax*8 + 0xa0], rdx
mov rbx, qword [rbp + 0x60]
lea rsp, [rbp + 0x90]
pop rbp
ret
mov eax, dword [rbp + 0x80]
cmp eax, 4
jl 0x140024f02
jmp 0x1401794e2
add qword [rbp + 0x40], 8
mov rax, qword [rbp + 0x40]
mov eax, dword [rax]
cmp eax, 0xffffffff
jne 0x1401c849c
jmp 0x14017fd1f
mov qword [rbp + 0x28], 1
jmp 0x14017fbed
mov eax, dword [rbp + 8]
add eax, dword [rbp + 4]
mov edx, dword [rbp + 0x7c]
neg edx
add eax, edx
mov dword [rbp + 0x80], eax
lea rax, [rbp + 0x10]
lea rdx, [rbp + 4]
mov rcx, rax
call fcn.14017ec9e
jmp 0x1401aa0ba
mov eax, dword [rbp + 0x78]
test eax, eax
jl 0x1401d3627
jmp 0x1401a94ee
push rbp
sub rsp, 0xb0
lea rbp, [rsp + 0x20]
mov qword [rbp + 0x60], rbx
mov qword [rbp + 0xa0], rcx
mov qword [rbp + 0x28], 0
lea rax, [rbp + 0xa8]
mov qword [rbp + 0x30], rax
mov rax, qword [rbp + 0x30]
mov rax, qword [rax]
cmp rax, 0x18
jne 0x14017fbed
jmp 0x1401d4e80
jmp 0x14002f333