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

Disassembly:
xchg rbx, r9
mov qword [rsp + 0x10], r9
xchg rbx, r9
mov qword [rsp + 8], rcx
push rbp
push rdx
mov qword [rsp], rsi
push rdi
push r12
push r13
push r14
nop
sub rsp, 8
mov qword [rsp], r15
lea rbp, [rsp - 0x27]
sub rsp, 0x100
xchg r9, r14
mov r9, rcx
xchg r9, r14
movzx eax, byte [rdx + 1]
movzx r8d, byte [rdx]
movzx ecx, byte [rdx + 4]
shl ecx, 4
shl ecx, 1
shl ecx, 2
shl ecx, 1
shl r8d, 4
shl r8d, 2
shl r8d, 1
shl r8d, 1
or r8d, eax
movzx eax, byte [rdx + 2]
shl r8d, 2
shl r8d, 3
shl r8d, 1
shl r8d, 1
shl r8d, 1
or r8d, eax
movzx eax, byte [rdx + 3]
shl r8d, 2
shl r8d, 1
shl r8d, 3
shl r8d, 1
shl r8d, 1
or r8d, eax
movzx eax, byte [rdx + 5]
or ecx, eax
mov dword [rsp], r8d
shl ecx, 4
shl ecx, 3
shl ecx, 1
movzx eax, byte [rdx + 6]
or ecx, eax
movzx eax, byte [rdx + 7]
shl ecx, 2
shl ecx, 4
shl ecx, 1
shl ecx, 1
or ecx, eax
movzx eax, byte [rdx + 9]
mov dword [rsp + 4], ecx
movzx ecx, byte [rdx + 8]
shl ecx, 5
shl ecx, 1
shl ecx, 1
shl ecx, 1
or ecx, eax
movzx eax, byte [rdx + 0xa]
shl ecx, 7
shl ecx, 1
or ecx, eax
movzx eax, byte [rdx + 0xb]
shl ecx, 7
shl ecx, 1
or ecx, eax
movzx eax, byte [rdx + 0xd]
mov dword [rsp + 8], ecx
movzx ecx, byte [rdx + 0xc]
shl ecx, 1
shl ecx, 5
shl ecx, 1
shl ecx, 1
or ecx, eax
movzx eax, byte [rdx + 0xe]
shl ecx, 3
shl ecx, 4
shl ecx, 1
or ecx, eax
movzx eax, byte [rdx + 0xf]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0x11]
mov dword [rsp + 0xc], ecx
movzx ecx, byte [rdx + 0x10]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0x12]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0x13]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0x15]
mov dword [rsp + 0x10], ecx
movzx ecx, byte [rdx + 0x14]
shl ecx, 2
shl ecx, 3
shl ecx, 2
shl ecx, 1
or ecx, eax
movzx eax, byte [rdx + 0x16]
shl ecx, 6
shl ecx, 2
or ecx, eax
movzx eax, byte [rdx + 0x17]
shl ecx, 2
shl ecx, 3
shl ecx, 1
shl ecx, 1
shl ecx, 1
or ecx, eax
movzx eax, byte [rdx + 0x19]
mov dword [rsp + 0x14], ecx
movzx ecx, byte [rdx + 0x18]
shl ecx, 7
shl ecx, 1
or ecx, eax
movzx eax, byte [rdx + 0x1a]
shl ecx, 3
shl ecx, 1
shl ecx, 3
shl ecx, 1
or ecx, eax
movzx eax, byte [rdx + 0x1b]
shl ecx, 1
shl ecx, 3
shl ecx, 4
or ecx, eax
movzx eax, byte [rdx + 0x1d]
mov dword [rsp + 0x18], ecx
movzx ecx, byte [rdx + 0x1c]
shl ecx, 7
shl ecx, 1
or ecx, eax
movzx eax, byte [rdx + 0x1e]
shl ecx, 7
shl ecx, 1
or ecx, eax
movzx eax, byte [rdx + 0x1f]
shl ecx, 1
shl ecx, 3
shl ecx, 2
shl ecx, 1
shl ecx, 1
or ecx, eax
movzx eax, byte [rdx + 0x21]
mov dword [rsp + 0x1c], ecx
movzx ecx, byte [rdx + 0x20]
shl ecx, 1
shl ecx, 5
shl ecx, 1
shl ecx, 1
or ecx, eax
movzx eax, byte [rdx + 0x22]
shl ecx, 1
shl ecx, 6
shl ecx, 1
or ecx, eax
movzx eax, byte [rdx + 0x23]
shl ecx, 3
shl ecx, 5
or ecx, eax
movzx eax, byte [rdx + 0x25]
mov dword [rsp + 0x20], ecx
movzx ecx, byte [rdx + 0x24]
shl ecx, 4
shl ecx, 1
shl ecx, 1
shl ecx, 1
shl ecx, 1
or ecx, eax
movzx eax, byte [rdx + 0x26]
shl ecx, 2
shl ecx, 5
shl ecx, 1
or ecx, eax
movzx eax, byte [rdx + 0x27]
shl ecx, 6
shl ecx, 1
shl ecx, 1
or ecx, eax
movzx eax, byte [rdx + 0x29]
mov dword [rsp + 0x24], ecx
movzx ecx, byte [rdx + 0x28]
shl ecx, 7
shl ecx, 1
or ecx, eax
movzx eax, byte [rdx + 0x2a]
shl ecx, 3
shl ecx, 5
or ecx, eax
movzx eax, byte [rdx + 0x2b]
shl ecx, 2
shl ecx, 4
shl ecx, 1
shl ecx, 1
or ecx, eax
movzx eax, byte [rdx + 0x2d]
mov dword [rsp + 0x28], ecx
movzx ecx, byte [rdx + 0x2c]
shl ecx, 5
shl ecx, 3
or ecx, eax
movzx eax, byte [rdx + 0x2e]
shl ecx, 2
shl ecx, 2
shl ecx, 2
shl ecx, 1
shl ecx, 1
or ecx, eax
movzx eax, byte [rdx + 0x2f]
shl ecx, 1
shl ecx, 7
or ecx, eax
movzx eax, byte [rdx + 0x31]
mov dword [rsp + 0x2c], ecx
movzx ecx, byte [rdx + 0x30]
shl ecx, 1
shl ecx, 4
shl ecx, 1
shl ecx, 2
or ecx, eax
movzx eax, byte [rdx + 0x32]
shl ecx, 2
shl ecx, 4
shl ecx, 2
or ecx, eax
movzx eax, byte [rdx + 0x33]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0x35]
mov dword [rsp + 0x30], ecx
movzx ecx, byte [rdx + 0x34]
shl ecx, 5
shl ecx, 2
shl ecx, 1
or ecx, eax
movzx eax, byte [rdx + 0x36]
shl ecx, 6
shl ecx, 1
shl ecx, 1
or ecx, eax
movzx eax, byte [rdx + 0x37]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0x39]
mov dword [rsp + 0x34], ecx
movzx ecx, byte [rdx + 0x38]
shl ecx, 6
shl ecx, 1
shl ecx, 1
or ecx, eax
movzx eax, byte [rdx + 0x3a]
shl ecx, 5
shl ecx, 1
shl ecx, 1
shl ecx, 1
or ecx, eax
movzx eax, byte [rdx + 0x3b]
mov r15d, 0x12f04247
add r15d, 0x5e15e852
xor r15d, 0x68b29b4d
xor r15d, 0x7b155519
sub r15d, 0x5f0b510
xor r15d, 0x5cb12fb3
shl ecx, 1
shl ecx, 1
shl ecx, 3
shl ecx, 1
shl ecx, 1
shl ecx, 1
or ecx, eax
movzx eax, byte [rdx + 0x3d]
mov dword [rsp + 0x38], ecx
movzx ecx, byte [rdx + 0x3c]
shl ecx, 1
shl ecx, 1
shl ecx, 5
shl ecx, 1
or ecx, eax
movzx eax, byte [rdx + 0x3e]
shl ecx, 2
shl ecx, 4
shl ecx, 1
shl ecx, 1
or ecx, eax
movzx eax, byte [rdx + 0x3f]
shl ecx, 2
shl ecx, 4
shl ecx, 2
or ecx, eax
mov dword [rsp + 0x3c], ecx
lea eax, [r15 - 0xd]
mov r10d, dword [rsp + rax*4]
lea rbx, [rsp]
mov eax, r15d
lea rdi, [rsp]
mov r11d, r10d
rol r11d, 3
rol r11d, 6
rol r11d, 5
mov esi, dword [rsp + rax*4]
mov eax, r10d
ror eax, 4
ror eax, 1
ror eax, 1
ror eax, 1
mov ecx, esi
xor r11d, eax
rol ecx, 2
rol ecx, 3
rol ecx, 8
rol ecx, 1
rol ecx, 1
mov eax, r10d
shr eax, 2
shr eax, 1
xor r11d, eax
mov eax, esi
rol eax, 0xb
rol eax, 1
rol eax, 1
xor ecx, eax
mov eax, esi
shr eax, 5
shr eax, 4
shr eax, 1
xor ecx, eax
lea eax, [r15 - 0xe]
add r11d, ecx
add r11d, dword [rsp + rax*4]
lea eax, [r15 - 5]
add r11d, dword [rsp + rax*4]
lea eax, [r15 + 2]
mov dword [rsp + rax*4], r11d
lea eax, [r15 - 0xc]
mov r8d, dword [rbx + rax*4]
lea rbx, [rbx + rax*4]
lea eax, [r15 + 1]
mov ecx, r8d
mov edx, dword [rsp + rax*4]
mov r9d, edx
mov eax, edx
rol r9d, 1
rol r9d, 0xa
rol r9d, 1
rol r9d, 1
rol r9d, 1
rol r9d, 1
rol eax, 4
rol eax, 8
rol eax, 1
xor r9d, eax
rol ecx, 0xd
rol ecx, 1
mov eax, r8d
shr edx, 3
shr edx, 5
shr edx, 1
shr edx, 1
ror eax, 3
ror eax, 2
ror eax, 1
ror eax, 1
xor r9d, edx
xor ecx, eax
shr r8d, 2
shr r8d, 1
xor ecx, r8d
lea eax, [r15 - 4]
add r9d, ecx
mov r8d, r11d
add r9d, dword [rsp + rax*4]
lea eax, [r15 + 3]
rol r8d, 5
rol r8d, 9
rol r8d, 1
add r10d, r9d
mov dword [rsp + rax*4], r10d
lea r9, [rsp]
mov ebx, dword [rbx]
lea eax, [r15 - 0xb]
mov edx, dword [r9 + rax*4]
lea r9, [r9 + rax*4]
mov eax, r11d
mov ecx, edx
rol eax, 9
rol eax, 1
rol eax, 2
rol eax, 1
xor r8d, eax
rol ecx, 9
rol ecx, 1
rol ecx, 1
rol ecx, 2
rol ecx, 1
mov eax, edx
shr r11d, 7
shr r11d, 2
shr r11d, 1
ror eax, 2
ror eax, 3
ror eax, 1
ror eax, 1
xor r8d, r11d
xor ecx, eax
shr edx, 3
lea eax, [r15 - 3]
xor ecx, edx
add r8d, ecx
add r8d, dword [rsp + rax*4]
lea eax, [r15 + 4]
add ebx, r8d
mov dword [rsp + rax*4], ebx
lea eax, [r15 - 0xa]
lea rdi, [rdi + rax*4]
mov edx, dword [rdi]
lea r11d, [r15 + 6]
mov eax, r10d
mov ecx, edx
rol eax, 0xd
mov r8d, r10d
rol ecx, 7
rol ecx, 4
rol ecx, 2
rol ecx, 1
rol r8d, 4
rol r8d, 0xb
xor r8d, eax
shr r10d, 4
shr r10d, 2
shr r10d, 1
shr r10d, 1
shr r10d, 1
shr r10d, 1
mov eax, edx
xor r10d, r8d
ror eax, 1
ror eax, 1
ror eax, 2
ror eax, 1
ror eax, 1
ror eax, 1
xor ecx, eax
shr edx, 2
shr edx, 1
xor ecx, edx
lea eax, [r15 - 2]
add r10d, ecx
add r10d, dword [rsp + rax*4]
lea eax, [r15 + 5]
add r10d, dword [r9]
lea r9, [rsp]
mov dword [rsp + rax*4], r10d
lea eax, [r15 - 9]
mov ecx, dword [r9 + rax*4]
lea r9, [r9 + rax*4]
mov eax, ecx
mov edx, ecx
ror eax, 1
ror eax, 4
ror eax, 1
ror eax, 1
shr ecx, 1
shr ecx, 2
rol edx, 7
rol edx, 6
rol edx, 1
xor edx, eax
mov eax, ebx
xor edx, ecx
rol eax, 0xb
rol eax, 1
rol eax, 1
mov ecx, ebx
shr ebx, 7
shr ebx, 3
rol ecx, 1
rol ecx, 0xe
xor ecx, eax
lea eax, [r15 - 1]
xor ecx, ebx
add edx, ecx
mov ecx, r10d
add edx, dword [rsp + rax*4]
lea eax, [r15 - 8]
add edx, dword [rdi]
mov dword [rsp + r11*4], edx
mov edx, dword [rsp + rax*4]
mov r8d, edx
rol r8d, 8
rol r8d, 2
rol r8d, 2
rol r8d, 1
rol r8d, 1
mov eax, edx
ror eax, 7
xor r8d, eax
rol ecx, 0xe
rol ecx, 1
mov eax, r10d
shr edx, 3
rol eax, 3
rol eax, 8
rol eax, 1
rol eax, 1
xor r8d, edx
xor ecx, eax
shr r10d, 2
shr r10d, 4
shr r10d, 3
shr r10d, 1
lea eax, [r15 + 7]
xor ecx, r10d
add r8d, ecx
mov r15d, r11d
add r8d, dword [r9]
add r8d, esi
mov dword [rsp + rax*4], r8d
lea eax, [r11 + 2]
cmp eax, 0x40
jb 0x1401b205b
mov eax, dword [r14 + 0x50]
lea r12, [rsp]
mov r11d, dword [r14 + 0x54]
lea r13, [0x140004120]
mov edi, dword [r14 + 0x58]
mov r10d, eax
mov esi, dword [r14 + 0x64]
xor ebx, ebx
mov r15d, dword [r14 + 0x68]
mov r8d, dword [r14 + 0x6c]
mov dword [rbp + 0x7f], eax
mov eax, dword [r14 + 0x5c]
mov dword [rbp + 0x77], eax
mov eax, dword [r14 + 0x60]
mov r14d, dword [rbp + 0x77]
jmp 0x1401b2350
mov r8d, edx
mov r9d, eax
lea r13, [r13 + 4]
ror r9d, 1
ror r9d, 7
ror r9d, 2
ror r9d, 1
lea r12, [r12 + 4]
mov ecx, eax
mov edx, eax
rol ecx, 2
rol ecx, 5
not edx
xor r9d, ecx
and edx, r15d
mov ecx, eax
ror ecx, 3
ror ecx, 2
ror ecx, 1
xor r9d, ecx
mov ecx, esi
and ecx, eax
xor edx, ecx
lea ecx, [rbx - 0x59fb79dd]
xor ecx, dword [r13 - 4]
add r9d, edx
add r9d, ecx
mov edx, r11d
add r9d, dword [r12 - 4]
xor edx, r10d
add r9d, r8d
and edx, edi
mov r8d, r10d
mov ecx, r10d
rol ecx, 6
rol ecx, 3
rol ecx, 1
inc ebx
ror r8d, 2
ror r8d, 3
ror r8d, 3
ror r8d, 2
ror r8d, 3
xor r8d, ecx
mov ecx, r10d
ror ecx, 1
ror ecx, 1
xor r8d, ecx
mov ecx, r11d
and ecx, r10d
xor edx, ecx
add r8d, edx
mov edx, r15d
mov r15d, esi
mov esi, eax
lea eax, [r9 + r14]
mov r14d, edi
mov edi, r11d
mov r11d, r10d
lea r10d, [r8 + r9]
cmp ebx, 0x40
jb 0x1401b234d
mov ecx, dword [rbp + 0x7f]
mov rbx, qword [rsp + 0x148]
add ecx, r10d
mov dword [rbp + 0x77], r14d
mov r14, qword [rbp + 0x67]
add dword [r14 + 0x54], r11d
add dword [r14 + 0x58], edi
add dword [r14 + 0x60], eax
add dword [r14 + 0x64], esi
add dword [r14 + 0x68], r15d
mov dword [r14 + 0x50], ecx
mov ecx, dword [rbp + 0x77]
add dword [r14 + 0x5c], ecx
add dword [r14 + 0x6c], edx
add rsp, 0x100
nop
xchg qword [rsp], r15
add rsp, 8
nop
xchg qword [rsp], r14
add rsp, 8
push rbx
push rcx
push rax
push rbx
push rbx
xchg qword [rsp + 0x28], r13
add rsp, 0x30
push rbx
push rcx
push rcx
push rbx
push rbx
push rbx
xchg qword [rsp + 0x30], r12
add rsp, 0x38
push rcx
push rax
push rbx
push rax
push rcx
xchg qword [rsp + 0x28], rdi
pop rcx
pop rax
pop rbx
pop rax
pop rcx
add rsp, 8
nop
mov rsi, qword [rsp]
add rsp, 8
nop
mov rbp, qword [rsp]
add rsp, 8
ret