Function at 0x54a9a0
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rbx
sub rsp, 0x1d8
vmovups xmmword [rsp + 0x130], xmm6
vmovups xmmword [rsp + 0x140], xmm7
vmovups xmmword [rsp + 0x150], xmm8
vmovups xmmword [rsp + 0x160], xmm9
vmovups xmmword [rsp + 0x170], xmm10
vmovups xmmword [rsp + 0x180], xmm11
vmovups xmmword [rsp + 0x190], xmm12
vmovups xmmword [rsp + 0x1a0], xmm13
vmovups xmmword [rsp + 0x1b0], xmm14
vmovups xmmword [rsp + 0x1c0], xmm15
vmovdqu xmm4, xmmword [0x006cf880]
mov rsi, rdx
mov edx, dword [rcx + 0x1190]
mov rbx, rcx
vmovups xmmword [rcx + rdx], xmm4
lea ecx, [rdx + 1]
mov edx, 0x20
sub edx, ecx
test edx, edx
jle 0x54aa48
mov r8d, 0x1f
xor edx, edx
sub r8d, ecx
shl rcx, 4
inc r8
add rcx, rbx
shl r8, 4
call sub.msvcrt.dll_memset
mov rdx, rbx
mov rcx, rbx
call fcn.00549810
vmovdqu xmm4, xmmword [rbx + 0x1080]
vmovdqu xmm15, xmmword [rbx + 0x1100]
mov r9d, 0x20
vmovdqu xmm11, xmmword [rbx + 0x1170]
vmovdqu xmm13, xmmword [rbx + 0x1180]
vmovups xmmword [rsp + 0x30], xmm4
vmovdqu xmm4, xmmword [rbx + 0x1090]
mov r8d, dword [rbx + 0x1194]
vmovups xmmword [rsp + 0x120], xmm4
vmovdqu xmm4, xmmword [rbx + 0x10a0]
vmovups xmmword [rsp + 0x20], xmm4
vmovdqu xmm4, xmmword [rbx + 0x10b0]
vmovups xmmword [rsp + 0x40], xmm4
vmovdqu xmm4, xmmword [rbx + 0x10c0]
vmovups xmmword [rsp + 0x50], xmm4
vmovdqu xmm4, xmmword [rbx + 0x10d0]
vmovups xmmword [rsp + 0x60], xmm4
vmovdqu xmm4, xmmword [rbx + 0x10e0]
vmovdqu xmm8, xmm4
vmovdqu xmm4, xmmword [rbx + 0x10f0]
vmovups xmmword [rsp + 0x70], xmm4
vmovdqu xmm4, xmmword [rbx + 0x1110]
vmovups xmmword [rsp + 0x80], xmm4
vmovdqu xmm4, xmmword [rbx + 0x1120]
vmovups xmmword [rsp + 0x90], xmm4
vmovdqu xmm4, xmmword [rbx + 0x1130]
vmovups xmmword [rsp + 0xa0], xmm4
vmovdqu xmm4, xmmword [rbx + 0x1140]
vmovups xmmword [rsp + 0xb0], xmm4
vmovdqu xmm4, xmmword [rbx + 0x1150]
vmovups xmmword [rsp + 0xc0], xmm4
vmovdqu xmm4, xmmword [rbx + 0x1160]
vmovups xmmword [rsp + 0xd0], xmm4
vpcmpeqq xmm4, xmm4, xmm4
nop dword [rax]
lea r10d, [r8 + 4]
lea edx, [r8 - 8]
vmovdqu xmm5, xmm8
mov ecx, r8d
lea r8d, [r8 - 1]
and edx, 0x1f
vmovdqu xmm2, xmmword [rsp + 0x50]
xor ecx, 0x10
and r8d, 0x1f
shl rdx, 7
vmovdqu xmm3, xmmword [rsp + 0x60]
mov eax, r8d
add rdx, rbx
shl rax, 7
vmovdqu xmm7, xmmword [rdx + 0x80]
add rax, rbx
vpxor xmm0, xmm7, xmmword [rax + 0xa0]
vmovdqu xmm7, xmmword [rsp + 0x40]
vmovups xmmword [rdx + 0x80], xmm0
vpxor xmm0, xmm7, xmmword [rax + 0xa0]
vmovups xmmword [rax + 0xa0], xmm0
vmovdqu xmm6, xmmword [rdx + 0x90]
vpxor xmm0, xmm6, xmmword [rax + 0xb0]
vmovups xmmword [rdx + 0x90], xmm0
vpxor xmm0, xmm2, xmmword [rax + 0xb0]
vmovups xmmword [rax + 0xb0], xmm0
vmovdqu xmm6, xmmword [rdx + 0xa0]
vpxor xmm0, xmm6, xmmword [rax + 0xc0]
vmovups xmmword [rdx + 0xa0], xmm0
vpxor xmm0, xmm3, xmmword [rax + 0xc0]
vmovups xmmword [rax + 0xc0], xmm0
vmovdqu xmm6, xmmword [rdx + 0xb0]
vpxor xmm0, xmm6, xmmword [rax + 0xd0]
vmovups xmmword [rdx + 0xb0], xmm0
vpxor xmm0, xmm8, xmmword [rax + 0xd0]
vmovups xmmword [rax + 0xd0], xmm0
vmovdqu xmm6, xmmword [rdx + 0xc0]
vpxor xmm0, xmm6, xmmword [rax + 0xe0]
vmovdqu xmm6, xmmword [rsp + 0x70]
vmovups xmmword [rdx + 0xc0], xmm0
vpxor xmm0, xmm6, xmmword [rax + 0xe0]
vmovups xmmword [rax + 0xe0], xmm0
vmovdqu xmm1, xmmword [rdx + 0xd0]
vpxor xmm0, xmm1, xmmword [rax + 0xf0]
vmovups xmmword [rdx + 0xd0], xmm0
vpxor xmm0, xmm15, xmmword [rax + 0xf0]
vmovdqu xmm8, xmmword [rsp + 0x120]
vmovups xmmword [rax + 0xf0], xmm0
vmovdqu xmm1, xmmword [rdx + 0xe0]
vpxor xmm0, xmm1, xmmword [rax + 0x80]
vmovups xmmword [rdx + 0xe0], xmm0
vpxor xmm0, xmm8, xmmword [rax + 0x80]
vmovups xmmword [rax + 0x80], xmm0
vmovdqu xmm1, xmmword [rdx + 0xf0]
vpxor xmm0, xmm1, xmmword [rax + 0x90]
vmovdqu xmm1, xmmword [rsp + 0x20]
vmovups xmmword [rdx + 0xf0], xmm0
vpxor xmm0, xmm1, xmmword [rax + 0x90]
vpxor xmm14, xmm4, xmm1
vpxor xmm1, xmm4, xmmword [rsp + 0x80]
vmovups xmmword [rax + 0x90], xmm0
vpor xmm14, xmm14, xmm8
mov eax, r10d
vpxor xmm0, xmm14, xmmword [rsp + 0x30]
vpor xmm1, xmm1, xmm15
and eax, 0x1f
vmovups xmmword [rsp + 0x110], xmm0
vpxor xmm1, xmm1, xmm6
inc rax
vpxor xmm6, xmm4, xmm6
vpsrld xmm0, xmm1, 0x1f
vpslld xmm1, xmm1, 1
vpor xmm6, xmm6, xmm5
shl rax, 7
vpor xmm10, xmm1, xmm0
vpxor xmm0, xmm4, xmm13
vmovdqu xmm1, xmm7
add rax, rbx
vpor xmm0, xmm0, xmm11
vpxor xmm6, xmm6, xmm3
vpxor xmm0, xmm0, xmmword [rsp + 0xd0]
vmovups xmmword [rsp + 0xe0], xmm10
vpxor xmm10, xmm4, xmmword [rsp + 0xc0]
vpor xmm10, xmm10, xmmword [rsp + 0xb0]
vpxor xmm10, xmm10, xmmword [rsp + 0xa0]
vpsrld xmm12, xmm0, 0x1d
vpslld xmm0, xmm0, 3
vpor xmm14, xmm0, xmm12
vpxor xmm0, xmm4, xmm5
vmovdqu xmm12, xmm5
vmovups xmmword [rsp + 0xf0], xmm14
vpor xmm0, xmm0, xmm3
vpxor xmm5, xmm4, xmmword [rsp + 0xd0]
vpxor xmm3, xmm4, xmm2
vpxor xmm0, xmm0, xmm2
vpor xmm3, xmm3, xmm1
vpxor xmm3, xmm3, xmmword [rsp + 0x20]
vpor xmm5, xmm5, xmmword [rsp + 0xc0]
vpsrld xmm14, xmm0, 0x1a
vpxor xmm5, xmm5, xmmword [rsp + 0xb0]
vpslld xmm0, xmm0, 6
vpor xmm9, xmm0, xmm14
vpsrld xmm0, xmm10, 0x16
vmovdqu xmm14, xmm8
vmovups xmmword [rsp + 0x100], xmm9
vpxor xmm9, xmm4, xmm7
vpor xmm9, xmm9, xmmword [rsp + 0x20]
vpxor xmm14, xmm4, xmm14
vpxor xmm7, xmm4, xmmword [rsp + 0x30]
vpslld xmm10, xmm10, 0xa
vpxor xmm9, xmm9, xmm8
vpor xmm10, xmm10, xmm0
vpxor xmm8, xmm4, xmmword [rsp + 0x90]
vpor xmm8, xmm8, xmmword [rsp + 0x80]
vpsrld xmm0, xmm9, 0x11
vpor xmm7, xmm7, xmm13
vpslld xmm9, xmm9, 0xf
vpxor xmm7, xmm7, xmm11
vpxor xmm2, xmm4, xmmword [rsp + 0xa0]
vpxor xmm8, xmm8, xmm15
vpor xmm9, xmm9, xmm0
vpor xmm14, xmm14, xmmword [rsp + 0x30]
vpsrld xmm0, xmm8, 0xb
vpslld xmm8, xmm8, 0x15
vpxor xmm15, xmm4, xmm15
vpor xmm8, xmm8, xmm0
vpsrld xmm0, xmm7, 4
vpor xmm15, xmm15, xmmword [rsp + 0x70]
vpslld xmm7, xmm7, 0x1c
vpxor xmm14, xmm14, xmm13
vpxor xmm11, xmm4, xmm11
vpor xmm7, xmm7, xmm0
vpsrld xmm0, xmm6, 0x1c
vpor xmm2, xmm2, xmmword [rsp + 0x90]
vpslld xmm6, xmm6, 4
vpxor xmm15, xmm15, xmm12
vpxor xmm2, xmm2, xmmword [rsp + 0x80]
vpslld xmm1, xmm14, 0xe
vpsrld xmm13, xmm15, 5
vpor xmm6, xmm6, xmm0
vpsrld xmm0, xmm5, 0x13
vpslld xmm5, xmm5, 0xd
vpor xmm11, xmm11, xmmword [rsp + 0xd0]
vpor xmm5, xmm5, xmm0
vpsrld xmm0, xmm3, 9
vpxor xmm11, xmm11, xmmword [rsp + 0xc0]
vpslld xmm3, xmm3, 0x17
vpslld xmm15, xmm15, 0x1b
vpor xmm3, xmm3, xmm0
vpsrld xmm0, xmm2, 0x1e
vpor xmm13, xmm15, xmm13
vpslld xmm2, xmm2, 2
vpsrld xmm12, xmm11, 0x17
vpxor xmm15, xmm10, xmmword [rsp + 0xe0]
vpor xmm2, xmm2, xmm0
vpsrld xmm0, xmm14, 0x12
vpxor xmm14, xmm4, xmmword [rsp + 0xb0]
vpor xmm14, xmm14, xmmword [rsp + 0xa0]
vpor xmm1, xmm1, xmm0
vpxor xmm14, xmm14, xmmword [rsp + 0x90]
vpslld xmm0, xmm11, 9
vmovdqu xmm11, xmmword [rsp + 0x110]
vpxor xmm11, xmm11, xmmword [0x006cf880]
vpshufb xmm14, xmm14, xmmword [0x006cf870]
vpor xmm0, xmm0, xmm12
vpxor xmm12, xmm4, xmmword [rsp + 0x60]
vpxor xmm15, xmm15, xmm11
vpor xmm12, xmm12, xmmword [rsp + 0x50]
vpxor xmm12, xmm12, xmmword [rsp + 0x40]
vmovdqu xmm11, xmmword [rsp + 0xe0]
vmovups xmmword [rsp + 0x30], xmm15
vpxor xmm11, xmm11, xmmword [rsp + 0xf0]
vpshufb xmm12, xmm12, xmmword [0x006cf860]
vpxor xmm15, xmm9, xmmword [rax]
vpxor xmm15, xmm15, xmm11
vmovdqu xmm11, xmmword [rsp + 0xf0]
vpxor xmm11, xmm11, xmmword [rsp + 0x100]
vmovups xmmword [rsp + 0x120], xmm15
vpxor xmm15, xmm8, xmmword [rax + 0x10]
vpxor xmm15, xmm15, xmm11
vpxor xmm11, xmm10, xmmword [rsp + 0x100]
vpxor xmm10, xmm10, xmm9
vmovups xmmword [rsp + 0x20], xmm15
vpxor xmm15, xmm7, xmmword [rax + 0x20]
vpxor xmm9, xmm9, xmm8
vpxor xmm8, xmm8, xmm7
vpxor xmm7, xmm7, xmm6
vpxor xmm15, xmm15, xmm11
vpxor xmm11, xmm6, xmmword [rax + 0x30]
vpxor xmm6, xmm6, xmm5
vmovups xmmword [rsp + 0x40], xmm15
vpxor xmm15, xmm11, xmm10
vmovups xmmword [rsp + 0x50], xmm15
vpxor xmm10, xmm5, xmmword [rax + 0x40]
vpxor xmm5, xmm5, xmm3
vpxor xmm15, xmm10, xmm9
vpxor xmm9, xmm3, xmmword [rax + 0x50]
vpxor xmm3, xmm3, xmm2
vmovups xmmword [rsp + 0x60], xmm15
vpxor xmm15, xmm2, xmmword [rax + 0x60]
vpxor xmm2, xmm2, xmm1
vpxor xmm8, xmm9, xmm8
vpxor xmm7, xmm15, xmm7
vpxor xmm15, xmm1, xmmword [rax + 0x70]
vpxor xmm1, xmm1, xmm13
mov rax, rcx
shl rax, 7
vmovups xmmword [rsp + 0x70], xmm7
vpxor xmm15, xmm15, xmm6
mov rcx, rax
vpxor xmm6, xmm13, xmmword [rax + rbx + 0x80]
add rcx, rbx
vpxor xmm13, xmm13, xmm0
vpxor xmm7, xmm6, xmm5
vpxor xmm5, xmm0, xmmword [rcx + 0x90]
vpxor xmm0, xmm0, xmmword [rsp + 0xe0]
vmovups xmmword [rsp + 0x80], xmm7
vpxor xmm7, xmm5, xmm3
vpxor xmm3, xmm12, xmmword [rcx + 0xa0]
vmovdqu xmm5, xmmword [rsp + 0x110]
vpxor xmm11, xmm5, xmmword [rcx + 0xc0]
vmovups xmmword [rsp + 0x90], xmm7
vpxor xmm2, xmm3, xmm2
vmovups xmmword [rsp + 0xa0], xmm2
vpxor xmm2, xmm14, xmmword [rcx + 0xb0]
vpxor xmm7, xmm2, xmm1
vpxor xmm2, xmm11, xmm13
vpxor xmm11, xmm12, xmmword [rcx + 0xd0]
vpxor xmm13, xmm5, xmmword [rcx + 0xf0]
vpxor xmm12, xmm14, xmm12
vpxor xmm14, xmm14, xmmword [rsp + 0x100]
vmovups xmmword [rsp + 0xb0], xmm7
vmovups xmmword [rsp + 0xc0], xmm2
vpxor xmm3, xmm11, xmm0
vmovdqu xmm11, xmmword [rsp + 0xf0]
vpxor xmm11, xmm11, xmmword [rcx + 0xe0]
vmovups xmmword [rsp + 0xd0], xmm3
vpxor xmm13, xmm13, xmm14
vpxor xmm11, xmm11, xmm12
dec r9d
jne 0x54ab58
vmovdqu xmm4, xmmword [rsp + 0x30]
vmovups xmmword [rbx + 0x10e0], xmm8
vmovdqu xmm7, xmmword [rsp + 0x90]
vmovups xmmword [rbx + 0x1100], xmm15
vmovups xmmword [rbx + 0x1080], xmm4
vmovdqu xmm4, xmmword [rsp + 0x120]
vmovups xmmword [rbx + 0x1120], xmm7
vmovdqu xmm7, xmmword [rsp + 0xa0]
vmovups xmmword [rbx + 0x1090], xmm4
vmovdqu xmm4, xmmword [rsp + 0x20]
vmovups xmmword [rbx + 0x1130], xmm7
vmovdqu xmm7, xmmword [rsp + 0xb0]
vmovups xmmword [rbx + 0x10a0], xmm4
vmovdqu xmm4, xmmword [rsp + 0x40]
vmovups xmmword [rbx + 0x1140], xmm7
vmovups xmmword [rbx + 0x10b0], xmm4
vmovdqu xmm4, xmmword [rsp + 0x50]
vmovups xmmword [rbx + 0x1170], xmm11
vmovups xmmword [rbx + 0x10c0], xmm4
vmovdqu xmm4, xmmword [rsp + 0x60]
vmovups xmmword [rbx + 0x1180], xmm13
vmovups xmmword [rbx + 0x10d0], xmm4
vmovdqu xmm4, xmmword [rsp + 0x70]
vmovups xmmword [rbx + 0x1150], xmm2
vmovups xmmword [rbx + 0x10f0], xmm4
vmovdqu xmm4, xmmword [rsp + 0x80]
vmovups xmmword [rbx + 0x1160], xmm3
vmovups xmmword [rbx + 0x1110], xmm4
vmovups xmmword [rsi], xmm4
vmovdqu xmm4, xmmword [rbx + 0x1120]
vmovups xmmword [rsi + 0x10], xmm4
vmovdqu xmm4, xmmword [rbx + 0x1130]
vmovups xmmword [rsi + 0x20], xmm4
vmovdqu xmm4, xmmword [rbx + 0x1140]
vmovups xmm6, xmmword [rsp + 0x130]
vmovups xmm7, xmmword [rsp + 0x140]
vmovups xmm8, xmmword [rsp + 0x150]
vmovups xmm9, xmmword [rsp + 0x160]
vmovups xmmword [rsi + 0x30], xmm4
vmovdqu xmm4, xmmword [rbx + 0x1150]
vmovups xmm10, xmmword [rsp + 0x170]
vmovups xmm11, xmmword [rsp + 0x180]
vmovups xmm12, xmmword [rsp + 0x190]
vmovups xmmword [rsi + 0x40], xmm4
vmovdqu xmm4, xmmword [rbx + 0x1160]
vmovups xmm13, xmmword [rsp + 0x1a0]
vmovups xmm14, xmmword [rsp + 0x1b0]
vmovups xmm15, xmmword [rsp + 0x1c0]
vmovups xmmword [rsi + 0x50], xmm4
vmovdqu xmm4, xmmword [rbx + 0x1170]
vmovups xmmword [rsi + 0x60], xmm4
vmovdqu xmm0, xmmword [rbx + 0x1180]
vmovups xmmword [rsi + 0x70], xmm0
add rsp, 0x1d8
pop rbx
pop rsi
ret