Function at 0x1401b0c80
Capabilities:
Encode data using xor
Encrypt data using chaskey

Disassembly:
xchg rdi, rbx
mov qword [rsp + 0x10], rdi
xchg rbx, rdi
xchg rsi, rcx
mov qword [rsp + 8], rsi
xchg rsi, rcx
nop
sub rsp, 8
mov qword [rsp], rbp
push rsi
push rdi
nop
sub rsp, 8
mov qword [rsp], r12
push r9
mov qword [rsp], r13
push r14
nop
push 0x7947fecd
mov qword [rsp], r15
lea rbp, [rsp - 0x60]
sub rsp, 0x160
movzx r8d, byte [rdx + 1]
movzx eax, byte [rdx + 2]
shl eax, 8
movzx ecx, byte [rdx + 4]
shl ecx, 5
shl ecx, 8
shl ecx, 2
shl ecx, 7
shl ecx, 1
shl ecx, 1
shl r8d, 1
shl r8d, 4
shl r8d, 2
shl r8d, 2
shl r8d, 4
shl r8d, 1
shl r8d, 1
shl r8d, 1
add r8d, eax
movzx eax, byte [rdx]
shl eax, 4
shl eax, 0xc
shl eax, 4
shl eax, 3
shl eax, 1
add r8d, eax
movzx eax, byte [rdx + 3]
add r8d, eax
movzx eax, byte [rdx + 5]
shl eax, 0xc
shl eax, 1
shl eax, 2
shl eax, 1
add ecx, eax
mov dword [rsp + 0x20], r8d
movzx eax, byte [rdx + 6]
shl eax, 4
shl eax, 1
shl eax, 2
shl eax, 1
add ecx, eax
movzx eax, byte [rdx + 7]
add ecx, eax
movzx eax, byte [rdx + 9]
mov dword [rsp + 0x24], ecx
movzx ecx, byte [rdx + 8]
shl ecx, 0xb
shl ecx, 7
shl ecx, 5
shl ecx, 1
shl eax, 0x10
add ecx, eax
movzx eax, byte [rdx + 0xa]
shl eax, 6
shl eax, 1
shl eax, 1
add ecx, eax
movzx eax, byte [rdx + 0xb]
add ecx, eax
movzx eax, byte [rdx + 0xd]
mov dword [rsp + 0x28], ecx
movzx ecx, byte [rdx + 0xc]
shl ecx, 0xe
shl ecx, 8
shl ecx, 1
shl ecx, 1
shl eax, 2
shl eax, 6
shl eax, 2
shl eax, 5
shl eax, 1
add ecx, eax
movzx eax, byte [rdx + 0xe]
shl eax, 7
shl eax, 1
add ecx, eax
movzx eax, byte [rdx + 0xf]
add ecx, eax
movzx eax, byte [rdx + 0x11]
mov dword [rsp + 0x2c], ecx
movzx ecx, byte [rdx + 0x10]
shl ecx, 0x12
shl ecx, 3
shl ecx, 2
shl ecx, 1
shl eax, 2
shl eax, 8
shl eax, 4
shl eax, 1
shl eax, 1
add ecx, eax
movzx eax, byte [rdx + 0x12]
shl eax, 7
shl eax, 1
add ecx, eax
movzx eax, byte [rdx + 0x13]
add ecx, eax
movzx eax, byte [rdx + 0x15]
mov dword [rsp + 0x30], ecx
movzx ecx, byte [rdx + 0x14]
shl ecx, 0x15
shl ecx, 1
shl ecx, 1
shl ecx, 1
shl eax, 0xf
shl eax, 1
add ecx, eax
movzx eax, byte [rdx + 0x16]
shl eax, 5
shl eax, 3
add ecx, eax
movzx eax, byte [rdx + 0x17]
add ecx, eax
movzx eax, byte [rdx + 0x19]
mov dword [rsp + 0x34], ecx
movzx ecx, byte [rdx + 0x18]
shl ecx, 0x13
shl ecx, 4
shl ecx, 1
shl eax, 0xd
shl eax, 1
shl eax, 1
shl eax, 1
add ecx, eax
movzx eax, byte [rdx + 0x1a]
shl eax, 6
shl eax, 1
shl eax, 1
add ecx, eax
movzx eax, byte [rdx + 0x1b]
add ecx, eax
movzx eax, byte [rdx + 0x1d]
mov dword [rsp + 0x38], ecx
movzx ecx, byte [rdx + 0x1c]
shl ecx, 0xc
shl ecx, 2
shl ecx, 6
shl ecx, 1
shl ecx, 2
shl ecx, 1
shl eax, 0xe
shl eax, 1
shl eax, 1
add ecx, eax
movzx eax, byte [rdx + 0x1e]
shl eax, 7
shl eax, 1
add ecx, eax
movzx eax, byte [rdx + 0x1f]
add ecx, eax
movzx eax, byte [rdx + 0x21]
mov dword [rsp + 0x3c], ecx
shl eax, 0xa
shl eax, 2
shl eax, 1
shl eax, 2
shl eax, 1
movzx ecx, byte [rdx + 0x20]
shl ecx, 6
shl ecx, 6
shl ecx, 0xb
shl ecx, 1
add ecx, eax
movzx eax, byte [rdx + 0x22]
shl eax, 6
shl eax, 1
shl eax, 1
add ecx, eax
movzx eax, byte [rdx + 0x23]
add ecx, eax
movzx eax, byte [rdx + 0x25]
mov dword [rsp + 0x40], ecx
movzx ecx, byte [rdx + 0x24]
shl eax, 8
shl eax, 8
shl ecx, 4
shl ecx, 6
shl ecx, 4
shl ecx, 3
shl ecx, 1
shl ecx, 5
shl ecx, 1
add ecx, eax
movzx eax, byte [rdx + 0x26]
shl eax, 4
shl eax, 1
shl eax, 1
shl eax, 1
shl eax, 1
add ecx, eax
movzx eax, byte [rdx + 0x27]
add ecx, eax
movzx eax, byte [rdx + 0x29]
mov dword [rsp + 0x44], ecx
movzx ecx, byte [rdx + 0x28]
shl eax, 6
shl eax, 3
shl eax, 4
shl eax, 2
shl eax, 1
shl ecx, 0xb
shl ecx, 2
shl ecx, 8
shl ecx, 1
shl ecx, 1
shl ecx, 1
add ecx, eax
movzx eax, byte [rdx + 0x2a]
shl eax, 6
shl eax, 1
shl eax, 1
add ecx, eax
movzx eax, byte [rdx + 0x2b]
add ecx, eax
movzx eax, byte [rdx + 0x2d]
mov dword [rsp + 0x48], ecx
movzx ecx, byte [rdx + 0x2c]
shl eax, 3
shl eax, 4
shl eax, 1
shl eax, 1
shl eax, 3
shl eax, 1
shl eax, 1
shl eax, 1
shl eax, 1
shl ecx, 0xe
shl ecx, 3
shl ecx, 4
shl ecx, 1
shl ecx, 1
shl ecx, 1
add ecx, eax
movzx eax, byte [rdx + 0x2e]
shl eax, 8
add ecx, eax
movzx eax, byte [rdx + 0x2f]
add ecx, eax
movzx eax, byte [rdx + 0x31]
mov dword [rsp + 0x4c], ecx
movzx ecx, byte [rdx + 0x30]
shl eax, 0xb
shl eax, 4
shl eax, 1
shl ecx, 0x13
shl ecx, 4
shl ecx, 1
add ecx, eax
movzx eax, byte [rdx + 0x32]
shl eax, 7
shl eax, 1
add ecx, eax
movzx eax, byte [rdx + 0x33]
add ecx, eax
movzx eax, byte [rdx + 0x35]
mov dword [rsp + 0x50], ecx
movzx ecx, byte [rdx + 0x34]
shl eax, 0x10
shl ecx, 2
shl ecx, 0x10
shl ecx, 5
shl ecx, 1
add ecx, eax
movzx eax, byte [rdx + 0x36]
shl eax, 8
add ecx, eax
movzx eax, byte [rdx + 0x37]
add ecx, eax
movzx eax, byte [rdx + 0x39]
mov dword [rsp + 0x54], ecx
movzx ecx, byte [rdx + 0x38]
shl eax, 2
shl eax, 2
shl eax, 1
shl eax, 0xa
shl eax, 1
shl ecx, 4
shl ecx, 0xb
shl ecx, 5
shl ecx, 2
shl ecx, 1
shl ecx, 1
add ecx, eax
movzx eax, byte [rdx + 0x3a]
shl eax, 2
shl eax, 2
shl eax, 2
shl eax, 1
shl eax, 1
add ecx, eax
movzx eax, byte [rdx + 0x3b]
mov esi, 0x5e5ca2cb
xor esi, 0x45f1dd08
add esi, 0xdf3425b
sub esi, 0x7ba5757
add esi, 0xcee6eac
add esi, 0x39e59142
sub esi, 0x684c9a03
add esi, 0x2a721a31
sub esi, 0x2adfeae1
add ecx, eax
mov dword [rbp + 0xb0], esi
movzx eax, byte [rdx + 0x3d]
mov dword [rsp + 0x58], ecx
movzx ecx, byte [rdx + 0x3c]
shl eax, 0x10
shl ecx, 6
shl ecx, 7
shl ecx, 2
shl ecx, 6
shl ecx, 2
shl ecx, 1
add ecx, eax
movzx eax, byte [rdx + 0x3e]
shl eax, 7
shl eax, 1
add ecx, eax
movzx eax, byte [rdx + 0x3f]
add ecx, eax
mov dword [rsp + 0x5c], ecx
mov eax, esi
lea ecx, [rsi + 0x10]
mov edi, dword [rsp + rax*4 + 0x20]
lea eax, [rsi + 6]
mov r13d, dword [rsp + rax*4 + 0x20]
lea eax, [rsi + 0xb]
mov edx, dword [rsp + rax*4 + 0x20]
lea eax, [rsi - 2]
mov r8d, edx
mov dword [rbp + 0xb8], edx
xor r8d, dword [rsp + rax*4 + 0x20]
lea eax, [rsi + 0xe]
xor r8d, r13d
xor r8d, edi
rol r8d, 1
mov dword [rsp + rax*4 + 0x20], r8d
lea eax, [rsi + 1]
mov r11d, dword [rsp + rax*4 + 0x20]
lea eax, [rsi + 7]
mov r12d, dword [rsp + rax*4 + 0x20]
lea eax, [rsi + 0xc]
mov edx, dword [rsp + rax*4 + 0x20]
lea eax, [rsi - 1]
mov ebx, edx
mov dword [rsp], edx
xor ebx, dword [rsp + rax*4 + 0x20]
lea eax, [rsi + 0xf]
xor ebx, r12d
mov dword [rsp + 8], r8d
xor ebx, r11d
xor r11d, r8d
rol ebx, 1
mov dword [rsp + rax*4 + 0x20], ebx
lea eax, [rsi + 2]
mov edx, dword [rsp + rax*4 + 0x20]
lea eax, [rsi + 8]
mov r10d, dword [rsp + rax*4 + 0x20]
lea eax, [rsi + 0xd]
mov eax, dword [rsp + rax*4 + 0x20]
xor edi, eax
mov dword [rsp + 4], eax
xor edi, r10d
lea eax, [rsi + 3]
mov dword [rsp + 0xc], ebx
xor edi, edx
mov r9d, dword [rsp + rax*4 + 0x20]
lea eax, [rsi + 9]
mov r15d, dword [rsp + rax*4 + 0x20]
xor r11d, r15d
lea eax, [rsi + 0x11]
rol edi, 1
xor r11d, r9d
mov dword [rsp + 0x10], edi
rol r11d, 1
mov dword [rsp + rax*4 + 0x20], r11d
lea eax, [rsi + 4]
mov r8d, dword [rsp + rax*4 + 0x20]
lea eax, [rsi + 0xa]
mov r14d, dword [rsp + rax*4 + 0x20]
mov esi, ebx
mov ebx, dword [rbp + 0xb8]
xor esi, r14d
xor esi, r8d
mov dword [rsp + rcx*4 + 0x20], edi
xor esi, edx
mov dword [rsp + 0x14], r11d
mov edx, dword [rbp + 0xb0]
rol esi, 1
lea eax, [rdx + 0x12]
mov dword [rsp + rax*4 + 0x20], esi
lea eax, [rdx + 5]
mov edx, dword [rsp + rax*4 + 0x20]
xor ebx, edx
xor ebx, r9d
mov r9d, dword [rbp + 0xb0]
xor ebx, edi
mov edi, dword [rsp]
rol ebx, 1
xor edi, r13d
lea eax, [r9 + 0x13]
mov dword [rsp + rax*4 + 0x20], ebx
lea eax, [r9 + 0x14]
xor edi, r8d
xor edi, r11d
mov r11d, r12d
xor r11d, edx
rol edi, 1
mov edx, dword [rsp + 8]
xor r11d, esi
xor r11d, dword [rsp + 4]
xor edx, r13d
mov r13d, dword [rsp + 0xc]
xor edx, ebx
mov dword [rsp + rax*4 + 0x20], edi
xor edx, r10d
lea eax, [r9 + 0x15]
rol edx, 1
mov r8d, r13d
rol r11d, 1
mov dword [rsp + rax*4 + 0x20], r11d
xor r8d, r12d
mov r12d, dword [rbp + 0xb8]
lea eax, [r9 + 0x16]
mov dword [rsp + rax*4 + 0x20], edx
xor r8d, edi
lea eax, [r9 + 0x17]
xor r8d, r15d
rol r8d, 1
mov r9d, r11d
mov dword [rsp + rax*4 + 0x20], r8d
xor r9d, r14d
mov eax, dword [rbp + 0xb0]
xor r9d, dword [rsp + 0x10]
nop
sub eax, 0x7ccba522
add eax, 0x7ccba53a
xor r9d, r10d
mov r10d, r12d
xor r10d, edx
rol r9d, 1
xor r10d, dword [rsp + 0x14]
xor r12d, r9d
xor r10d, r15d
mov dword [rsp + rax*4 + 0x20], r9d
mov eax, dword [rbp + 0xb0]
xor r12d, ebx
mov r15d, dword [rsp]
nop
sub eax, 0x30755ed2
add eax, 0x30755eeb
xor r12d, dword [rsp + 4]
mov edx, r15d
xor r15d, dword [rsp + 8]
xor edx, r8d
xor edx, esi
rol r10d, 1
mov esi, dword [rbp + 0xb0]
xor r15d, r10d
mov dword [rsp + rax*4 + 0x20], r10d
xor edx, r14d
rol edx, 1
xor r15d, edi
xor r13d, edx
rol r12d, 1
lea eax, [rsi + 0x1a]
rol r15d, 1
mov dword [rsp + rax*4 + 0x20], edx
xor r13d, r11d
xor r13d, dword [rsp + 4]
lea eax, [rsi + 0x1b]
mov dword [rsp + rax*4 + 0x20], r12d
lea eax, [rsi + 0x1c]
mov dword [rsp + rax*4 + 0x20], r15d
lea eax, [rsi + 0x1d]
rol r13d, 1
mov esi, ecx
mov dword [rsp + rax*4 + 0x20], r13d
lea eax, [rcx + 0xe]
mov dword [rbp + 0xb0], ecx
cmp eax, 0x50
jb 0x1401b1086
xchg r15, rdi
mov r15, qword [rbp + 0xa0]
xchg rdi, r15
lea rsi, [rsp + 0x20]
mov r14d, 0x4e3da961
sub r14d, 0x1c1452e1
add r14d, 0x328520e
xor r14d, 0x316e1eaf
add r14d, 0x5fe17b64
add r14d, 0x1b284d04
sub r14d, 0x7f497e75
mov r15d, r14d
mov r13d, dword [rdi + 0x50]
mov r9d, r13d
mov r10d, dword [rdi + 0x54]
mov r8d, dword [rdi + 0x58]
mov r11d, dword [rdi + 0x5c]
mov ebx, dword [rdi + 0x60]
mov r12d, dword [rdi + 0x64]
nop dword [rax]
nop word [rax + rax]
mov ecx, r8d
lea rsi, [rsi + 4]
and ecx, r10d
mov edx, r10d
not edx
mov eax, r9d
rol eax, 2
rol eax, 1
rol eax, 2
and edx, r11d
xor edx, ecx
add eax, edx
add eax, dword [rsi - 4]
add eax, r12d
add eax, ebx
mov ebx, r11d
mov r11d, r8d
mov r8d, r10d
ror r8d, 2
mov r10d, r9d
mov r9d, eax
sub r15, 1
jne 0x1401b1335
mov r15d, dword [rdi + 0x68]
lea rdx, [rsp + 0x70]
mov rsi, r14
nop dword [rax]
mov ecx, eax
lea rdx, [rdx + 4]
mov eax, r11d
rol ecx, 5
xor eax, r8d
add ecx, r15d
xor eax, r10d
add eax, ecx
add eax, dword [rdx - 4]
add eax, ebx
mov ebx, r11d
mov r11d, r8d
mov r8d, r10d
ror r8d, 2
mov r10d, r9d
mov r9d, eax
sub rsi, 1
jne 0x1401b138e
mov r12d, dword [rdi + 0x6c]
lea rsi, [rbp - 0x40]
xchg r15, r14
mov r14, r15
xchg r15, r14
mov edx, eax
nop dword [rax]
nop word [rax + rax]
mov ecx, r9d
lea rsi, [rsi + 4]
mov r9d, r8d
rol ecx, 3
rol ecx, 1
rol ecx, 1
xor r9d, r10d
mov eax, r8d
and r9d, r11d
and eax, r10d
xor r9d, eax
lea eax, [r12 + rcx]
add r9d, eax
add r9d, ebx
mov ebx, r11d
add r9d, dword [rsi - 4]
mov r11d, r8d
mov r8d, r10d
mov r10d, edx
ror r8d, 2
mov edx, r9d
sub r15, 1
jne 0x1401b13e8
mov esi, dword [rdi + 0x70]
lea rcx, [rbp + 0x10]
nop word [rax + rax]
mov eax, edx
lea rcx, [rcx + 4]
mov edx, r11d
rol eax, 2
rol eax, 2
rol eax, 1
xor edx, r8d
add eax, esi
xor edx, r10d
add edx, eax
add edx, dword [rcx - 4]
add edx, ebx
mov ebx, r11d
mov r11d, r8d
mov r8d, r10d
ror r8d, 2
mov r10d, r9d
mov r9d, edx
sub r14, 1
jne 0x1401b1440
add dword [rdi + 0x54], r10d
lea eax, [rdx + r13]
add dword [rdi + 0x58], r8d
add dword [rdi + 0x5c], r11d
add dword [rdi + 0x60], ebx
xchg rdi, rbx
mov rdi, qword [rsp + 0x1a8]
xchg rbx, rdi
mov dword [rdi + 0x50], eax
add rsp, 0x160
push rdx
push rax
push rdx
push rdx
push rcx
xchg qword [rsp + 0x28], r15
pop rcx
pop rdx
pop rdx
pop rax
pop rdx
add rsp, 8
push rdx
push rcx
push rdx
push rdx
push rdx
push rcx
push rcx
xchg qword [rsp + 0x38], r14
add rsp, 0x40
push rax
push rbx
push rbx
push rax
push rax
xchg qword [rsp + 0x28], r13
pop rax
pop rax
pop rbx
pop rbx
pop rax
add rsp, 8
nop
mov r12, qword [rsp]
add rsp, 8
nop
mov rdi, qword [rsp]
add rsp, 8
push rdx
push rcx
push rdx
push rax
xchg qword [rsp + 0x20], rsi
add rsp, 0x28
nop
xchg qword [rsp], rbp
add rsp, 8
nop
add rsp, 8
jmp qword [rsp - 8]