Function at 0x14025fbb0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x108
mov r14d, dword [rsp + 0x170]
mov r13, qword [rsp + 0x190]
cmp qword [rsp + 0x188], 0
mov qword [rsp + 0x150], rcx
mov r12d, edx
mov rbp, r8
mov r15d, r9d
je 0x140260100
mov rax, qword [rsp + 0x188]
mov edi, dword [rax + 8]
test r13, r13
cmove r13, qword [rsp + 0x188]
test r12d, r12d
jle 0x14026012e
test r15d, r15d
jle 0x14026012e
cmp r15d, r14d
jg 0x140260119
lea eax, [rdi + 1]
mov dword [rsp + 0x58], eax
add eax, eax
cmp eax, r14d
jg 0x140260119
mov eax, r14d
xor r8d, r8d
lea rdx, [0x140450e20]
sub eax, edi
lea esi, [rax - 1]
mov dword [rsp + 0x5c], eax
movsxd rcx, esi
mov qword [rsp + 0x48], rcx
call fcn.1402003e0
lea rdx, [0x140450e20]
mov rbx, rax
movsxd rax, r14d
test rbx, rbx
mov qword [rsp + 0x50], rax
je 0x14025fe70
xor r8d, r8d
movsxd rcx, r14d
call fcn.1402003e0
test rax, rax
je 0x14025fe70
movsxd rcx, r14d
movsxd r8, r15d
add rcx, rax
add r8, rbp
mov rdx, rcx
nop dword [rax + rax]
mov r9d, r15d
lea eax, [r15 - 1]
sub rdx, 1
not r9d
and eax, r9d
sar eax, 0x1f
mov r9d, eax
add eax, 1
sub r8, rax
sub r15d, eax
mov eax, ecx
not r9d
sub eax, edx
and r9b, byte [r8]
mov byte [rdx], r9b
cmp r14d, eax
jg 0x14025fca0
lea eax, [r14 - 1]
test r14d, r14d
movzx r9d, r9b
movsxd r11, edi
mov rdx, rax
mov r8, 0xffffffffffffffff
lea ebp, [r9 - 1]
not r9d
not rdx
mov qword [rsp + 0x20], r13
cmovle rdx, r8
and ebp, r9d
neg rax
mov r9d, esi
sar ebp, 0x1f
mov qword [rsp + 0x60], r11
add rdx, rcx
mov r15d, ebp
mov qword [rsp + 0x40], rdx
xor edx, edx
test r14d, r14d
cmovle rax, rdx
mov edx, edi
add rax, r11
lea r14, [rcx + rax]
lea rax, [rsp + 0xc0]
mov r8, r14
mov rcx, rax
mov qword [rsp + 0x38], rax
call fcn.14025f9f0
test eax, eax
jne 0x14025fe10
mov rcx, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x40]
mov r11, qword [rsp + 0x60]
mov rax, rcx
add rdx, 1
lea r8, [rcx + r11]
test edi, edi
jle 0x14025fd82
nop dword [rax]
movzx ecx, byte [rdx]
xor byte [rax], cl
add rax, 1
add rdx, 1
cmp r8, rax
jne 0x14025fd70
mov qword [rsp + 0x20], r13
mov r8, qword [rsp + 0x38]
mov r9d, edi
mov edx, esi
mov rcx, rbx
call fcn.14025f9f0
mov r10d, eax
test eax, eax
jne 0x14025fdfe
mov ecx, esi
xor eax, eax
test esi, esi
jle 0x14025fdc1
nop dword [rax + rax]
movzx edx, byte [r14 + rax]
xor byte [rbx + rax], dl
add rax, 1
cmp rcx, rax
jne 0x14025fdb0
mov rax, qword [rsp + 0x188]
xor r9d, r9d
mov dword [rsp + 0x68], r10d
lea r13, [rsp + 0x80]
movsxd rdx, dword [rsp + 0x180]
mov rcx, qword [rsp + 0x178]
mov r8, r13
mov qword [rsp + 0x20], rax
call fcn.140274560
test eax, eax
jne 0x14025feb8
mov r14d, ebp
mov dword [rsp + 0x5c], 0xffffffff
not r14d
jmp 0x14025fe1e
mov dword [rsp + 0x5c], 0xffffffff
mov r14d, ebp
not r14d
mov rcx, qword [rsp + 0x38]
mov edx, 0x40
call fcn.1402f5e00
mov rdx, qword [rsp + 0x48]
mov rcx, rbx
call fcn.14027a930
mov rdx, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x40]
call fcn.14027a930
mov esi, dword [rsp + 0x5c]
mov eax, r14d
and r15d, esi
or eax, r15d
add rsp, 0x108
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov r8d, 0x41
mov edx, 0x99
mov ecx, 4
xor r15d, r15d
call fcn.1402750a0
lea rax, [rsp + 0xc0]
mov dword [rsp + 0x5c], 0xffffffff
mov r14d, 0xffffffff
mov qword [rsp + 0x40], 0
mov qword [rsp + 0x38], rax
jmp 0x14025fe1e
mov r14, qword [rsp + 0x60]
mov rcx, rbx
mov rdx, r13
mov r8, r14
call fcn.1402f5e60
mov r10d, dword [rsp + 0x68]
mov ecx, eax
sub eax, 1
not ecx
mov r8d, ecx
and r8d, eax
sar r8d, 0x1f
and r8d, ebp
cmp esi, edi
jle 0x140260138
mov r11, r14
xor r9d, r9d
nop word [rax + rax]
movzx edx, byte [rbx + r11]
mov eax, edx
xor eax, 1
movzx eax, al
mov ecx, eax
sub eax, 1
not ecx
and ecx, eax
mov eax, r9d
sar ecx, 0x1f
not eax
and eax, ecx
or r9d, ecx
mov ebp, eax
not eax
and ebp, r11d
add r11, 1
and eax, r10d
mov r10d, ebp
or r10d, eax
mov eax, edx
sub edx, 1
not eax
and eax, edx
sar eax, 0x1f
or eax, r9d
and r8d, eax
cmp esi, r11d
jg 0x14025fef8
lea edx, [r10 + 1]
mov eax, esi
mov ecx, r12d
sub eax, edx
mov edx, r12d
sub edx, eax
xor ecx, eax
mov dword [rsp + 0x5c], eax
xor edx, eax
or edx, ecx
xor edx, r12d
sar edx, 0x1f
not edx
and edx, r9d
and edx, r8d
mov r10d, edx
mov r14d, edx
mov r15d, edx
and r10d, 1
not r14d
mov ebp, esi
mov r11d, 1
sub ebp, edi
sub ebp, 1
mov edx, ebp
mov ecx, ebp
mov r13d, ebp
sub edx, r12d
xor ecx, r12d
sub r13d, eax
xor edx, r12d
or edx, ecx
xor edx, ebp
sar edx, 0x1f
mov ecx, edx
not edx
and ecx, ebp
and edx, r12d
or edx, ecx
cmp ebp, 1
jle 0x140260073
mov rcx, qword [rsp + 0x60]
movsxd r8, dword [rsp + 0x58]
mov dword [rsp + 0x74], r10d
mov r12d, 0xfffffffe
mov dword [rsp + 0x78], edx
sub r12d, edi
mov dword [rsp + 0x7c], r14d
lea rcx, [rbx + rcx + 2]
mov dword [rsp + 0x70], r15d
mov r15, r8
mov qword [rsp + 0x68], rcx
mov ecx, eax
nop
mov eax, r11d
mov edx, esi
and eax, r13d
sub edx, r11d
mov r9d, eax
sub eax, 1
not r9d
and r9d, eax
sar r9d, 0x1f
mov r10d, r9d
not r10d
cmp dword [rsp + 0x58], edx
jge 0x140260056
lea edi, [r12 + rdx]
mov rdx, qword [rsp + 0x68]
lea rax, [rbx + r15]
movsxd r14, r11d
movzx r10d, r10b
or r9d, 0xffffff00
add rdi, rdx
nop dword [rax]
movzx edx, byte [rax + r14]
movzx r8d, byte [rax]
add rax, 1
and edx, r10d
and r8d, r9d
or edx, r8d
mov byte [rax - 1], dl
cmp rax, rdi
jne 0x140260038
add r11d, r11d
cmp ebp, r11d
jg 0x14025fff0
mov r15d, dword [rsp + 0x70]
mov r10d, dword [rsp + 0x74]
mov eax, ecx
mov edx, dword [rsp + 0x78]
mov r14d, dword [rsp + 0x7c]
test edx, edx
jle 0x1402600d4
mov rdi, qword [rsp + 0x60]
mov r9d, eax
mov esi, edx
xor ecx, ecx
mov r8, qword [rsp + 0x150]
neg r9d
lea r11, [rbx + rdi]
nop word [rax + rax]
mov edi, r9d
mov edx, eax
add r9d, 1
xor edx, ecx
xor edi, eax
or edx, edi
movzx edi, byte [r11 + rcx + 1]
xor edx, ecx
sar edx, 0x1f
and edx, r15d
movzx edx, dl
mov ebp, edx
not edx
and edi, ebp
movzx ebp, byte [r8 + rcx]
and edx, ebp
or edx, edi
mov byte [r8 + rcx], dl
add rcx, 1
cmp rcx, rsi
jne 0x140260098
mov r8d, 0x79
mov edx, 0x99
mov ecx, 4
mov dword [rsp + 0x58], r10d
call fcn.1402750a0
mov ecx, dword [rsp + 0x58]
call fcn.1401e98f0
jmp 0x14025fe1e
mov rax, qword [0x14048f170]
mov edi, 0x14
mov qword [rsp + 0x188], rax
jmp 0x14025fbfe
mov r8d, 0x79
mov edx, 0x99
mov ecx, 4
call fcn.1402750a0
mov eax, 0xffffffff
jmp 0x14025fe56
mov eax, dword [rsp + 0x5c]
mov r14d, 0xffffffff
xor r15d, r15d
sub eax, 2
mov dword [rsp + 0x5c], eax
jmp 0x14025ff7e