Function at 0x1401b16b0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
xchg rcx, rdi
mov qword [rsp + 8], rdi
xchg rcx, rdi
push rbp
nop
push r15
mov qword [rsp], rsi
nop
push 0x79b1e732
mov qword [rsp], rdi
push r12
push r13
nop
mov qword [rsp - 8], r14
sub rsp, 8
nop
mov qword [rsp - 8], r15
sub rsp, 8
lea rbp, [rsp - 0x60]
sub rsp, 0x160
movzx r8d, byte [rdx + 1]
movzx eax, byte [rdx + 2]
shl eax, 3
shl eax, 2
shl eax, 1
shl eax, 1
shl eax, 1
movzx ecx, byte [rdx + 4]
shl ecx, 0x15
shl ecx, 2
shl ecx, 1
shl r8d, 0xa
shl r8d, 3
shl r8d, 2
shl r8d, 1
add r8d, eax
movzx eax, byte [rdx]
shl eax, 0x15
shl eax, 2
shl eax, 1
add r8d, eax
movzx eax, byte [rdx + 3]
add r8d, eax
movzx eax, byte [rdx + 5]
shl eax, 0xf
shl eax, 1
add ecx, eax
mov dword [rsp + 0x20], r8d
movzx eax, byte [rdx + 6]
shl eax, 2
shl eax, 3
shl eax, 1
shl eax, 2
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, 3
shl ecx, 2
shl ecx, 0xe
shl ecx, 3
shl ecx, 1
shl ecx, 1
shl eax, 5
shl eax, 0xb
add ecx, eax
movzx eax, byte [rdx + 0xa]
shl eax, 1
shl eax, 4
shl eax, 3
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, 5
shl ecx, 7
shl ecx, 5
shl ecx, 5
shl ecx, 1
shl ecx, 1
shl eax, 0xc
shl eax, 2
shl eax, 1
shl eax, 1
add ecx, eax
movzx eax, byte [rdx + 0xe]
shl eax, 5
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, 4
shl ecx, 9
shl ecx, 3
shl ecx, 6
shl ecx, 1
shl ecx, 1
shl eax, 2
shl eax, 9
shl eax, 3
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, 5
shl ecx, 0x11
shl ecx, 1
shl ecx, 1
shl eax, 4
shl eax, 7
shl eax, 2
shl eax, 1
shl eax, 1
shl eax, 1
add ecx, eax
movzx eax, byte [rdx + 0x16]
shl eax, 7
shl eax, 1
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, 0x12
shl ecx, 3
shl ecx, 1
shl ecx, 1
shl ecx, 1
shl eax, 7
shl eax, 1
shl eax, 1
shl eax, 3
shl eax, 2
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, 0x17
shl ecx, 1
shl eax, 0x10
add ecx, eax
movzx eax, byte [rdx + 0x1e]
shl eax, 4
shl eax, 3
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, 7
shl eax, 1
shl eax, 1
movzx ecx, byte [rdx + 0x20]
shl ecx, 0x11
shl ecx, 6
shl ecx, 1
add ecx, eax
movzx eax, byte [rdx + 0x22]
shl eax, 4
shl eax, 3
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, 7
shl eax, 1
shl eax, 3
shl eax, 3
shl eax, 2
shl ecx, 0x14
shl ecx, 3
shl ecx, 1
add ecx, eax
movzx eax, byte [rdx + 0x26]
shl eax, 2
shl eax, 6
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, 0xe
shl eax, 2
shl ecx, 0x10
shl ecx, 2
shl ecx, 1
shl ecx, 4
shl ecx, 1
add ecx, eax
movzx eax, byte [rdx + 0x2a]
shl eax, 5
shl eax, 1
shl eax, 2
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, 0x10
shl ecx, 1
shl ecx, 0x10
shl ecx, 6
shl ecx, 1
add ecx, eax
movzx eax, byte [rdx + 0x2e]
shl eax, 3
shl eax, 3
shl eax, 2
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, 4
shl eax, 9
shl eax, 2
shl eax, 1
shl ecx, 4
shl ecx, 0xb
shl ecx, 7
shl ecx, 1
shl ecx, 1
add ecx, eax
movzx eax, byte [rdx + 0x32]
shl eax, 4
shl eax, 2
shl eax, 1
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, 1
shl eax, 8
shl eax, 2
shl eax, 2
shl eax, 1
shl eax, 1
shl eax, 1
shl ecx, 0x13
shl ecx, 3
shl ecx, 1
shl ecx, 1
add ecx, eax
movzx eax, byte [rdx + 0x36]
shl eax, 3
shl eax, 5
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, 0xf
add ecx, eax
movzx eax, byte [rdx + 0x3a]
shl eax, 1
shl eax, 7
add ecx, eax
movzx eax, byte [rdx + 0x3b]
mov esi, 0x23b0b695
xor esi, 0x6c0e7c72
xor esi, 0x35ca3551
sub esi, 0x4c753d47
sub esi, 0x20db18a9
sub esi, 0xd24a9c4
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, 0xa
shl ecx, 0xb
shl ecx, 1
shl ecx, 1
shl ecx, 1
add ecx, eax
movzx eax, byte [rdx + 0x3e]
shl eax, 1
shl eax, 2
shl eax, 4
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]
neg eax
add eax, 0xffffffe8
neg eax
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]
neg eax
add eax, 0xffffffe7
neg eax
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 0x1401b1a85
xchg rdi, r12
mov r12, qword [rbp + 0xa0]
xchg rdi, r12
lea rsi, [rsp + 0x20]
mov r14d, 0x4a8342dd
add r14d, 0xb5812f6
sub r14d, 0x316541d0
xor r14d, 0x2c146cf0
xor r14d, 0x13373416
add r14d, 0x1e7a85ca
xor r14d, 0x3960c1ec
add r14d, 0x22a7c0f1
xor r14d, 0x2356d420
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, 3
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, 1
ror r8d, 1
mov r10d, r9d
mov r9d, eax
sub r15, 1
jne 0x1401b1d3a
mov r15d, dword [rdi + 0x68]
lea rdx, [rsp + 0x70]
xchg rsi, r14
mov r14, rsi
xchg rsi, r14
nop dword [rax]
mov ecx, eax
lea rdx, [rdx + 4]
mov eax, r11d
rol ecx, 2
rol ecx, 3
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, 1
ror r8d, 1
mov r10d, r9d
mov r9d, eax
sub rsi, 1
jne 0x1401b1d99
mov r12d, dword [rdi + 0x6c]
lea rsi, [rbp - 0x40]
xchg r15, r14
mov r14, r15
xchg r14, r15
mov edx, eax
nop dword [rax]
nop word [rax + rax]
mov ecx, r9d
lea rsi, [rsi + 4]
mov r9d, r8d
rol ecx, 4
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 0x1401b1df8
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, 1
rol eax, 1
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 0x1401b1e4e
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 rdx
push rcx
push rcx
push rdx
push rcx
xchg qword [rsp + 0x28], r15
pop rcx
pop rdx
pop rcx
pop rcx
pop rdx
add rsp, 8
push rcx
push rcx
push rax
push rcx
push rbx
push rbx
push rdx
xchg qword [rsp + 0x38], r14
add rsp, 0x40
nop
add rsp, 8
mov r13, qword [rsp - 8]
nop
xchg qword [rsp], r12
add rsp, 8
nop
add rsp, 8
mov rdi, qword [rsp - 8]
nop
xchg qword [rsp], rsi
add rsp, 8
nop
add rsp, 8
xchg qword [rsp - 8], rbp
nop
add rsp, 8
jmp qword [rsp - 8]