Function at 0x1401b07a0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
xchg rcx, r12
mov qword [rsp + 8], r12
xchg rcx, r12
nop
sub rsp, 8
mov qword [rsp], rbp
nop
mov qword [rsp - 8], rsi
sub rsp, 8
nop
mov qword [rsp - 8], rdi
sub rsp, 8
nop
mov qword [rsp - 8], r12
sub rsp, 8
push r15
mov qword [rsp], r13
nop
sub rsp, 8
mov qword [rsp], r14
push rdx
mov qword [rsp], r15
lea rbp, [rsp - 0x60]
sub rsp, 0x160
movzx r8d, byte [rdx + 1]
movzx eax, byte [rdx + 2]
shl eax, 1
shl eax, 4
shl eax, 2
shl eax, 1
movzx ecx, byte [rdx + 4]
shl ecx, 0x15
shl ecx, 1
shl ecx, 1
shl ecx, 1
shl r8d, 0xf
shl r8d, 1
add r8d, eax
movzx eax, byte [rdx]
shl eax, 0xc
shl eax, 6
shl eax, 3
shl eax, 1
shl eax, 1
shl eax, 1
add r8d, eax
movzx eax, byte [rdx + 3]
add r8d, eax
movzx eax, byte [rdx + 5]
shl eax, 7
shl eax, 2
shl eax, 5
shl eax, 1
shl eax, 1
add ecx, eax
mov dword [rsp + 0x20], r8d
movzx eax, byte [rdx + 6]
shl eax, 6
shl eax, 1
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, 0x15
shl ecx, 1
shl ecx, 1
shl ecx, 1
shl eax, 1
shl eax, 0xb
shl eax, 4
add ecx, eax
movzx eax, byte [rdx + 0xa]
shl eax, 4
shl eax, 1
shl eax, 1
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, 0x18
shl eax, 6
shl eax, 3
shl eax, 4
shl eax, 1
shl eax, 1
shl eax, 1
add ecx, eax
movzx eax, byte [rdx + 0xe]
shl eax, 1
shl eax, 3
shl eax, 1
shl eax, 3
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, 0x15
shl ecx, 2
shl ecx, 1
shl eax, 8
shl eax, 5
shl eax, 2
shl eax, 1
add ecx, eax
movzx eax, byte [rdx + 0x12]
shl eax, 2
shl eax, 6
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, 0x10
shl ecx, 3
shl ecx, 2
shl ecx, 2
shl ecx, 1
shl eax, 1
shl eax, 0xb
shl eax, 4
add ecx, eax
movzx eax, byte [rdx + 0x16]
shl eax, 6
shl eax, 2
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, 0x15
shl ecx, 1
shl ecx, 1
shl ecx, 1
shl eax, 4
shl eax, 0xa
shl eax, 1
shl eax, 1
add ecx, eax
movzx eax, byte [rdx + 0x1a]
shl eax, 4
shl eax, 1
shl eax, 1
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, 0xe
shl ecx, 7
shl ecx, 2
shl ecx, 1
shl eax, 4
shl eax, 0xc
add ecx, eax
movzx eax, byte [rdx + 0x1e]
shl eax, 6
shl eax, 1
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, 7
shl eax, 8
shl eax, 1
movzx ecx, byte [rdx + 0x20]
shl ecx, 0xb
shl ecx, 0xb
shl ecx, 1
shl ecx, 1
add ecx, eax
movzx eax, byte [rdx + 0x22]
shl eax, 3
shl eax, 1
shl eax, 2
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, 5
shl eax, 0xa
shl eax, 1
shl ecx, 0x15
shl ecx, 2
shl ecx, 1
add ecx, eax
movzx eax, byte [rdx + 0x26]
shl eax, 3
shl eax, 5
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, 5
shl eax, 2
shl eax, 3
shl eax, 6
shl ecx, 0x10
shl ecx, 6
shl ecx, 1
shl ecx, 1
add ecx, eax
movzx eax, byte [rdx + 0x2a]
shl eax, 7
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, 5
shl eax, 4
shl eax, 5
shl eax, 1
shl eax, 1
shl ecx, 0x17
shl ecx, 1
add ecx, eax
movzx eax, byte [rdx + 0x2e]
shl eax, 5
shl eax, 1
shl eax, 1
shl eax, 1
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, 2
shl eax, 0xe
shl ecx, 7
shl ecx, 3
shl ecx, 4
shl ecx, 9
shl ecx, 1
add ecx, eax
movzx eax, byte [rdx + 0x32]
shl eax, 3
shl eax, 4
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, 0xc
shl eax, 1
shl eax, 1
shl eax, 1
shl eax, 1
shl ecx, 0x12
shl ecx, 2
shl ecx, 2
shl ecx, 1
shl ecx, 1
add ecx, eax
movzx eax, byte [rdx + 0x36]
shl eax, 4
shl eax, 1
shl eax, 1
shl eax, 1
shl eax, 1
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, 0xe
shl eax, 1
shl eax, 1
shl ecx, 9
shl ecx, 6
shl ecx, 1
shl ecx, 5
shl ecx, 1
shl ecx, 1
shl ecx, 1
add ecx, eax
movzx eax, byte [rdx + 0x3a]
shl eax, 2
shl eax, 5
shl eax, 1
add ecx, eax
movzx eax, byte [rdx + 0x3b]
mov esi, 0x6655b40a
sub esi, 0x11d9ae48
xor esi, 0x3cdaf89d
sub esi, 0x5f0f284b
add esi, 0x10809ef
add esi, 0x1c9fde84
xor esi, 0xdbae441
add esi, 0x192bb841
xor esi, 0x43b11205
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, 0xc
shl eax, 4
shl ecx, 4
shl ecx, 8
shl ecx, 4
shl ecx, 4
shl ecx, 3
shl ecx, 1
add ecx, eax
movzx eax, byte [rdx + 0x3e]
shl eax, 5
shl eax, 1
shl eax, 1
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]
sub eax, 0xffffffe8
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
add eax, 0xe600de8
sub eax, 0xe600dcf
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 0x1401b0b9f
xchg rdi, rdx
mov rdx, qword [rbp + 0xa0]
xchg rdi, rdx
lea rsi, [rsp + 0x20]
mov r14d, 0x7dd9ec89
xor r14d, 0x64bdc84c
add r14d, 0x31883808
xor r14d, 0x5c7fe9a6
xor r14d, 0x68d0703
add r14d, 0x311c6f31
sub r14d, 0xc22b5db
sub r14d, 0x2e88ce16
sub r14d, 0x68f9d94
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, 3
rol eax, 1
rol eax, 1
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 0x1401b0e54
mov r15d, dword [rdi + 0x68]
lea rdx, [rsp + 0x70]
xchg r13, r14
mov rsi, r13
xchg r14, r13
nop dword [rax]
mov ecx, eax
lea rdx, [rdx + 4]
mov eax, r11d
rol ecx, 3
rol ecx, 1
rol ecx, 1
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 0x1401b0eb2
mov r12d, dword [rdi + 0x6c]
lea rsi, [rbp - 0x40]
xchg r14, r9
mov r15, r9
xchg r14, r9
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 0x1401b0f10
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, 1
rol eax, 3
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, 1
ror r8d, 1
mov r10d, r9d
mov r9d, edx
sub r14, 1
jne 0x1401b0f68
add dword [rdi + 0x54], r10d
lea eax, [rdx + r13]
add dword [rdi + 0x58], r8d
add dword [rdi + 0x5c], r11d
add dword [rdi + 0x60], ebx
mov rbx, qword [rsp + 0x1a8]
mov dword [rdi + 0x50], eax
add rsp, 0x160
push rcx
push rdx
push rcx
push rdx
push rcx
push rbx
xchg qword [rsp + 0x30], r15
add rsp, 0x38
nop
xchg qword [rsp], r14
add rsp, 8
nop
xchg qword [rsp], r13
add rsp, 8
nop
xchg qword [rsp], r12
add rsp, 8
nop
add rsp, 8
xchg qword [rsp - 8], rdi
push rax
xchg qword [rsp + 8], rsi
pop rax
add rsp, 8
nop
add rsp, 8
xchg qword [rsp - 8], rbp
ret