Function at 0x140001dc0
Capabilities:
Encode data using xor

Disassembly:
test r8, r8
je 0x140002867
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x38
mov r11d, dword [rcx + 4]
mov r10d, dword [rcx + 8]
mov r9d, dword [rcx + 0xc]
mov ebx, dword [rcx]
mov dword [rsp + 0x1c], r11d
mov dword [rsp + 0x20], r10d
mov dword [rsp + 0x18], r9d
mov rax, r8
mov rsi, rdx
mov r14d, 1
movzx ecx, byte [rsi]
sub rax, r14
add rsi, r14
mov qword [rsp + 0x90], rax
movzx eax, byte [rsi]
add rsi, r14
shl eax, 8
or ecx, eax
movzx eax, byte [rsi]
add rsi, r14
shl eax, 0x10
or ecx, eax
movzx eax, byte [rsi]
add rsi, r14
movzx edx, byte [rsi]
shl eax, 0x18
add rsi, r14
or ecx, eax
movzx eax, byte [rsi]
add rsi, r14
shl eax, 8
mov dword [rsp + 0x88], ecx
or edx, eax
movzx eax, byte [rsi]
add rsi, r14
shl eax, 0x10
or edx, eax
movzx eax, byte [rsi]
add rsi, r14
movzx r8d, byte [rsi]
shl eax, 0x18
add rsi, r14
or edx, eax
mov eax, r9d
xor eax, r10d
mov dword [rsp + 4], edx
and eax, r11d
xor eax, r9d
add eax, 0xd76aa478
add ecx, eax
movzx eax, byte [rsi]
add rsi, r14
shl eax, 8
add ecx, ebx
or r8d, eax
movzx eax, byte [rsi]
add rsi, r14
rol ecx, 7
shl eax, 0x10
or r8d, eax
movzx eax, byte [rsi]
add rsi, r14
shl eax, 0x18
add ecx, r11d
or r8d, eax
mov eax, r10d
xor eax, r11d
mov dword [rsp + 8], r8d
and eax, ecx
xor eax, r10d
add eax, edx
lea edx, [r9 - 0x173848aa]
movzx r9d, byte [rsi]
add edx, eax
add rsi, r14
movzx eax, byte [rsi]
add rsi, r14
shl eax, 8
or r9d, eax
movzx eax, byte [rsi]
rol edx, 0xc
shl eax, 0x10
add rsi, r14
add edx, ecx
or r9d, eax
movzx eax, byte [rsi]
shl eax, 0x18
or r9d, eax
add rsi, r14
mov eax, r11d
mov dword [rsp + 0x98], r9d
xor eax, ecx
and eax, edx
xor eax, r11d
add eax, r8d
lea r8d, [r10 + 0x242070db]
movzx r10d, byte [rsi]
add r8d, eax
add rsi, r14
movzx eax, byte [rsi]
add rsi, r14
rol r8d, 0x11
shl eax, 8
add r8d, edx
or r10d, eax
movzx eax, byte [rsi]
add rsi, r14
shl eax, 0x10
or r10d, eax
movzx eax, byte [rsi]
add rsi, r14
shl eax, 0x18
or r10d, eax
mov eax, edx
xor eax, ecx
mov dword [rsp], r10d
and eax, r8d
xor eax, ecx
add eax, 0xc1bdceee
add r9d, eax
add r9d, r11d
movzx r11d, byte [rsi]
add rsi, r14
movzx eax, byte [rsi]
add rsi, r14
shl eax, 8
or r11d, eax
movzx eax, byte [rsi]
rol r9d, 0x16
shl eax, 0x10
add rsi, r14
add r9d, r8d
or r11d, eax
movzx eax, byte [rsi]
add rsi, r14
movzx ebx, byte [rsi]
shl eax, 0x18
add rsi, r14
or r11d, eax
mov eax, edx
xor eax, r8d
mov dword [rsp + 0x14], r11d
and eax, r9d
xor eax, edx
add eax, r10d
lea r10d, [rcx - 0xa83f051]
mov ecx, r8d
add r10d, eax
movzx eax, byte [rsi]
xor ecx, r9d
shl eax, 8
add rsi, r14
or ebx, eax
movzx eax, byte [rsi]
add rsi, r14
rol r10d, 7
shl eax, 0x10
or ebx, eax
movzx eax, byte [rsi]
add r10d, r9d
and ecx, r10d
shl eax, 0x18
add rsi, r14
movzx r12d, byte [rsi]
xor ecx, r8d
or ebx, eax
add ecx, 0x4787c62a
mov dword [rsp + 0xc], ebx
add ecx, r11d
add ecx, edx
rol ecx, 0xc
add ecx, r10d
add rsi, r14
add ebx, 0xa8304613
mov edx, r9d
movzx eax, byte [rsi]
add rsi, r14
xor edx, r10d
shl eax, 8
and edx, ecx
or r12d, eax
movzx eax, byte [rsi]
add rsi, r14
shl eax, 0x10
xor edx, r9d
or r12d, eax
movzx eax, byte [rsi]
add rsi, r14
shl eax, 0x18
add edx, ebx
movzx ebx, byte [rsi]
or r12d, eax
add rsi, r14
add edx, r8d
movzx eax, byte [rsi]
add rsi, r14
lea r8d, [r9 - 0x2b96aff]
shl eax, 8
rol edx, 0x11
lea r9d, [r10 + 0x698098d8]
or ebx, eax
movzx eax, byte [rsi]
add rsi, r14
shl eax, 0x10
add edx, ecx
or ebx, eax
movzx eax, byte [rsi]
add rsi, r14
movzx edi, byte [rsi]
shl eax, 0x18
add rsi, r14
or ebx, eax
mov eax, ecx
xor eax, r10d
mov dword [rsp + 0x24], ebx
and eax, edx
xor eax, r10d
add eax, r12d
add r8d, eax
movzx eax, byte [rsi]
add rsi, r14
shl eax, 8
or edi, eax
movzx eax, byte [rsi]
add rsi, r14
rol r8d, 0x16
shl eax, 0x10
or edi, eax
movzx eax, byte [rsi]
add rsi, r14
movzx r15d, byte [rsi]
shl eax, 0x18
add r8d, edx
or edi, eax
add rsi, r14
mov eax, ecx
xor eax, edx
mov dword [rsp + 0x10], edi
and eax, r8d
xor eax, ecx
add eax, ebx
add r9d, eax
movzx eax, byte [rsi]
add rsi, r14
shl eax, 8
or r15d, eax
movzx eax, byte [rsi]
shl eax, 0x10
rol r9d, 7
or r15d, eax
add r9d, r8d
add rsi, r14
movzx eax, byte [rsi]
shl eax, 0x18
add rsi, r14
lea r10d, [rcx - 0x74bb0851]
or r15d, eax
movzx r13d, byte [rsi]
add rsi, r14
mov eax, edx
lea ecx, [rdx - 0xa44f]
xor eax, r8d
and eax, r9d
xor eax, edx
lea edx, [r8 - 0x76a32842]
add eax, edi
add r10d, eax
movzx eax, byte [rsi]
add rsi, r14
shl eax, 8
rol r10d, 0xc
or r13d, eax
movzx eax, byte [rsi]
add rsi, r14
shl eax, 0x10
add r10d, r9d
or r13d, eax
movzx eax, byte [rsi]
add rsi, r14
movzx ebp, byte [rsi]
shl eax, 0x18
add rsi, r14
or r13d, eax
mov eax, r8d
xor eax, r9d
and eax, r10d
xor eax, r8d
lea r8d, [r9 + 0x6b901122]
add eax, r15d
add ecx, eax
movzx eax, byte [rsi]
add rsi, r14
shl eax, 8
rol ecx, 0x11
or ebp, eax
movzx eax, byte [rsi]
add rsi, r14
shl eax, 0x10
add ecx, r10d
or ebp, eax
movzx eax, byte [rsi]
add rsi, r14
movzx r14d, byte [rsi]
movzx edi, byte [rsi + 4]
shl eax, 0x18
or ebp, eax
mov eax, r10d
xor eax, r9d
and eax, ecx
xor eax, r9d
add eax, r13d
add edx, eax
movzx eax, byte [rsi + 1]
shl eax, 8
or r14d, eax
movzx eax, byte [rsi + 2]
rol edx, 0x16
shl eax, 0x10
add edx, ecx
or r14d, eax
movzx eax, byte [rsi + 3]
shl eax, 0x18
or r14d, eax
mov eax, r10d
xor eax, ecx
and eax, edx
xor eax, r10d
add eax, ebp
add r8d, eax
movzx eax, byte [rsi + 5]
shl eax, 8
rol r8d, 7
add r8d, edx
or edi, eax
movzx eax, byte [rsi + 6]
lea r9d, [r10 - 0x2678e6d]
add rsi, 8
shl eax, 0x10
mov qword [rsp + 0x28], rsi
or edi, eax
movzx eax, byte [rsi - 1]
mov r10, qword [rsp + 0x28]
shl eax, 0x18
movzx esi, byte [rsi]
add r10, 4
or edi, eax
mov eax, ecx
mov qword [rsp + 0x28], r10
xor eax, edx
and eax, r8d
xor eax, ecx
add eax, r14d
add r9d, eax
movzx eax, byte [r10 - 3]
shl eax, 8
rol r9d, 0xc
or esi, eax
movzx eax, byte [r10 - 2]
add r9d, r8d
shl eax, 0x10
or esi, eax
movzx eax, byte [r10 - 1]
shl eax, 0x18
or esi, eax
mov eax, edx
xor eax, r8d
and eax, r9d
xor eax, edx
add eax, 0xa679438e
add eax, edi
add ecx, eax
mov eax, r9d
xor eax, r8d
rol ecx, 0x11
add ecx, r9d
and eax, ecx
xor eax, r8d
lea r10d, [rcx + 0x265e5a51]
add eax, 0x49b40821
add eax, esi
add edx, eax
mov eax, ecx
rol edx, 0x16
add edx, ecx
xor eax, edx
and eax, r9d
xor eax, ecx
add eax, 0xf61e2562
add eax, dword [rsp + 4]
add r8d, eax
mov eax, edx
rol r8d, 5
add r8d, edx
xor eax, r8d
and eax, ecx
lea ecx, [rdx - 0x16493856]
xor eax, edx
add eax, 0xc040b340
add eax, dword [rsp + 0xc]
add r9d, eax
rol r9d, 9
add r9d, r8d
mov eax, r9d
xor eax, r8d
and eax, edx
xor eax, r8d
add eax, r13d
add r10d, eax
mov eax, r9d
rol r10d, 0xe
add r10d, r9d
xor eax, r10d
and eax, r8d
xor eax, r9d
add eax, dword [rsp + 0x88]
add ecx, eax
lea edx, [r8 - 0x29d0efa3]
mov eax, r10d
rol ecx, 0x14
lea r8d, [r9 + 0x2441453]
add ecx, r10d
xor eax, ecx
and eax, r9d
lea r9d, [r10 - 0x275e197f]
xor eax, r10d
add eax, r11d
add edx, eax
mov eax, ecx
rol edx, 5
add edx, ecx
xor eax, edx
and eax, r10d
lea r10d, [rcx - 0x182c0438]
xor eax, ecx
add eax, r15d
add r8d, eax
rol r8d, 9
add r8d, edx
mov eax, r8d
xor eax, edx
and eax, ecx
lea ecx, [rdx + 0x21e1cde6]
xor eax, edx
add eax, esi
add r9d, eax
mov eax, r8d
rol r9d, 0xe
add r9d, r8d
xor eax, r9d
and eax, edx
lea edx, [r8 - 0x3cc8f82a]
lea r11d, [r9 - 0xb2af279]
xor eax, r8d
add eax, dword [rsp]
add r10d, eax
mov eax, r9d
rol r10d, 0x14
add r10d, r9d
xor eax, r10d
and eax, r8d
xor eax, r9d
add eax, dword [rsp + 0x10]
add ecx, eax
mov eax, r10d
rol ecx, 5
add ecx, r10d
xor eax, ecx
and eax, r9d
lea r8d, [rcx - 0x561c16fb]
xor eax, r10d
add eax, edi
add edx, eax
rol edx, 9
add edx, ecx
mov eax, edx
xor eax, ecx
and eax, r10d
xor eax, ecx
add eax, dword [rsp + 0x98]
add r11d, eax
mov eax, edx
rol r11d, 0xe
add r11d, edx
xor eax, r11d
and eax, ecx
xor eax, edx
add eax, ebx
lea ebx, [r10 + 0x455a14ed]
add ebx, eax
mov eax, r11d
rol ebx, 0x14
add ebx, r11d
xor eax, ebx
and eax, edx
xor eax, r11d
add eax, r14d
add r8d, eax
lea r9d, [rdx - 0x3105c08]
mov eax, ebx
rol r8d, 5
add r8d, ebx
xor eax, r8d
and eax, r11d
xor eax, ebx
add eax, dword [rsp + 8]
add r9d, eax
rol r9d, 9
add r9d, r8d
mov r10d, r9d
mov ecx, r9d
xor r10d, r8d
and r10d, ebx
xor r10d, r8d
add r10d, 0x676f02d9
add r10d, r12d
add r10d, r11d
rol r10d, 0xe
add r10d, r9d
xor ecx, r10d
mov eax, r10d
mov edx, ecx
and edx, r8d
xor edx, r9d
add edx, 0x8d2a4c8a
add edx, ebp
add edx, ebx
rol edx, 0x14
add edx, r10d
xor eax, edx
xor ecx, edx
add ecx, 0xfffa3942
lea r11d, [rdx - 0x21ac7f4]
add ecx, dword [rsp + 0x14]
add r8d, ecx
rol r8d, 4
add r8d, edx
xor eax, r8d
add eax, 0x8771f681
add eax, dword [rsp + 0x24]
add r9d, eax
rol r9d, 0xb
add r9d, r8d
mov eax, r9d
mov ecx, r9d
xor eax, edx
lea edx, [r8 - 0x5b4115bc]
xor eax, r8d
add eax, 0x6d9d6122
add eax, r13d
add r10d, eax
rol r10d, 0x10
add r10d, r9d
xor ecx, r10d
mov eax, ecx
xor eax, r8d
lea r8d, [r9 + 0x4bdecfa9]
lea r9d, [r10 - 0x944b4a0]
add eax, edi
add r11d, eax
mov eax, r10d
rol r11d, 0x17
add r11d, r10d
xor eax, r11d
xor ecx, r11d
add ecx, dword [rsp + 4]
add edx, ecx
rol edx, 4
add edx, r11d
xor eax, edx
add eax, dword [rsp]
add r8d, eax
rol r8d, 0xb
add r8d, edx
mov eax, r8d
xor eax, r11d
xor eax, edx
add eax, r12d
add r9d, eax
mov ecx, r8d
lea r10d, [r11 - 0x41404390]
rol r9d, 0x10
lea r11d, [rdx + 0x289b7ec6]
add r9d, r8d
xor ecx, r9d
mov eax, ecx
xor eax, edx
add eax, r15d
add r10d, eax
mov eax, r9d
rol r10d, 0x17
add r10d, r9d
xor eax, r10d
xor ecx, r10d
add ecx, r14d
lea edx, [r10 + 0x4881d05]
add r11d, ecx
rol r11d, 4
add r11d, r10d
xor eax, r11d
add eax, 0xeaa127fa
add eax, dword [rsp + 0x88]
add r8d, eax
rol r8d, 0xb
add r8d, r11d
mov eax, r8d
mov ecx, r8d
xor eax, r10d
xor eax, r11d
add eax, 0xd4ef3085
add eax, dword [rsp + 0x98]
add r9d, eax
rol r9d, 0x10
add r9d, r8d
xor ecx, r9d
mov eax, ecx
xor eax, r11d
add eax, dword [rsp + 0xc]
add edx, eax
mov eax, r9d
rol edx, 0x17
add edx, r9d
xor eax, edx
xor ecx, edx
add ecx, dword [rsp + 0x10]
lea r10d, [rcx - 0x262b2fc7]
lea ecx, [r8 - 0x1924661b]
lea r8d, [r9 + 0x1fa27cf8]
add r10d, r11d
lea r9d, [rdx - 0x3b53a99b]
rol r10d, 4
add r10d, edx
xor eax, r10d
add eax, ebp
add ecx, eax
rol ecx, 0xb
add ecx, r10d
mov eax, ecx
xor eax, edx
lea edx, [r10 - 0xbd6ddbc]
xor eax, r10d
add eax, esi
add r8d, eax
mov eax, ecx
rol r8d, 0x10
add r8d, ecx
xor eax, r8d
xor eax, r10d
add eax, dword [rsp + 8]
add r9d, eax
mov eax, ecx
not eax
rol r9d, 0x17
add r9d, r8d
or eax, r9d
xor eax, r8d
add eax, dword [rsp + 0x88]
add edx, eax
rol edx, 6
mov eax, r8d
add edx, r9d
lea r10d, [rcx + 0x432aff97]
not eax
lea ecx, [r8 - 0x546bdc59]
lea r8d, [r9 - 0x36c5fc7]
or eax, edx
xor eax, r9d
add eax, r12d
add r10d, eax
mov eax, r9d
lea r9d, [rdx + 0x655b59c3]
not eax
rol r10d, 0xa
add r10d, edx
or eax, r10d
xor eax, edx
add eax, edi
add ecx, eax
mov eax, edx
lea edx, [r10 - 0x70f3336e]
not eax
rol ecx, 0xf
add ecx, r10d
or eax, ecx
xor eax, r10d
add eax, dword [rsp + 0x14]
add r8d, eax
mov eax, r10d
lea r10d, [rcx - 0x100b83]
not eax
rol r8d, 0x15
add r8d, ecx
or eax, r8d
xor eax, ecx
add eax, ebp
add r9d, eax
mov eax, ecx
lea ecx, [r8 - 0x7a7ba22f]
not eax
rol r9d, 6
add r9d, r8d
or eax, r9d
xor eax, r8d
add eax, dword [rsp + 0x98]
add edx, eax
mov eax, r8d
not eax
rol edx, 0xa
add edx, r9d
or eax, edx
mov r8d, edx
xor eax, r9d
not r8d
lea r11d, [rdx - 0x1d31920]
add eax, r15d
add r10d, eax
mov eax, r9d
not eax
rol r10d, 0xf
add r10d, edx
or eax, r10d
xor eax, edx
add eax, dword [rsp + 4]
add ecx, eax
mov eax, r10d
not eax
rol ecx, 0x15
add ecx, r10d
or r8d, ecx
xor r8d, r10d
add r8d, 0x6fa87e4f
add r8d, dword [rsp + 0x24]
add r8d, r9d
rol r8d, 6
add r8d, ecx
or eax, r8d
xor eax, ecx
add eax, esi
add r11d, eax
rol r11d, 0xa
mov rsi, qword [rsp + 0x28]
lea edx, [r10 - 0x5cfebcec]
mov eax, ecx
not eax
add r11d, r8d
mov r10d, r8d
or eax, r11d
not r10d
lea r9d, [r8 - 0x8ac817e]
xor eax, r8d
lea r8d, [r11 - 0x42c50dcb]
add eax, dword [rsp + 0xc]
add edx, eax
mov eax, r11d
not eax
rol edx, 0xf
add edx, r11d
or r10d, edx
xor r10d, r11d
add r10d, 0x4e0811a1
add r10d, r14d
mov r14d, 1
add r10d, ecx
rol r10d, 0x15
add r10d, edx
or eax, r10d
xor eax, edx
lea ecx, [r10 - 0x14792c6f]
add eax, dword [rsp]
add r9d, eax
mov eax, edx
not eax
rol r9d, 6
add r9d, r10d
or eax, r9d
xor eax, r10d
add eax, r13d
add r8d, eax
mov eax, r10d
not eax
rol r8d, 0xa
add r8d, r9d
or eax, r8d
xor eax, r9d
add eax, 0x2ad7d2bb
add eax, dword [rsp + 8]
add edx, eax
mov eax, r9d
not eax
rol edx, 0xf
add edx, r8d
or eax, edx
xor eax, r8d
add eax, dword [rsp + 0x10]
add ecx, eax
mov rax, qword [rsp + 0x80]
add dword [rax], r9d
mov r9d, dword [rsp + 0x1c]
mov ebx, dword [rax]
rol ecx, 0x15
add ecx, edx
add r9d, ecx
mov ecx, dword [rsp + 0x20]
add ecx, edx
mov dword [rax + 4], r9d
mov dword [rsp + 0x1c], r9d
mov dword [rax + 8], ecx
mov dword [rsp + 0x20], ecx
mov r10d, ecx
mov ecx, dword [rsp + 0x18]
mov r11d, r9d
add ecx, r8d
mov dword [rax + 0xc], ecx
mov rax, qword [rsp + 0x90]
mov dword [rsp + 0x18], ecx
mov r9d, ecx
test rax, rax
jne 0x140001e07
add rsp, 0x38
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret