Function at 0x1400e2670
Capabilities:
Encode data using xor

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