Function at 0x180195ce0
Capabilities:
Encode data using xor

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