Function at 0x14025ef00
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x48
mov ebx, r9d
mov dword [rsp + 0x2c], r8d
mov ebp, edx
mov rdi, rcx
mov rax, qword [0x14047f698]
xor rax, rsp
mov qword [rsp + 0x40], rax
test edx, edx
jle 0x14025ef64
mov eax, ebp
shl rax, 5
lea r14, [rax + rax*4]
xor r15d, r15d
xor esi, esi
nop
mov rcx, qword [rdi + 0x370]
add rcx, r15
mov edx, 0x357f6f87
call fcn.140261e00
add esi, eax
add r15, 0xa0
cmp r14, r15
jne 0x14025ef40
jmp 0x14025ef66
xor esi, esi
movsxd rax, ebp
lea rcx, [rax + rax*4]
shl rcx, 5
add rcx, qword [rdi + 0x370]
mov edx, ebx
mov r8d, 0x8088295b
call fcn.140261850
mov r15d, eax
add r15d, esi
lea r12, [rdi + 0xe8]
add r15d, dword [rdi + 0x388]
test byte [rdi + 0x334], 2
jne 0x14025efb2
mov rax, qword [rdi + 0x338]
mov ecx, r15d
movzx eax, byte [rax + rcx]
jmp 0x14025efc3
mov rcx, r12
mov edx, r15d
mov r8d, 0xfba5e7fc
call fcn.140261ff0
mov byte [rsp + 0x3c], al
mov eax, r15d
xor eax, 1
mov ecx, r15d
and ecx, 1
lea edx, [rax + rcx*2]
mov eax, dword [rdi + 0x334]
mov ecx, eax
not ecx
xor eax, 2
and ecx, 0xfffffffd
or ecx, eax
cmp ecx, 0xffffffff
je 0x14025effd
mov rcx, r12
mov r8d, 0xfba5e7fc
call fcn.140261ff0
jmp 0x14025f00a
mov rax, qword [rdi + 0x338]
mov ecx, edx
movzx eax, byte [rax + rcx]
mov byte [rsp + 0x3d], al
mov eax, r15d
xor eax, 2
mov ecx, r15d
and ecx, 2
lea edx, [rax + rcx*2]
mov eax, dword [rdi + 0x334]
mov ecx, eax
not ecx
xor eax, 2
and ecx, 0xfffffffd
or ecx, eax
cmp ecx, 0xffffffff
je 0x14025f044
mov rcx, r12
mov r8d, 0xfba5e7fc
call fcn.140261ff0
jmp 0x14025f051
mov rax, qword [rdi + 0x338]
mov ecx, edx
movzx eax, byte [rax + rcx]
mov r14, qword [rsp + 0xb0]
mov byte [rsp + 0x3e], al
lea edx, [r15 + 3]
mov eax, dword [rdi + 0x334]
mov rcx, qword [0x140469030]
movsxd rsi, dword [rcx]
add rsi, rcx
jmp 0x14025f086
mov ecx, dword [0x140383270]
mov ecx, dword [0x140493010]
lea r8d, [rcx - 1]
imul r8d, ecx
test r8b, 1
jne 0x14025f080
mov ebx, dword [0x140383270]
mov ecx, dword [0x140493014]
cmp ecx, 0xd
jge 0x14025f080
test al, 2
mov qword [rsp + 0x30], r12
jne 0x14025f0c3
mov rax, qword [rdi + 0x338]
mov ecx, edx
movzx eax, byte [rax + rcx]
jmp 0x14025f0d1
mov rcx, r12
mov r8d, 0xfba5e7fc
call fcn.140261ff0
mov byte [rsp + 0x3f], al
mov rax, qword [rdi]
mov r12d, dword [0x140469010]
mov ecx, dword [0x140493014]
cmp ecx, 0x5b
jge 0x14025f0fb
lea r13d, [r12 + 1]
mov dword [0x140469010], r13d
test rdi, rdi
jne 0x14025f107
mov dword [0x140469010], 0
jmp 0x14025f0ea
xor ebp, ebp
test r12d, r13d
jne 0x14025f145
test ebx, ebx
jle 0x14025f145
xor edx, edx
xor ecx, ecx
nop word cs:[rax + rax]
movsxd rdx, edx
mov r8d, dword [rsi + rdx]
mov ebp, r8d
xor ebp, r8d
not ebp
and ebp, ecx
xor ebp, r8d
mov ecx, edx
xor ecx, 4
and edx, 4
lea edx, [rcx + rdx*2]
mov ecx, ebp
cmp edx, ebx
jl 0x14025f120
mov ecx, dword [0x140493014]
cmp ecx, 0x42
jg 0x14025f170
mov ecx, dword [0x140493010]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
je 0x14025f17d
nop word cs:[rax + rax]
mov ecx, dword [0x140493014]
cmp ecx, 0x55
jge 0x14025f170
jmp 0x14025f150
mov rax, qword [rax + 0x20]
mov rcx, rdi
call qword [case.0x1400eabdd.0]
test al, al
je 0x14025f1d0
mov eax, dword [rdi + 0xa0]
lea rcx, [rdi + 0x1e4]
mov dword [rdi + 0x234], eax
mov dword [rdi + 0x238], r15d
mov dword [rdi + 0x23c], eax
mov dword [rdi + 0x240], r15d
mov dword [rsp + 0x20], 0xf3d71741
lea rdx, [rsp + 0x3c]
mov r8d, 4
mov r9, rdx
call fcn.1400f9a70
mov eax, dword [rsp + 0x2c]
add eax, dword [rsp + 0x3c]
mov dword [rsp + 0x2c], eax
mov eax, dword [0x140383278]
xor ecx, ecx
mov dl, 1
nop word cs:[rax + rax]
mov r8d, dword [0x140493014]
cmp r8d, 0x5f
jg 0x14025f20b
xor r8d, r8d
test r12d, r13d
setne r9b
test cl, cl
je 0x14025f211
test dl, dl
je 0x14025f1f0
jmp 0x14025f1fd
mov r8b, r9b
mov edx, 0xffffffff
add edx, r8d
xor ecx, ecx
sub eax, ebp
and eax, edx
nop word cs:[rax + rax]
test cl, cl
jne 0x14025f248
mov edx, dword [0x140493010]
lea r8d, [rdx - 1]
imul r8d, edx
test r8b, 1
je 0x14025f25e
mov edx, dword [0x140493010]
lea r8d, [rdx - 1]
imul r8d, edx
test r8b, 1
jne 0x14025f230
jmp 0x14025f234
mov ecx, dword [0x14049095c]
mov edx, ecx
xor edx, eax
and ecx, eax
lea eax, [rdx + rcx*2]
mov dword [0x14049095c], eax
mov eax, dword [rsp + 0xb8]
mov r15d, eax
test eax, eax
mov ebp, dword [rsp + 0x2c]
mov r12, qword [rsp + 0x30]
jle 0x14025f2c6
mov esi, ebp
xor ebx, ebx
jmp 0x14025f2a9
mov rax, qword [rdi + 0x338]
mov ecx, edx
movzx eax, byte [rax + rcx]
mov byte [r14 + rbx], al
inc rbx
cmp r15, rbx
je 0x14025f2c6
lea rdx, [rsi + rbx]
test byte [rdi + 0x334], 2
je 0x14025f290
mov rcx, r12
mov r8d, 0xfba5e7fc
call fcn.140261ff0
jmp 0x14025f29d
mov rax, qword [rdi]
mov rax, qword [rax + 0x20]
mov rcx, rdi
call qword [case.0x1400eabdd.0]
test al, al
je 0x14025f315
mov eax, dword [rdi + 0xa0]
lea rcx, [rdi + 0x1e4]
mov dword [rdi + 0x234], eax
mov dword [rdi + 0x238], ebp
mov dword [rdi + 0x23c], eax
mov dword [rdi + 0x240], ebp
mov dword [rsp + 0x20], 0xf3d71741
mov rdx, r14
mov r8, r15
mov r9, r14
call fcn.1400f9a70
mov rcx, qword [rsp + 0x40]
xor rcx, rsp
call fcn.1403198b0
nop
add rsp, 0x48
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret