Function at 0x140095e10
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x28
mov rsi, r8
mov rdi, rdx
mov ebx, ecx
mov eax, dword [0x1401957a0]
mov ecx, dword [0x140194c80]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x1400961cb
add rsi, rdi
not ebx
lea rax, [rdi + 3]
and rax, 0xfffffffffffffffc
cmp rsi, rax
jb 0x140095ee1
mov rcx, rax
sub rcx, rdi
je 0x140095ee1
lea r8, [rdi + 1]
test dil, 1
jne 0x140095e7f
mov rdx, rdi
cmp rax, r8
jne 0x140095e9f
jmp 0x140095ede
movzx edx, bl
movzx r9d, byte [rdi]
xor r9d, edx
lea rdx, [0x140160aa0]
shr ebx, 8
xor ebx, dword [rdx + r9*4]
mov rdx, r8
cmp rax, r8
je 0x140095ede
lea r8, [0x140160aa0]
nop word cs:[rax + rax]
movzx r9d, bl
movzx r10d, byte [rdx]
xor r10d, r9d
shr ebx, 8
xor ebx, dword [r8 + r10*4]
movzx r9d, bl
movzx r10d, byte [rdx + 1]
xor r10d, r9d
shr ebx, 8
xor ebx, dword [r8 + r10*4]
add rdx, 2
cmp rdx, rax
jne 0x140095eb0
add rdi, rcx
mov rax, rsi
sub rax, rdi
cmp rax, 0x10
jl 0x140096152
xor ebx, dword [rdi]
mov edx, dword [rdi + 4]
mov r13d, dword [rdi + 8]
mov ecx, dword [rdi + 0xc]
add rdi, 0x10
mov r9, rsi
sub r9, rdi
cmp r9, 0x10
jl 0x140096070
lea r10, [0x140160ea0]
lea r11, [0x1401612a0]
lea r14, [0x1401616a0]
lea r15, [0x140161aa0]
mov r12, rcx
mov rbp, rdx
nop word cs:[rax + rax]
movzx ecx, bl
movzx eax, bh
mov edx, ebx
shr edx, 0x10
movzx edx, dl
shr ebx, 0x18
mov eax, dword [r11 + rax*4]
xor eax, dword [r10 + rcx*4]
xor eax, dword [rdi]
xor eax, dword [r14 + rdx*4]
xor eax, dword [r15 + rbx*4]
mov rbx, rbp
movzx ecx, bl
movzx edx, bh
mov edx, dword [r11 + rdx*4]
mov r8d, ebx
shr r8d, 0x10
movzx r8d, r8b
shr ebx, 0x18
xor edx, dword [r10 + rcx*4]
xor edx, dword [rdi + 4]
xor edx, dword [r14 + r8*4]
xor edx, dword [r15 + rbx*4]
mov rcx, r13
movzx r13d, cl
movzx ebx, ch
mov r8d, dword [r11 + rbx*4]
mov ebx, ecx
shr ebx, 0x10
movzx ebx, bl
shr ecx, 0x18
xor r8d, dword [r10 + r13*4]
xor r8d, dword [rdi + 8]
xor r8d, dword [r14 + rbx*4]
xor r8d, dword [r15 + rcx*4]
mov rbx, r12
movzx r13d, bl
movzx ecx, bh
mov ecx, dword [r11 + rcx*4]
mov ebp, ebx
shr ebp, 0x10
movzx r12d, bpl
shr ebx, 0x18
xor ecx, dword [r10 + r13*4]
xor ecx, dword [rdi + 0xc]
xor ecx, dword [r14 + r12*4]
xor ecx, dword [r15 + rbx*4]
add rdi, 0x10
add r9, 0xfffffffffffffff0
mov r12d, ecx
mov r13d, r8d
mov ebp, edx
mov ebx, eax
cmp r9, 0xf
jg 0x140095f40
cmp r9, 4
jl 0x14009607b
mov r10, rsi
sub r10, rdi
lea r11, [0x140160ea0]
lea rbx, [0x1401612a0]
lea r14, [0x1401616a0]
lea r15, [0x140161aa0]
nop word cs:[rax + rax]
mov r9d, edx
mov edx, r8d
mov r8d, ecx
movzx r12d, al
movzx ecx, ah
mov ecx, dword [rbx + rcx*4]
mov ebp, eax
shr ebp, 0x10
movzx r13d, bpl
shr eax, 0x18
xor ecx, dword [r11 + r12*4]
xor ecx, dword [rdi]
xor ecx, dword [r14 + r13*4]
xor ecx, dword [r15 + rax*4]
add rdi, 4
add r10, 0xfffffffffffffffc
mov eax, r9d
cmp r10, 3
jg 0x140096030
jmp 0x14009607e
mov eax, ebx
mov r8d, r13d
cmp r9, 4
jge 0x140096001
mov r9d, eax
mov r10d, r9d
shr r10d, 8
movzx r9d, r9b
lea rax, [0x140160aa0]
xor r10d, dword [rax + r9*4]
movzx r9d, r10b
shr r10d, 8
xor r10d, dword [rax + r9*4]
movzx r9d, r10b
shr r10d, 8
xor r10d, dword [rax + r9*4]
movzx r9d, r10b
shr r10d, 8
xor r10d, dword [rax + r9*4]
xor r10d, edx
movzx edx, r10b
shr r10d, 8
xor r10d, dword [rax + rdx*4]
movzx edx, r10b
shr r10d, 8
xor r10d, dword [rax + rdx*4]
movzx edx, r10b
shr r10d, 8
xor r10d, dword [rax + rdx*4]
movzx edx, r10b
shr r10d, 8
xor r10d, dword [rax + rdx*4]
xor r10d, r8d
movzx edx, r10b
shr r10d, 8
xor r10d, dword [rax + rdx*4]
movzx edx, r10b
shr r10d, 8
xor r10d, dword [rax + rdx*4]
movzx edx, r10b
shr r10d, 8
xor r10d, dword [rax + rdx*4]
movzx edx, r10b
shr r10d, 8
xor r10d, dword [rax + rdx*4]
xor r10d, ecx
movzx ecx, r10b
shr r10d, 8
xor r10d, dword [rax + rcx*4]
movzx ecx, r10b
shr r10d, 8
xor r10d, dword [rax + rcx*4]
movzx ecx, r10b
shr r10d, 8
xor r10d, dword [rax + rcx*4]
movzx ecx, r10b
mov ebx, r10d
shr ebx, 8
xor ebx, dword [rax + rcx*4]
cmp rdi, rsi
je 0x1400961b6
mov ecx, esi
sub ecx, edi
lea rax, [rdi + 1]
test cl, 1
je 0x14009617c
movzx ecx, bl
movzx edx, byte [rdi]
xor edx, ecx
lea rcx, [0x140160aa0]
shr ebx, 8
xor ebx, dword [rcx + rdx*4]
mov rdi, rax
cmp rsi, rax
je 0x1400961b6
lea rax, [0x140160aa0]
nop dword [rax + rax]
movzx ecx, bl
movzx edx, byte [rdi]
xor edx, ecx
shr ebx, 8
xor ebx, dword [rax + rdx*4]
movzx ecx, bl
movzx edx, byte [rdi + 1]
xor edx, ecx
shr ebx, 8
xor ebx, dword [rax + rdx*4]
add rdi, 2
cmp rdi, rsi
jne 0x140096190
not ebx
mov eax, ebx
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea rcx, [0x1401957a0]
call fcn.14011fb9c
cmp dword [0x1401957a0], 0xffffffff
jne 0x140095e4d
lea rcx, [0x1401957a0]
call fcn.14011fc34
jmp 0x140095e4d