Function at 0x1402dd090
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push r12
push r13
push r14
push r15
movzx eax, byte [rdx + 0xa]
mov r15, rcx
movzx edi, byte [rdx + 0xb]
mov r14, r8
movzx esi, byte [rdx + 0xf]
mov r13d, 2
movzx ebp, byte [rdx + 7]
shl edi, 8
lea r12, [r15 + 0x1140]
or edi, eax
shl esi, 8
movzx eax, byte [rdx + 9]
shl ebp, 8
shl edi, 8
or edi, eax
movzx eax, byte [rdx + 8]
shl edi, 8
or edi, eax
movzx eax, byte [rdx + 0xe]
xor edi, dword [rcx + 0x10c8]
or esi, eax
movzx eax, byte [rdx + 0xd]
shl esi, 8
or esi, eax
movzx eax, byte [rdx + 0xc]
shl esi, 8
or esi, eax
movzx eax, byte [rdx + 3]
xor esi, dword [rcx + 0x10cc]
movzx ecx, byte [rdx + 2]
shl eax, 8
or eax, ecx
movzx ecx, byte [rdx + 1]
shl eax, 8
or eax, ecx
movzx ecx, byte [rdx]
shl eax, 8
or eax, ecx
movzx ecx, byte [rdx + 6]
xor eax, dword [r15 + 0x10c0]
or ebp, ecx
movzx ecx, byte [rdx + 5]
shl ebp, 8
or ebp, ecx
movzx ecx, byte [rdx + 4]
shl ebp, 8
or ebp, ecx
xor ebp, dword [r15 + 0x10c4]
nop dword [rax]
nop dword [rax + rax]
mov ecx, ebp
ror edi, 0x1f
shr ecx, 0x10
movzx edx, cl
mov ecx, ebp
shr ecx, 8
movzx ecx, cl
mov r9d, dword [r15 + rdx*4 + 0xcb0]
mov edx, eax
xor r9d, dword [r15 + rcx*4 + 0x8b0]
shr rdx, 0x18
mov ecx, ebp
shr rcx, 0x18
mov r8d, dword [r15 + rdx*4 + 0xcb0]
xor r9d, dword [r15 + rcx*4 + 0xb0]
movzx ecx, bpl
xor r9d, dword [r15 + rcx*4 + 0x4b0]
mov ecx, eax
shr ecx, 0x10
movzx ecx, cl
xor r8d, dword [r15 + rcx*4 + 0x8b0]
mov ecx, eax
shr ecx, 8
movzx edx, cl
movzx ecx, al
ror eax, 0x1f
xor r8d, dword [r15 + rdx*4 + 0x4b0]
xor r8d, dword [r15 + rcx*4 + 0xb0]
mov edx, dword [r12 + 0xc]
add r8d, r9d
mov ecx, dword [r12 + 8]
add edx, r8d
add ecx, r8d
add edx, r9d
xor edi, ecx
mov r10d, edx
xor edx, esi
shl r10d, 0x1f
shr edx, 1
mov ecx, esi
shl ecx, 0x1f
xor r10d, ecx
or r10d, edx
mov ecx, r10d
shr ecx, 0x10
movzx edx, cl
mov ecx, r10d
shr ecx, 8
movzx ecx, cl
mov r9d, dword [r15 + rdx*4 + 0xcb0]
mov edx, edi
xor r9d, dword [r15 + rcx*4 + 0x8b0]
shr rdx, 0x18
mov ecx, r10d
shr rcx, 0x18
mov r8d, dword [r15 + rdx*4 + 0xcb0]
xor r9d, dword [r15 + rcx*4 + 0xb0]
movzx ecx, r10b
xor r9d, dword [r15 + rcx*4 + 0x4b0]
mov ecx, edi
shr ecx, 0x10
movzx ecx, cl
xor r8d, dword [r15 + rcx*4 + 0x8b0]
mov ecx, edi
shr ecx, 8
movzx edx, cl
movzx ecx, dil
xor r8d, dword [r15 + rdx*4 + 0x4b0]
xor r8d, dword [r15 + rcx*4 + 0xb0]
mov ecx, ebp
mov edx, dword [r12]
add r8d, r9d
add edx, r8d
shl ecx, 0x1f
xor eax, edx
mov edx, dword [r12 + 4]
add edx, r8d
add edx, r9d
mov r11d, edx
shl r11d, 0x1f
xor r11d, ecx
xor edx, ebp
ror edi, 0x1f
shr edx, 1
or r11d, edx
mov ecx, r11d
shr ecx, 0x10
movzx edx, cl
mov ecx, r11d
shr ecx, 8
movzx ecx, cl
mov r9d, dword [r15 + rdx*4 + 0xcb0]
mov edx, eax
xor r9d, dword [r15 + rcx*4 + 0x8b0]
shr rdx, 0x18
mov ecx, r11d
shr rcx, 0x18
mov r8d, dword [r15 + rdx*4 + 0xcb0]
xor r9d, dword [r15 + rcx*4 + 0xb0]
movzx ecx, r11b
xor r9d, dword [r15 + rcx*4 + 0x4b0]
mov ecx, eax
shr ecx, 0x10
movzx ecx, cl
xor r8d, dword [r15 + rcx*4 + 0x8b0]
mov ecx, eax
shr ecx, 8
movzx edx, cl
movzx ecx, al
ror eax, 0x1f
xor r8d, dword [r15 + rdx*4 + 0x4b0]
xor r8d, dword [r15 + rcx*4 + 0xb0]
mov edx, dword [r12 - 4]
add r8d, r9d
mov ecx, dword [r12 - 8]
add edx, r8d
add ecx, r8d
add edx, r9d
xor edi, ecx
mov ebx, edx
xor edx, r10d
shl ebx, 0x1f
shr edx, 1
mov ecx, r10d
shl ecx, 0x1f
xor ebx, ecx
or ebx, edx
mov ecx, ebx
shr ecx, 0x10
movzx edx, cl
mov ecx, ebx
shr ecx, 8
movzx ecx, cl
mov r9d, dword [r15 + rdx*4 + 0xcb0]
mov edx, edi
xor r9d, dword [r15 + rcx*4 + 0x8b0]
shr rdx, 0x18
mov ecx, ebx
shr rcx, 0x18
mov r8d, dword [r15 + rdx*4 + 0xcb0]
xor r9d, dword [r15 + rcx*4 + 0xb0]
movzx ecx, bl
xor r9d, dword [r15 + rcx*4 + 0x4b0]
mov ecx, edi
shr ecx, 0x10
movzx ecx, cl
xor r8d, dword [r15 + rcx*4 + 0x8b0]
mov ecx, edi
shr ecx, 8
movzx edx, cl
movzx ecx, dil
xor r8d, dword [r15 + rdx*4 + 0x4b0]
xor r8d, dword [r15 + rcx*4 + 0xb0]
mov edx, dword [r12 - 0xc]
add r8d, r9d
mov ecx, dword [r12 - 0x10]
add edx, r8d
add edx, r9d
add ecx, r8d
mov r10d, edx
xor eax, ecx
shl r10d, 0x1f
xor edx, r11d
ror edi, 0x1f
shr edx, 1
mov ecx, r11d
shl ecx, 0x1f
xor r10d, ecx
or r10d, edx
mov ecx, r10d
shr ecx, 0x10
movzx edx, cl
mov ecx, r10d
shr ecx, 8
movzx ecx, cl
mov r9d, dword [r15 + rdx*4 + 0xcb0]
mov edx, eax
xor r9d, dword [r15 + rcx*4 + 0x8b0]
shr rdx, 0x18
mov ecx, r10d
shr rcx, 0x18
mov r8d, dword [r15 + rdx*4 + 0xcb0]
xor r9d, dword [r15 + rcx*4 + 0xb0]
movzx ecx, r10b
xor r9d, dword [r15 + rcx*4 + 0x4b0]
mov ecx, eax
shr ecx, 0x10
movzx ecx, cl
xor r8d, dword [r15 + rcx*4 + 0x8b0]
mov ecx, eax
shr ecx, 8
movzx edx, cl
movzx ecx, al
ror eax, 0x1f
xor r8d, dword [r15 + rdx*4 + 0x4b0]
xor r8d, dword [r15 + rcx*4 + 0xb0]
mov edx, dword [r12 - 0x14]
add r8d, r9d
mov ecx, dword [r12 - 0x18]
add edx, r8d
add ecx, r8d
add edx, r9d
xor edi, ecx
mov r11d, edx
xor edx, ebx
shl r11d, 0x1f
shr edx, 1
mov ecx, ebx
shl ecx, 0x1f
xor r11d, ecx
or r11d, edx
mov ecx, r11d
shr ecx, 0x10
movzx edx, cl
mov ecx, r11d
shr ecx, 8
movzx ecx, cl
mov r9d, dword [r15 + rdx*4 + 0xcb0]
mov edx, edi
xor r9d, dword [r15 + rcx*4 + 0x8b0]
shr rdx, 0x18
mov ecx, r11d
shr rcx, 0x18
mov r8d, dword [r15 + rdx*4 + 0xcb0]
xor r9d, dword [r15 + rcx*4 + 0xb0]
movzx ecx, r11b
xor r9d, dword [r15 + rcx*4 + 0x4b0]
mov ecx, edi
shr ecx, 0x10
movzx ecx, cl
xor r8d, dword [r15 + rcx*4 + 0x8b0]
mov ecx, edi
shr ecx, 8
movzx edx, cl
movzx ecx, dil
xor r8d, dword [r15 + rdx*4 + 0x4b0]
xor r8d, dword [r15 + rcx*4 + 0xb0]
mov ecx, dword [r12 - 0x20]
add r8d, r9d
mov edx, dword [r12 - 0x1c]
add ecx, r8d
xor eax, ecx
add edx, r8d
add edx, r9d
ror edi, 0x1f
mov ebx, edx
mov ecx, r10d
shl ecx, 0x1f
xor edx, r10d
shr edx, 1
shl ebx, 0x1f
xor ebx, ecx
or ebx, edx
mov ecx, ebx
shr ecx, 0x10
movzx edx, cl
mov ecx, ebx
shr ecx, 8
movzx ecx, cl
mov r9d, dword [r15 + rdx*4 + 0xcb0]
mov edx, eax
xor r9d, dword [r15 + rcx*4 + 0x8b0]
shr rdx, 0x18
mov ecx, ebx
shr rcx, 0x18
mov r8d, dword [r15 + rdx*4 + 0xcb0]
xor r9d, dword [r15 + rcx*4 + 0xb0]
movzx ecx, bl
xor r9d, dword [r15 + rcx*4 + 0x4b0]
mov ecx, eax
shr ecx, 0x10
movzx ecx, cl
xor r8d, dword [r15 + rcx*4 + 0x8b0]
mov ecx, eax
shr ecx, 8
movzx edx, cl
movzx ecx, al
ror eax, 0x1f
xor r8d, dword [r15 + rdx*4 + 0x4b0]
xor r8d, dword [r15 + rcx*4 + 0xb0]
mov edx, dword [r12 - 0x24]
add r8d, r9d
mov ecx, dword [r12 - 0x28]
add edx, r8d
add ecx, r8d
add edx, r9d
xor edi, ecx
mov esi, edx
xor edx, r11d
shl esi, 0x1f
shr edx, 1
mov ecx, r11d
shl ecx, 0x1f
xor esi, ecx
or esi, edx
mov ecx, esi
shr ecx, 0x10
movzx edx, cl
mov ecx, esi
shr ecx, 8
movzx ecx, cl
mov r9d, dword [r15 + rdx*4 + 0xcb0]
mov edx, edi
xor r9d, dword [r15 + rcx*4 + 0x8b0]
shr rdx, 0x18
mov ecx, esi
shr rcx, 0x18
mov r8d, dword [r15 + rdx*4 + 0xcb0]
xor r9d, dword [r15 + rcx*4 + 0xb0]
movzx ecx, sil
xor r9d, dword [r15 + rcx*4 + 0x4b0]
mov ecx, edi
shr ecx, 0x10
movzx ecx, cl
xor r8d, dword [r15 + rcx*4 + 0x8b0]
mov ecx, edi
shr ecx, 8
movzx edx, cl
movzx ecx, dil
xor r8d, dword [r15 + rdx*4 + 0x4b0]
xor r8d, dword [r15 + rcx*4 + 0xb0]
mov ecx, dword [r12 - 0x30]
add r8d, r9d
add ecx, r8d
mov edx, dword [r12 - 0x2c]
lea r12, [r12 - 0x40]
add edx, r8d
xor eax, ecx
add edx, r9d
mov ecx, ebx
mov ebp, edx
shl ecx, 0x1f
shl ebp, 0x1f
xor edx, ebx
xor ebp, ecx
shr edx, 1
or ebp, edx
sub r13, 1
jne 0x1402dd160
xor eax, dword [r15 + 0x10b8]
xor edi, dword [r15 + 0x10b0]
xor esi, dword [r15 + 0x10b4]
mov ecx, edi
xor ebp, dword [r15 + 0x10bc]
mov rbx, qword [rsp + 0x28]
shr ecx, 0x18
mov byte [r14 + 3], cl
mov ecx, edi
shr ecx, 0x10
mov byte [r14 + 2], cl
mov ecx, edi
shr ecx, 8
mov byte [r14 + 1], cl
mov ecx, esi
shr ecx, 0x18
mov byte [r14 + 7], cl
mov ecx, esi
shr ecx, 0x10
mov byte [r14 + 6], cl
mov ecx, esi
shr ecx, 8
mov byte [r14 + 5], cl
mov ecx, eax
shr ecx, 0x18
mov byte [r14 + 8], al
mov byte [r14 + 0xb], cl
mov ecx, eax
shr ecx, 0x10
mov byte [r14 + 0xa], cl
mov ecx, eax
mov eax, ebp
shr ecx, 8
shr eax, 0x18
mov byte [r14 + 0xf], al
mov eax, ebp
shr eax, 0x10
mov byte [r14 + 0xe], al
mov eax, ebp
shr eax, 8
mov byte [r14], dil
mov rdi, qword [rsp + 0x40]
mov byte [r14 + 4], sil
mov rsi, qword [rsp + 0x38]
mov byte [r14 + 0xc], bpl
mov rbp, qword [rsp + 0x30]
mov byte [r14 + 0xd], al
mov byte [r14 + 9], cl
pop r15
pop r14
pop r13
pop r12
ret