Function at 0x164e41000
Capabilities:
Encode data using xor

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