Function at 0x483770
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x138
mov rax, r8
mov r15, rdx
mov qword [rsp + 0x180], rcx
shl rax, 7
mov qword [rsp + 0x190], r8
mov qword [rsp + 0x50], 0
lea rax, [rdx + rax - 0x40]
movdqu xmm2, xmmword [rax]
movdqu xmm3, xmmword [rax + 0x10]
movaps xmmword [rsp + 0xb0], xmm2
movdqu xmm2, xmmword [rax + 0x20]
movaps xmmword [rsp + 0xc0], xmm3
movdqu xmm3, xmmword [rax + 0x30]
lea rax, [rsp + 0xf0]
mov qword [rsp + 0xa8], rax
lea rax, [rsp + 0xb0]
mov qword [rsp + 0x98], rax
mov rax, r8
add rax, rax
movaps xmmword [rsp + 0xd0], xmm2
mov qword [rsp + 0xa0], rax
movaps xmmword [rsp + 0xe0], xmm3
je 0x483dad
nop word [rax + rax]
mov eax, dword [r15]
xor eax, dword [rsp + 0xb0]
add r15, 0x40
mov dword [rsp + 0x58], eax
mov eax, dword [r15 - 0x3c]
xor eax, dword [rsp + 0xb4]
mov dword [rsp + 0x5c], eax
mov eax, dword [r15 - 0x38]
xor eax, dword [rsp + 0xb8]
mov dword [rsp + 0x60], eax
mov eax, dword [r15 - 0x34]
xor eax, dword [rsp + 0xbc]
mov dword [rsp + 0x64], eax
mov eax, dword [r15 - 0x30]
xor eax, dword [rsp + 0xc0]
mov dword [rsp + 0x68], eax
mov eax, dword [r15 - 0x2c]
xor eax, dword [rsp + 0xc4]
mov dword [rsp + 0x6c], eax
mov eax, dword [r15 - 0x28]
xor eax, dword [rsp + 0xc8]
mov dword [rsp + 0x70], eax
mov eax, dword [r15 - 0x24]
xor eax, dword [rsp + 0xcc]
mov dword [rsp + 0x74], eax
mov eax, dword [r15 - 0x20]
xor eax, dword [rsp + 0xd0]
mov dword [rsp + 0x78], eax
mov eax, dword [r15 - 0x1c]
xor eax, dword [rsp + 0xd4]
mov dword [rsp + 0x7c], eax
mov eax, dword [r15 - 0x18]
xor eax, dword [rsp + 0xd8]
mov dword [rsp + 0x80], eax
movdqu xmm1, xmmword [r15 - 0x20]
pxor xmm1, xmmword [rsp + 0xd0]
movdqu xmm0, xmmword [r15 - 0x30]
mov dword [rsp + 0x4c], 4
pxor xmm0, xmmword [rsp + 0xc0]
movdqu xmm3, xmmword [r15 - 0x40]
pshufd xmm4, xmm1, 0x55
movdqu xmm2, xmmword [r15 - 0x10]
mov eax, dword [r15 - 0x14]
movd r11d, xmm1
pxor xmm3, xmmword [rsp + 0xb0]
movd r12d, xmm4
pxor xmm2, xmmword [rsp + 0xe0]
pshufd xmm4, xmm0, 0x55
xor eax, dword [rsp + 0xdc]
movd r8d, xmm0
movd ebx, xmm4
pshufd xmm4, xmm3, 0x55
mov dword [rsp + 0x84], eax
mov eax, dword [r15 - 0x10]
movd ebp, xmm4
pshufd xmm4, xmm2, 0x55
xor eax, dword [rsp + 0xe0]
movd r9d, xmm4
movdqa xmm4, xmm2
mov dword [rsp + 0x88], eax
mov eax, dword [r15 - 0xc]
punpckhdq xmm4, xmm2
xor eax, dword [rsp + 0xe4]
movd edi, xmm3
movd esi, xmm4
movdqa xmm4, xmm1
mov dword [rsp + 0x8c], eax
mov eax, dword [r15 - 8]
punpckhdq xmm4, xmm1
xor eax, dword [rsp + 0xe8]
movd edx, xmm2
movd r10d, xmm4
movdqa xmm4, xmm0
pshufd xmm2, xmm2, 0xff
mov dword [rsp + 0x90], eax
punpckhdq xmm4, xmm0
mov eax, dword [r15 - 4]
mov qword [rsp + 0x188], r15
pshufd xmm1, xmm1, 0xff
movd r13d, xmm4
movdqa xmm4, xmm3
xor eax, dword [rsp + 0xec]
punpckhdq xmm4, xmm3
pshufd xmm0, xmm0, 0xff
pshufd xmm3, xmm3, 0xff
mov dword [rsp + 0x94], eax
movd dword [rsp + 0x40], xmm4
movd ecx, xmm2
movd eax, xmm1
movd dword [rsp + 0x20], xmm3
movd dword [rsp + 0x3c], xmm0
lea r14d, [rdi + rdx]
rol r14d, 7
xor r8d, r14d
lea r14d, [rcx + rax]
lea r15d, [r8 + rdi]
rol r14d, 7
xor r14d, dword [rsp + 0x20]
rol r15d, 9
xor r15d, r11d
lea r11d, [r8 + r15]
rol r11d, 0xd
xor r11d, edx
lea edx, [r15 + r11]
mov dword [rsp + 0x44], r11d
ror edx, 0xe
xor edi, edx
lea edx, [rbx + rbp]
rol edx, 7
xor r12d, edx
lea edx, [r12 + rbx]
rol edx, 9
xor edx, r9d
lea r11d, [r12 + rdx]
mov dword [rsp + 0x48], edx
rol r11d, 0xd
xor r11d, ebp
add edx, r11d
ror edx, 0xe
xor ebx, edx
lea edx, [r10 + r13]
rol edx, 7
xor esi, edx
lea r9d, [rsi + r10]
rol r9d, 9
xor r9d, dword [rsp + 0x40]
lea edx, [rsi + r9]
rol edx, 0xd
xor r13d, edx
lea edx, [r9 + r13]
ror edx, 0xe
xor r10d, edx
lea edx, [r14 + rcx]
rol edx, 9
xor edx, dword [rsp + 0x3c]
lea ebp, [r14 + rdx]
rol ebp, 0xd
xor eax, ebp
lea ebp, [rdx + rax]
ror ebp, 0xe
xor ecx, ebp
lea ebp, [rdi + r14]
rol ebp, 7
xor ebp, r11d
lea r11d, [rdi + rbp]
rol r11d, 9
xor r11d, r9d
lea r9d, [rbp + r11]
mov dword [rsp + 0x40], r11d
rol r9d, 0xd
xor r9d, r14d
add r11d, r9d
mov dword [rsp + 0x20], r9d
mov r9d, r11d
ror r9d, 0xe
xor edi, r9d
lea r9d, [r8 + rbx]
rol r9d, 7
xor r13d, r9d
lea r9d, [rbx + r13]
rol r9d, 9
xor r9d, edx
lea edx, [r13 + r9]
mov dword [rsp + 0x3c], r9d
rol edx, 0xd
xor r8d, edx
lea edx, [r9 + r8]
ror edx, 0xe
xor ebx, edx
lea edx, [r12 + r10]
rol edx, 7
xor eax, edx
lea r11d, [r10 + rax]
rol r11d, 9
xor r11d, r15d
lea edx, [rax + r11]
rol edx, 0xd
xor r12d, edx
lea edx, [r11 + r12]
ror edx, 0xe
xor r10d, edx
lea edx, [rsi + rcx]
rol edx, 7
xor edx, dword [rsp + 0x44]
lea r9d, [rcx + rdx]
rol r9d, 9
xor r9d, dword [rsp + 0x48]
lea r14d, [rdx + r9]
rol r14d, 0xd
xor esi, r14d
lea r14d, [r9 + rsi]
ror r14d, 0xe
xor ecx, r14d
sub dword [rsp + 0x4c], 1
jne 0x4839fd
mov dword [rsp + 0x44], eax
mov r14d, eax
mov eax, dword [rsp + 0x40]
movd xmm0, edi
movd xmm5, dword [rsp + 0x20]
movd xmm2, ecx
add edi, dword [rsp + 0x58]
mov dword [rsp + 0x48], ecx
movd xmm1, eax
add eax, dword [rsp + 0x60]
movd xmm3, r9d
mov ecx, dword [rsp + 0x7c]
punpckldq xmm1, xmm5
movd xmm5, ebp
add r9d, dword [rsp + 0x8c]
mov r15, qword [rsp + 0x188]
punpckldq xmm0, xmm5
movd xmm5, dword [rsp + 0x3c]
add ecx, r12d
punpcklqdq xmm0, xmm1
movd xmm1, r13d
add r13d, dword [rsp + 0x70]
punpckldq xmm1, xmm5
movaps xmmword [rsp + 0xf0], xmm0
movd xmm5, ebx
movd xmm0, r8d
punpckldq xmm0, xmm5
movd xmm5, r14d
mov r14d, dword [rsp + 0x5c]
add ebx, dword [rsp + 0x6c]
punpcklqdq xmm0, xmm1
movd xmm1, r10d
add r8d, dword [rsp + 0x68]
add r10d, dword [rsp + 0x80]
punpckldq xmm1, xmm5
movaps xmmword [rsp + 0x100], xmm0
movd xmm5, r12d
add r14d, ebp
movd xmm0, r11d
mov ebp, dword [rsp + 0x20]
add ebp, dword [rsp + 0x64]
punpckldq xmm0, xmm5
movd xmm5, ebp
add r11d, dword [rsp + 0x78]
mov r12d, dword [rsp + 0x44]
punpcklqdq xmm0, xmm1
movd xmm1, esi
add r12d, dword [rsp + 0x84]
add esi, dword [rsp + 0x90]
movaps xmmword [rsp + 0x110], xmm0
movd xmm0, edx
punpckldq xmm1, xmm2
movd xmm2, r14d
punpckldq xmm0, xmm3
add edx, dword [rsp + 0x88]
punpcklqdq xmm0, xmm1
movd xmm1, eax
mov eax, dword [rsp + 0x48]
movaps xmmword [rsp + 0x120], xmm0
movd xmm0, edi
punpckldq xmm1, xmm5
movd xmm5, ebx
punpckldq xmm0, xmm2
movd xmm2, r12d
punpcklqdq xmm0, xmm1
movd xmm1, r13d
movaps xmmword [rsp + 0xb0], xmm0
movd xmm0, r8d
mov r8d, dword [rsp + 0x3c]
add r8d, dword [rsp + 0x74]
movd xmm3, r8d
punpckldq xmm0, xmm5
punpckldq xmm1, xmm3
movd xmm3, ecx
punpcklqdq xmm0, xmm1
movd xmm1, r10d
movaps xmmword [rsp + 0xc0], xmm0
movd xmm0, r11d
punpckldq xmm1, xmm2
movd xmm2, r9d
punpckldq xmm0, xmm3
punpcklqdq xmm0, xmm1
movd xmm1, esi
movaps xmmword [rsp + 0xd0], xmm0
add eax, dword [rsp + 0x94]
movd xmm0, edx
mov rcx, qword [rsp + 0xa8]
movd xmm5, eax
punpckldq xmm0, xmm2
mov edx, 0x40
punpckldq xmm1, xmm5
punpcklqdq xmm0, xmm1
movaps xmmword [rsp + 0xe0], xmm0
call sym.OPENSSL_cleanse
mov rcx, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x98]
mov rax, rcx
mov rdx, rcx
movdqa xmm3, xmmword [rsi]
movdqa xmm2, xmmword [rsi + 0x10]
and eax, 1
shr rdx, 1
movdqa xmm5, xmmword [rsi + 0x20]
add rcx, 1
imul rax, qword [rsp + 0x190]
mov qword [rsp + 0x50], rcx
add rax, rdx
shl rax, 6
add rax, qword [rsp + 0x180]
movups xmmword [rax], xmm3
movdqa xmm3, xmmword [rsi + 0x30]
movups xmmword [rax + 0x10], xmm2
movups xmmword [rax + 0x20], xmm5
movaps xmmword [rsp + 0x20], xmm3
movups xmmword [rax + 0x30], xmm3
cmp rcx, qword [rsp + 0xa0]
jne 0x483818
mov rcx, qword [rsp + 0x98]
mov edx, 0x40
call sym.OPENSSL_cleanse
nop
add rsp, 0x138
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret