Function at 0x140004ec0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rbx
push r12
push r13
push r14
push r15
push rsi
push rdi
mov rsi, rdx
mov edx, r8d
mov r12, rcx
shl rdx, 6
push r12
lea rdi, [rsi + rdx]
mov eax, dword [r12]
mov ebx, dword [r12 + 4]
mov ecx, dword [r12 + 8]
mov edx, dword [r12 + 0xc]
nop word [rax + rax]
cmp rsi, rdi
mov r13d, 0xffffffff
je 0x1400057be
mov r8d, eax
mov r9d, ebx
mov r14d, ecx
mov r15d, edx
mov r10, qword [rsi]
mov r11d, edx
xor r11d, ecx
lea eax, [r10d + eax - 0x28955b88]
and r11d, ebx
xor r11d, edx
shr r10, 0x20
add eax, r11d
rol eax, 7
mov r11d, ecx
add eax, ebx
xor r11d, ebx
lea edx, [r10d + edx - 0x173848aa]
and r11d, eax
xor r11d, ecx
mov r10, qword [rsi + 8]
add edx, r11d
rol edx, 0xc
mov r11d, ebx
add edx, eax
xor r11d, eax
lea ecx, [r10d + ecx + 0x242070db]
and r11d, edx
xor r11d, ebx
shr r10, 0x20
add ecx, r11d
rol ecx, 0x11
mov r11d, eax
add ecx, edx
xor r11d, edx
lea ebx, [r10d + ebx - 0x3e423112]
and r11d, ecx
xor r11d, eax
mov r10, qword [rsi + 0x10]
add ebx, r11d
rol ebx, 0x16
mov r11d, edx
add ebx, ecx
xor r11d, ecx
lea eax, [r10d + eax - 0xa83f051]
and r11d, ebx
xor r11d, edx
shr r10, 0x20
add eax, r11d
rol eax, 7
mov r11d, ecx
add eax, ebx
xor r11d, ebx
lea edx, [r10d + edx + 0x4787c62a]
and r11d, eax
xor r11d, ecx
mov r10, qword [rsi + 0x18]
add edx, r11d
rol edx, 0xc
mov r11d, ebx
add edx, eax
xor r11d, eax
lea ecx, [r10d + ecx - 0x57cfb9ed]
and r11d, edx
xor r11d, ebx
shr r10, 0x20
add ecx, r11d
rol ecx, 0x11
mov r11d, eax
add ecx, edx
xor r11d, edx
lea ebx, [r10d + ebx - 0x2b96aff]
and r11d, ecx
xor r11d, eax
mov r10, qword [rsi + 0x20]
add ebx, r11d
rol ebx, 0x16
mov r11d, edx
add ebx, ecx
xor r11d, ecx
lea eax, [r10d + eax + 0x698098d8]
and r11d, ebx
xor r11d, edx
shr r10, 0x20
add eax, r11d
rol eax, 7
mov r11d, ecx
add eax, ebx
xor r11d, ebx
lea edx, [r10d + edx - 0x74bb0851]
and r11d, eax
xor r11d, ecx
mov r10, qword [rsi + 0x28]
add edx, r11d
rol edx, 0xc
mov r11d, ebx
add edx, eax
xor r11d, eax
lea ecx, [r10d + ecx - 0xa44f]
and r11d, edx
xor r11d, ebx
shr r10, 0x20
add ecx, r11d
rol ecx, 0x11
mov r11d, eax
add ecx, edx
xor r11d, edx
lea ebx, [r10d + ebx - 0x76a32842]
and r11d, ecx
xor r11d, eax
mov r10, qword [rsi + 0x30]
add ebx, r11d
rol ebx, 0x16
mov r11d, edx
add ebx, ecx
xor r11d, ecx
lea eax, [r10d + eax + 0x6b901122]
and r11d, ebx
xor r11d, edx
shr r10, 0x20
add eax, r11d
rol eax, 7
mov r11d, ecx
add eax, ebx
xor r11d, ebx
lea edx, [r10d + edx - 0x2678e6d]
and r11d, eax
xor r11d, ecx
mov r10, qword [rsi + 0x38]
add edx, r11d
rol edx, 0xc
mov r11d, ebx
add edx, eax
xor r11d, eax
lea ecx, [r10d + ecx - 0x5986bc72]
and r11d, edx
xor r11d, ebx
shr r10, 0x20
add ecx, r11d
rol ecx, 0x11
mov r11d, eax
add ecx, edx
xor r11d, edx
lea ebx, [r10d + ebx + 0x49b40821]
and r11d, ecx
xor r11d, eax
mov r10, qword [rsi]
add ebx, r11d
rol ebx, 0x16
mov r11d, edx
add ebx, ecx
mov r10d, dword [rsi + 4]
mov r11d, edx
mov r12d, edx
not r11d
lea eax, [r10d + eax - 0x9e1da9e]
and r12d, ebx
and r11d, ecx
mov r10d, dword [rsi + 0x18]
or r12d, r11d
mov r11d, ecx
add eax, r12d
mov r12d, ecx
rol eax, 5
add eax, ebx
not r11d
lea edx, [r10d + edx - 0x3fbf4cc0]
and r12d, eax
and r11d, ebx
mov r10d, dword [rsi + 0x2c]
or r12d, r11d
mov r11d, ebx
add edx, r12d
mov r12d, ebx
rol edx, 9
add edx, eax
not r11d
lea ecx, [r10d + ecx + 0x265e5a51]
and r12d, edx
and r11d, eax
mov r10d, dword [rsi]
or r12d, r11d
mov r11d, eax
add ecx, r12d
mov r12d, eax
rol ecx, 0xe
add ecx, edx
not r11d
lea ebx, [r10d + ebx - 0x16493856]
and r12d, ecx
and r11d, edx
mov r10d, dword [rsi + 0x14]
or r12d, r11d
mov r11d, edx
add ebx, r12d
mov r12d, edx
rol ebx, 0x14
add ebx, ecx
not r11d
lea eax, [r10d + eax - 0x29d0efa3]
and r12d, ebx
and r11d, ecx
mov r10d, dword [rsi + 0x28]
or r12d, r11d
mov r11d, ecx
add eax, r12d
mov r12d, ecx
rol eax, 5
add eax, ebx
not r11d
lea edx, [r10d + edx + 0x2441453]
and r12d, eax
and r11d, ebx
mov r10d, dword [rsi + 0x3c]
or r12d, r11d
mov r11d, ebx
add edx, r12d
mov r12d, ebx
rol edx, 9
add edx, eax
not r11d
lea ecx, [r10d + ecx - 0x275e197f]
and r12d, edx
and r11d, eax
mov r10d, dword [rsi + 0x10]
or r12d, r11d
mov r11d, eax
add ecx, r12d
mov r12d, eax
rol ecx, 0xe
add ecx, edx
not r11d
lea ebx, [r10d + ebx - 0x182c0438]
and r12d, ecx
and r11d, edx
mov r10d, dword [rsi + 0x24]
or r12d, r11d
mov r11d, edx
add ebx, r12d
mov r12d, edx
rol ebx, 0x14
add ebx, ecx
not r11d
lea eax, [r10d + eax + 0x21e1cde6]
and r12d, ebx
and r11d, ecx
mov r10d, dword [rsi + 0x38]
or r12d, r11d
mov r11d, ecx
add eax, r12d
mov r12d, ecx
rol eax, 5
add eax, ebx
not r11d
lea edx, [r10d + edx - 0x3cc8f82a]
and r12d, eax
and r11d, ebx
mov r10d, dword [rsi + 0xc]
or r12d, r11d
mov r11d, ebx
add edx, r12d
mov r12d, ebx
rol edx, 9
add edx, eax
not r11d
lea ecx, [r10d + ecx - 0xb2af279]
and r12d, edx
and r11d, eax
mov r10d, dword [rsi + 0x20]
or r12d, r11d
mov r11d, eax
add ecx, r12d
mov r12d, eax
rol ecx, 0xe
add ecx, edx
not r11d
lea ebx, [r10d + ebx + 0x455a14ed]
and r12d, ecx
and r11d, edx
mov r10d, dword [rsi + 0x34]
or r12d, r11d
mov r11d, edx
add ebx, r12d
mov r12d, edx
rol ebx, 0x14
add ebx, ecx
not r11d
lea eax, [r10d + eax - 0x561c16fb]
and r12d, ebx
and r11d, ecx
mov r10d, dword [rsi + 8]
or r12d, r11d
mov r11d, ecx
add eax, r12d
mov r12d, ecx
rol eax, 5
add eax, ebx
not r11d
lea edx, [r10d + edx - 0x3105c08]
and r12d, eax
and r11d, ebx
mov r10d, dword [rsi + 0x1c]
or r12d, r11d
mov r11d, ebx
add edx, r12d
mov r12d, ebx
rol edx, 9
add edx, eax
not r11d
lea ecx, [r10d + ecx + 0x676f02d9]
and r12d, edx
and r11d, eax
mov r10d, dword [rsi + 0x30]
or r12d, r11d
mov r11d, eax
add ecx, r12d
mov r12d, eax
rol ecx, 0xe
add ecx, edx
not r11d
lea ebx, [r10d + ebx - 0x72d5b376]
and r12d, ecx
and r11d, edx
mov r10d, dword [rsi]
or r12d, r11d
mov r11d, edx
add ebx, r12d
mov r12d, edx
rol ebx, 0x14
add ebx, ecx
mov r10d, dword [rsi + 0x14]
mov r11d, ecx
lea eax, [r10d + eax - 0x5c6be]
mov r10d, dword [rsi + 0x20]
xor r11d, edx
xor r11d, ebx
add eax, r11d
rol eax, 4
mov r11d, ebx
add eax, ebx
lea edx, [r10d + edx - 0x788e097f]
mov r10d, dword [rsi + 0x2c]
xor r11d, ecx
xor r11d, eax
add edx, r11d
rol edx, 0xb
mov r11d, eax
add edx, eax
lea ecx, [r10d + ecx + 0x6d9d6122]
mov r10d, dword [rsi + 0x38]
xor r11d, ebx
xor r11d, edx
add ecx, r11d
rol ecx, 0x10
mov r11d, edx
add ecx, edx
lea ebx, [r10d + ebx - 0x21ac7f4]
mov r10d, dword [rsi + 4]
xor r11d, eax
xor r11d, ecx
add ebx, r11d
rol ebx, 0x17
mov r11d, ecx
add ebx, ecx
lea eax, [r10d + eax - 0x5b4115bc]
mov r10d, dword [rsi + 0x10]
xor r11d, edx
xor r11d, ebx
add eax, r11d
rol eax, 4
mov r11d, ebx
add eax, ebx
lea edx, [r10d + edx + 0x4bdecfa9]
mov r10d, dword [rsi + 0x1c]
xor r11d, ecx
xor r11d, eax
add edx, r11d
rol edx, 0xb
mov r11d, eax
add edx, eax
lea ecx, [r10d + ecx - 0x944b4a0]
mov r10d, dword [rsi + 0x28]
xor r11d, ebx
xor r11d, edx
add ecx, r11d
rol ecx, 0x10
mov r11d, edx
add ecx, edx
lea ebx, [r10d + ebx - 0x41404390]
mov r10d, dword [rsi + 0x34]
xor r11d, eax
xor r11d, ecx
add ebx, r11d
rol ebx, 0x17
mov r11d, ecx
add ebx, ecx
lea eax, [r10d + eax + 0x289b7ec6]
mov r10d, dword [rsi]
xor r11d, edx
xor r11d, ebx
add eax, r11d
rol eax, 4
mov r11d, ebx
add eax, ebx
lea edx, [r10d + edx - 0x155ed806]
mov r10d, dword [rsi + 0xc]
xor r11d, ecx
xor r11d, eax
add edx, r11d
rol edx, 0xb
mov r11d, eax
add edx, eax
lea ecx, [r10d + ecx - 0x2b10cf7b]
mov r10d, dword [rsi + 0x18]
xor r11d, ebx
xor r11d, edx
add ecx, r11d
rol ecx, 0x10
mov r11d, edx
add ecx, edx
lea ebx, [r10d + ebx + 0x4881d05]
mov r10d, dword [rsi + 0x24]
xor r11d, eax
xor r11d, ecx
add ebx, r11d
rol ebx, 0x17
mov r11d, ecx
add ebx, ecx
lea eax, [r10d + eax - 0x262b2fc7]
mov r10d, dword [rsi + 0x30]
xor r11d, edx
xor r11d, ebx
add eax, r11d
rol eax, 4
mov r11d, ebx
add eax, ebx
lea edx, [r10d + edx - 0x1924661b]
mov r10d, dword [rsi + 0x3c]
xor r11d, ecx
xor r11d, eax
add edx, r11d
rol edx, 0xb
mov r11d, eax
add edx, eax
lea ecx, [r10d + ecx + 0x1fa27cf8]
mov r10d, dword [rsi + 8]
xor r11d, ebx
xor r11d, edx
add ecx, r11d
rol ecx, 0x10
mov r11d, edx
add ecx, edx
lea ebx, [r10d + ebx - 0x3b53a99b]
mov r10d, dword [rsi]
xor r11d, eax
xor r11d, ecx
add ebx, r11d
rol ebx, 0x17
mov r11d, ecx
add ebx, ecx
mov r10d, dword [rsi]
mov r11d, r13d
xor r11d, edx
lea eax, [r10d + eax - 0xbd6ddbc]
or r11d, ebx
xor r11d, ecx
add eax, r11d
mov r10d, dword [rsi + 0x1c]
mov r11d, r13d
rol eax, 6
xor r11d, ecx
add eax, ebx
lea edx, [r10d + edx + 0x432aff97]
or r11d, eax
xor r11d, ebx
add edx, r11d
mov r10d, dword [rsi + 0x38]
mov r11d, r13d
rol edx, 0xa
xor r11d, ebx
add edx, eax
lea ecx, [r10d + ecx - 0x546bdc59]
or r11d, edx
xor r11d, eax
add ecx, r11d
mov r10d, dword [rsi + 0x14]
mov r11d, r13d
rol ecx, 0xf
xor r11d, eax
add ecx, edx
lea ebx, [r10d + ebx - 0x36c5fc7]
or r11d, ecx
xor r11d, edx
add ebx, r11d
mov r10d, dword [rsi + 0x30]
mov r11d, r13d
rol ebx, 0x15
xor r11d, edx
add ebx, ecx
lea eax, [r10d + eax + 0x655b59c3]
or r11d, ebx
xor r11d, ecx
add eax, r11d
mov r10d, dword [rsi + 0xc]
mov r11d, r13d
rol eax, 6
xor r11d, ecx
add eax, ebx
lea edx, [r10d + edx - 0x70f3336e]
or r11d, eax
xor r11d, ebx
add edx, r11d
mov r10d, dword [rsi + 0x28]
mov r11d, r13d
rol edx, 0xa
xor r11d, ebx
add edx, eax
lea ecx, [r10d + ecx - 0x100b83]
or r11d, edx
xor r11d, eax
add ecx, r11d
mov r10d, dword [rsi + 4]
mov r11d, r13d
rol ecx, 0xf
xor r11d, eax
add ecx, edx
lea ebx, [r10d + ebx - 0x7a7ba22f]
or r11d, ecx
xor r11d, edx
add ebx, r11d
mov r10d, dword [rsi + 0x20]
mov r11d, r13d
rol ebx, 0x15
xor r11d, edx
add ebx, ecx
lea eax, [r10d + eax + 0x6fa87e4f]
or r11d, ebx
xor r11d, ecx
add eax, r11d
mov r10d, dword [rsi + 0x3c]
mov r11d, r13d
rol eax, 6
xor r11d, ecx
add eax, ebx
lea edx, [r10d + edx - 0x1d31920]
or r11d, eax
xor r11d, ebx
add edx, r11d
mov r10d, dword [rsi + 0x18]
mov r11d, r13d
rol edx, 0xa
xor r11d, ebx
add edx, eax
lea ecx, [r10d + ecx - 0x5cfebcec]
or r11d, edx
xor r11d, eax
add ecx, r11d
mov r10d, dword [rsi + 0x34]
mov r11d, r13d
rol ecx, 0xf
xor r11d, eax
add ecx, edx
lea ebx, [r10d + ebx + 0x4e0811a1]
or r11d, ecx
xor r11d, edx
add ebx, r11d
mov r10d, dword [rsi + 0x10]
mov r11d, r13d
rol ebx, 0x15
xor r11d, edx
add ebx, ecx
lea eax, [r10d + eax - 0x8ac817e]
or r11d, ebx
xor r11d, ecx
add eax, r11d
mov r10d, dword [rsi + 0x2c]
mov r11d, r13d
rol eax, 6
xor r11d, ecx
add eax, ebx
lea edx, [r10d + edx - 0x42c50dcb]
or r11d, eax
xor r11d, ebx
add edx, r11d
mov r10d, dword [rsi + 8]
mov r11d, r13d
rol edx, 0xa
xor r11d, ebx
add edx, eax
lea ecx, [r10d + ecx + 0x2ad7d2bb]
or r11d, edx
xor r11d, eax
add ecx, r11d
mov r10d, dword [rsi + 0x24]
mov r11d, r13d
rol ecx, 0xf
xor r11d, eax
add ecx, edx
lea ebx, [r10d + ebx - 0x14792c6f]
or r11d, ecx
xor r11d, edx
add ebx, r11d
mov r10d, dword [rsi]
mov r11d, r13d
rol ebx, 0x15
xor r11d, edx
add ebx, ecx
add eax, r8d
add ebx, r9d
add ecx, r14d
add edx, r15d
add rsi, 0x40
cmp rsi, rdi
jb 0x140004f0f
pop r12
mov dword [r12], eax
mov dword [r12 + 4], ebx
mov dword [r12 + 8], ecx
mov dword [r12 + 0xc], edx
pop rdi
pop rsi
pop r15
pop r14
pop r13
pop r12
pop rbx
pop rbp
ret