Function at 0x140039b90
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x88
mov qword [rsp + 0x40], r8
mov qword [rsp + 0x60], rdx
mov r8d, dword [rcx]
mov r13d, dword [rcx + 4]
mov r9d, dword [rcx + 8]
mov edx, dword [rcx + 0xc]
mov ebx, dword [rcx + 0x10]
mov eax, dword [rcx + 0x14]
mov r14d, dword [rcx + 0x18]
mov edi, dword [rcx + 0x1c]
mov esi, dword [rcx + 0x20]
mov r10d, dword [rcx + 0x24]
mov qword [rsp + 0x28], r10
mov r10d, dword [rcx + 0x28]
mov r11d, dword [rcx + 0x2c]
mov r15d, dword [rcx + 0x30]
mov ebp, dword [rcx + 0x34]
mov r12d, dword [rcx + 0x38]
mov ecx, dword [rcx + 0x3c]
mov dword [rsp + 0x3c], 0xa
nop word cs:[rax + rax]
mov qword [rsp + 0x20], r11
lea r11d, [rsi + r15]
rol r11d, 7
xor r11d, r8d
mov r8, qword [rsp + 0x28]
add r8d, ebp
rol r8d, 7
xor r8d, r13d
mov qword [rsp + 0x30], r8
lea r8d, [r10 + r12]
rol r8d, 7
xor r8d, r9d
mov r9, r8
mov qword [rsp + 0x48], r8
mov r8, qword [rsp + 0x20]
add r8d, ecx
rol r8d, 7
xor r8d, edx
mov rdx, r8
lea r13d, [r11 + r15]
mov r8, r11
mov qword [rsp + 0x50], r11
rol r13d, 9
xor r13d, ebx
mov rbx, r13
mov qword [rsp + 0x58], r13
mov r11, qword [rsp + 0x30]
lea r13d, [r11 + rbp]
rol r13d, 9
xor r13d, eax
lea eax, [r9 + r12]
rol eax, 9
xor eax, r14d
lea r9d, [rdx + rcx]
rol r9d, 9
xor r9d, edi
lea edi, [rbx + r8]
rol edi, 0xd
xor edi, esi
lea esi, [r11 + r13]
rol esi, 0xd
xor esi, dword [rsp + 0x28]
mov r8, qword [rsp + 0x48]
lea ebx, [rax + r8]
rol ebx, 0xd
xor ebx, r10d
lea r14d, [r9 + rdx]
mov qword [rsp + 0x80], rdx
rol r14d, 0xd
xor r14d, dword [rsp + 0x20]
mov r10, qword [rsp + 0x58]
add r10d, edi
rol r10d, 0x12
xor r10d, r15d
mov r15, r10
lea r10d, [rsi + r13]
rol r10d, 0x12
xor r10d, ebp
mov rbp, r10
lea r10d, [rbx + rax]
rol r10d, 0x12
xor r10d, r12d
mov r12, r10
lea r10d, [r14 + r9]
rol r10d, 0x12
xor r10d, ecx
mov qword [rsp + 0x20], r10
lea ecx, [r15 + rdx]
mov qword [rsp + 0x78], r15
rol ecx, 7
xor ecx, esi
mov rdx, qword [rsp + 0x50]
lea r10d, [rdx + rbp]
mov qword [rsp + 0x70], rbp
rol r10d, 7
xor r10d, ebx
mov rdx, qword [rsp + 0x30]
lea r11d, [r12 + rdx]
mov qword [rsp + 0x68], r12
rol r11d, 7
xor r11d, r14d
mov rdx, qword [rsp + 0x20]
lea esi, [rdx + r8]
rol esi, 7
xor esi, edi
lea r14d, [rcx + r15]
rol r14d, 9
xor r14d, eax
lea edi, [r10 + rbp]
rol edi, 9
xor edi, r9d
lea ebx, [r11 + r12]
rol ebx, 9
xor ebx, dword [rsp + 0x58]
lea eax, [rsi + rdx]
rol eax, 9
xor eax, r13d
mov qword [rsp + 0x28], rcx
lea edx, [r14 + rcx]
rol edx, 0xd
xor edx, dword [rsp + 0x80]
lea r8d, [rdi + r10]
rol r8d, 0xd
xor r8d, dword [rsp + 0x50]
lea r13d, [rbx + r11]
rol r13d, 0xd
xor r13d, dword [rsp + 0x30]
lea r9d, [rax + rsi]
rol r9d, 0xd
xor r9d, dword [rsp + 0x48]
lea r15d, [rdx + r14]
rol r15d, 0x12
xor r15d, dword [rsp + 0x78]
lea ebp, [r8 + rdi]
rol ebp, 0x12
xor ebp, dword [rsp + 0x70]
lea r12d, [rbx + r13]
rol r12d, 0x12
xor r12d, dword [rsp + 0x68]
lea ecx, [r9 + rax]
rol ecx, 0x12
xor ecx, dword [rsp + 0x20]
dec dword [rsp + 0x3c]
jne 0x140039c00
mov rax, qword [rsp + 0x40]
cmp rax, 4
jb 0x140039e4b
mov rdx, qword [rsp + 0x60]
mov dword [rdx], r15d
cmp rax, 8
jb 0x140039e52
mov dword [rdx + 4], ebp
cmp rax, 0xc
jb 0x140039e59
mov dword [rdx + 8], r12d
cmp rax, 0x10
jb 0x140039e60
mov dword [rdx + 0xc], ecx
cmp rax, 0x14
jb 0x140039e67
mov dword [rdx + 0x10], r10d
cmp rax, 0x18
jb 0x140039e6e
mov dword [rdx + 0x14], edi
cmp rax, 0x1c
jb 0x140039e75
mov dword [rdx + 0x18], ebx
cmp rax, 0x20
jb 0x140039e7c
mov dword [rdx + 0x1c], r13d
add rsp, 0x88
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov ecx, 4
jmp 0x140039e81
mov ecx, 8
jmp 0x140039e81
mov ecx, 0xc
jmp 0x140039e81
mov ecx, 0x10
jmp 0x140039e81
mov ecx, 0x14
jmp 0x140039e81
mov ecx, 0x18
jmp 0x140039e81
mov ecx, 0x1c
jmp 0x140039e81
mov ecx, 0x20
lea r8, [0x140138c68]
mov rdx, qword [rsp + 0x40]
call dbg.slice_end_index_len_fail
ud2