Function at 0x54cf40
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rbx
sub rsp, 0x1b8
vmovups xmmword [rsp + 0x110], xmm6
vmovups xmmword [rsp + 0x120], xmm7
vmovups xmmword [rsp + 0x130], xmm8
vmovups xmmword [rsp + 0x140], xmm9
vmovups xmmword [rsp + 0x150], xmm10
vmovups xmmword [rsp + 0x160], xmm11
vmovups xmmword [rsp + 0x170], xmm12
vmovups xmmword [rsp + 0x180], xmm13
vmovups xmmword [rsp + 0x190], xmm14
vmovups xmmword [rsp + 0x1a0], xmm15
vmovups xmm1, xmmword [0x006d05e0]
mov rsi, rdx
mov edx, dword [rcx + 0x1190]
mov rbx, rcx
vmovups xmmword [rcx + rdx], xmm1
lea ecx, [rdx + 1]
mov edx, 0x20
sub edx, ecx
test edx, edx
jle 0x54cfe8
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.0054bd80
vmovups xmm1, xmmword [rbx + 0x1080]
mov r9d, 0x20
vmovups xmm12, xmmword [rbx + 0x1090]
vmovups xmm15, xmmword [rbx + 0x1100]
vmovups xmm14, xmmword [rbx + 0x1170]
vmovups xmm3, xmmword [rbx + 0x1180]
mov r8d, dword [rbx + 0x1194]
vmovups xmmword [rsp + 0x30], xmm1
vmovups xmm1, xmmword [rbx + 0x10a0]
vmovups xmmword [rsp + 0x40], xmm1
vmovups xmm1, xmmword [rbx + 0x10b0]
vmovups xmmword [rsp + 0x50], xmm1
vmovups xmm1, xmmword [rbx + 0x10c0]
vmovups xmmword [rsp + 0x60], xmm1
vmovups xmm1, xmmword [rbx + 0x10d0]
vmovups xmmword [rsp + 0x70], xmm1
vmovups xmm1, xmmword [rbx + 0x10e0]
vmovups xmm11, xmm1
vmovups xmm1, xmmword [rbx + 0x10f0]
vmovups xmmword [rsp + 0x20], xmm1
vmovups xmm1, xmmword [rbx + 0x1110]
vmovups xmmword [rsp + 0x80], xmm1
vmovups xmm1, xmmword [rbx + 0x1120]
vmovups xmmword [rsp + 0x90], xmm1
vmovups xmm1, xmmword [rbx + 0x1130]
vmovups xmmword [rsp + 0xa0], xmm1
vmovups xmm1, xmmword [rbx + 0x1140]
vmovups xmmword [rsp + 0xb0], xmm1
vmovups xmm1, xmmword [rbx + 0x1150]
vmovups xmmword [rsp + 0xc0], xmm1
vmovups xmm1, xmmword [rbx + 0x1160]
vmovups xmmword [rsp + 0xd0], xmm1
vpcmpeqq xmm1, xmm1, xmm1
nop dword [rax + rax]
lea edx, [r8 - 8]
lea ecx, [r8 + 4]
mov r10d, r8d
lea r8d, [r8 - 1]
and edx, 0x1f
and r8d, 0x1f
vmovups xmm7, xmmword [rsp + 0x50]
vmovups xmm5, xmmword [rsp + 0x60]
shl rdx, 7
mov r11d, r8d
vmovups xmm6, xmmword [rsp + 0x70]
vmovups xmm13, xmm11
add rdx, rbx
shl r11, 7
vmovups xmm2, xmmword [rdx + 0x80]
lea rax, [rbx + r11]
vxorps xmm0, xmm2, xmmword [rbx + r11 + 0xa0]
vxorps xmm10, xmm1, xmm7
vmovups xmmword [rdx + 0x80], xmm0
vxorps xmm0, xmm7, xmmword [rbx + r11 + 0xa0]
vmovups xmmword [rax + 0xa0], xmm0
vmovups xmm2, xmmword [rdx + 0x90]
vxorps xmm0, xmm2, xmmword [rax + 0xb0]
vmovups xmmword [rdx + 0x90], xmm0
vxorps xmm0, xmm5, xmmword [rax + 0xb0]
vmovups xmmword [rax + 0xb0], xmm0
vmovups xmm2, xmmword [rdx + 0xa0]
vxorps xmm0, xmm2, xmmword [rax + 0xc0]
vmovups xmmword [rdx + 0xa0], xmm0
vxorps xmm0, xmm6, xmmword [rax + 0xc0]
vmovups xmmword [rax + 0xc0], xmm0
vmovups xmm2, xmmword [rdx + 0xb0]
vxorps xmm0, xmm2, xmmword [rax + 0xd0]
vmovups xmmword [rdx + 0xb0], xmm0
vxorps xmm0, xmm11, xmmword [rax + 0xd0]
vmovups xmmword [rax + 0xd0], xmm0
vmovups xmm2, xmmword [rdx + 0xc0]
vxorps xmm0, xmm2, xmmword [rax + 0xe0]
vmovups xmm2, xmmword [rsp + 0x20]
vmovups xmmword [rdx + 0xc0], xmm0
vxorps xmm0, xmm2, xmmword [rax + 0xe0]
vmovups xmmword [rax + 0xe0], xmm0
vmovups xmm4, xmmword [rdx + 0xd0]
vxorps xmm0, xmm4, xmmword [rax + 0xf0]
vmovups xmmword [rdx + 0xd0], xmm0
vxorps xmm0, xmm15, xmmword [rax + 0xf0]
vmovups xmm8, xmmword [rsp + 0x40]
vmovups xmmword [rax + 0xf0], xmm0
vmovups xmm4, xmmword [rdx + 0xe0]
vorps xmm10, xmm10, xmm8
vxorps xmm0, xmm4, xmmword [rax + 0x80]
vxorps xmm10, xmm10, xmm12
vmovups xmmword [rdx + 0xe0], xmm0
vxorps xmm0, xmm12, xmmword [rax + 0x80]
vmovups xmmword [rax + 0x80], xmm0
vmovups xmm4, xmmword [rdx + 0xf0]
vxorps xmm0, xmm4, xmmword [rax + 0x90]
vmovups xmmword [rdx + 0xf0], xmm0
vxorps xmm0, xmm8, xmmword [rax + 0x90]
vmovups xmmword [rax + 0x90], xmm0
vxorps xmm0, xmm1, xmm8
vxorps xmm8, xmm1, xmmword [rsp + 0x30]
mov eax, ecx
vorps xmm0, xmm0, xmm12
vxorps xmm4, xmm0, xmmword [rsp + 0x30]
vxorps xmm12, xmm1, xmm12
and eax, 0x1f
vxorps xmm0, xmm1, xmmword [rsp + 0x80]
inc rax
shl rax, 7
add rax, rbx
vorps xmm8, xmm8, xmm3
vmovups xmmword [rsp + 0x100], xmm4
vmovups xmm4, xmm7
vxorps xmm7, xmm1, xmmword [rsp + 0x20]
vxorps xmm8, xmm8, xmm14
vorps xmm0, xmm0, xmm15
vxorps xmm0, xmm0, xmm2
vpsrld xmm2, xmm0, 0x1f
vpslld xmm0, xmm0, 1
vorps xmm9, xmm0, xmm2
vxorps xmm0, xmm1, xmm3
vorps xmm0, xmm0, xmm14
vxorps xmm0, xmm0, xmmword [rsp + 0xd0]
vmovups xmmword [rsp + 0xe0], xmm9
vxorps xmm9, xmm1, xmmword [rsp + 0x90]
vorps xmm9, xmm9, xmmword [rsp + 0x80]
vorps xmm7, xmm7, xmm13
vxorps xmm7, xmm7, xmm6
vpsrld xmm2, xmm0, 0x1d
vpslld xmm0, xmm0, 3
vorps xmm11, xmm0, xmm2
vxorps xmm2, xmm1, xmm13
vorps xmm2, xmm2, xmm6
vmovups xmmword [rsp + 0xf0], xmm11
vxorps xmm6, xmm1, xmmword [rsp + 0xd0]
vxorps xmm11, xmm1, xmmword [rsp + 0xc0]
vxorps xmm2, xmm2, xmm5
vxorps xmm5, xmm1, xmm5
vorps xmm11, xmm11, xmmword [rsp + 0xb0]
vorps xmm5, xmm5, xmm4
vxorps xmm4, xmm1, xmmword [rsp + 0xa0]
vorps xmm6, xmm6, xmmword [rsp + 0xc0]
vxorps xmm9, xmm9, xmm15
vorps xmm4, xmm4, xmmword [rsp + 0x90]
vxorps xmm11, xmm11, xmmword [rsp + 0xa0]
vxorps xmm15, xmm1, xmm15
vpsrld xmm0, xmm2, 0x1a
vxorps xmm6, xmm6, xmmword [rsp + 0xb0]
vxorps xmm5, xmm5, xmmword [rsp + 0x40]
vpslld xmm2, xmm2, 6
vorps xmm2, xmm2, xmm0
vxorps xmm4, xmm4, xmmword [rsp + 0x80]
vorps xmm12, xmm12, xmmword [rsp + 0x30]
vorps xmm15, xmm15, xmmword [rsp + 0x20]
vpsrld xmm0, xmm11, 0x16
vpslld xmm11, xmm11, 0xa
vorps xmm11, xmm11, xmm0
vpsrld xmm0, xmm10, 0x11
vpslld xmm10, xmm10, 0xf
vorps xmm10, xmm10, xmm0
vpsrld xmm0, xmm9, 0xb
vpslld xmm9, xmm9, 0x15
vxorps xmm3, xmm12, xmm3
vxorps xmm12, xmm1, xmmword [rsp + 0xb0]
vorps xmm9, xmm9, xmm0
vpsrld xmm0, xmm8, 4
vorps xmm12, xmm12, xmmword [rsp + 0xa0]
vxorps xmm15, xmm15, xmm13
vpslld xmm8, xmm8, 0x1c
vorps xmm8, xmm8, xmm0
vxorps xmm12, xmm12, xmmword [rsp + 0x90]
vpsrld xmm13, xmm15, 5
vpslld xmm15, xmm15, 0x1b
vorps xmm13, xmm15, xmm13
vpsrld xmm0, xmm7, 0x1c
vpslld xmm7, xmm7, 4
vorps xmm7, xmm7, xmm0
vpsrld xmm0, xmm6, 0x13
vpslld xmm6, xmm6, 0xd
vorps xmm6, xmm6, xmm0
vpsrld xmm0, xmm5, 9
vpslld xmm5, xmm5, 0x17
vorps xmm5, xmm5, xmm0
vpsrld xmm0, xmm4, 0x1e
vpslld xmm4, xmm4, 2
vorps xmm4, xmm4, xmm0
vpsrld xmm0, xmm3, 0x12
vpslld xmm3, xmm3, 0xe
vorps xmm3, xmm3, xmm0
vxorps xmm0, xmm1, xmm14
vorps xmm0, xmm0, xmmword [rsp + 0xd0]
vxorps xmm0, xmm0, xmmword [rsp + 0xc0]
vpshufb xmm12, xmm12, xmmword [0x006d05d0]
vmovups xmmword [rsp + 0xb0], xmm12
vmovups xmm12, xmmword [rsp + 0xe0]
vpsrld xmm14, xmm0, 0x17
vpslld xmm0, xmm0, 9
vorps xmm14, xmm0, xmm14
vxorps xmm0, xmm1, xmmword [rsp + 0x70]
vorps xmm0, xmm0, xmmword [rsp + 0x60]
vxorps xmm0, xmm0, xmmword [rsp + 0x50]
vxorps xmm15, xmm11, xmm12
vxorps xmm15, xmm15, xmmword [0x006d05e0]
vxorps xmm15, xmm15, xmmword [rsp + 0x100]
vpshufb xmm0, xmm0, xmmword [0x006d05c0]
vmovups xmmword [rsp + 0x30], xmm15
vmovups xmm15, xmmword [rsp + 0xf0]
vxorps xmm15, xmm15, xmm12
vxorps xmm15, xmm15, xmm10
vxorps xmm12, xmm15, xmmword [rax]
vxorps xmm15, xmm2, xmmword [rsp + 0xf0]
vxorps xmm15, xmm15, xmm9
vxorps xmm15, xmm15, xmmword [rax + 0x10]
vmovups xmmword [rsp + 0x40], xmm15
vxorps xmm15, xmm2, xmm11
vxorps xmm11, xmm11, xmm10
vxorps xmm10, xmm10, xmm9
vxorps xmm10, xmm10, xmm6
vxorps xmm10, xmm10, xmmword [rax + 0x40]
vxorps xmm15, xmm15, xmm8
vxorps xmm9, xmm9, xmm8
vxorps xmm15, xmm15, xmmword [rax + 0x20]
vxorps xmm8, xmm8, xmm7
vxorps xmm11, xmm11, xmm7
vxorps xmm11, xmm11, xmmword [rax + 0x30]
vxorps xmm8, xmm8, xmm4
vxorps xmm9, xmm9, xmm5
vmovups xmmword [rsp + 0x70], xmm10
vxorps xmm10, xmm8, xmmword [rax + 0x60]
vmovups xmmword [rsp + 0x50], xmm15
vxorps xmm15, xmm7, xmm6
vmovups xmmword [rsp + 0x60], xmm11
vxorps xmm11, xmm9, xmmword [rax + 0x50]
vxorps xmm15, xmm15, xmm3
vxorps xmm6, xmm6, xmm5
vxorps xmm5, xmm5, xmm4
vxorps xmm6, xmm6, xmm13
vxorps xmm5, xmm5, xmm14
vxorps xmm4, xmm4, xmm3
vxorps xmm3, xmm3, xmm13
vxorps xmm4, xmm4, xmm0
vxorps xmm13, xmm13, xmm14
vmovups xmmword [rsp + 0x20], xmm10
vxorps xmm15, xmm15, xmmword [rax + 0x70]
mov eax, r10d
vxorps xmm14, xmm14, xmmword [rsp + 0xe0]
xor eax, 0x10
vmovups xmm7, xmmword [rsp + 0x100]
mov rdx, rax
shl rdx, 7
dec r9d
vxorps xmm6, xmm6, xmmword [rdx + rbx + 0x80]
vxorps xmm13, xmm13, xmmword [rbx + rdx + 0xc0]
vxorps xmm14, xmm14, xmm0
vmovups xmmword [rsp + 0x80], xmm6
vxorps xmm6, xmm5, xmmword [rbx + rdx + 0x90]
vmovups xmm5, xmmword [rsp + 0xb0]
vmovups xmmword [rsp + 0x90], xmm6
vxorps xmm6, xmm4, xmmword [rbx + rdx + 0xa0]
vxorps xmm3, xmm3, xmm5
vxorps xmm4, xmm13, xmm7
vxorps xmm0, xmm0, xmm5
vxorps xmm0, xmm0, xmmword [rsp + 0xf0]
vmovups xmmword [rsp + 0xc0], xmm4
vmovups xmmword [rsp + 0xa0], xmm6
vxorps xmm6, xmm3, xmmword [rbx + rdx + 0xb0]
vxorps xmm3, xmm2, xmm5
vxorps xmm3, xmm3, xmmword [rbx + rdx + 0xf0]
vmovups xmmword [rsp + 0xb0], xmm6
vxorps xmm6, xmm14, xmmword [rbx + rdx + 0xd0]
vxorps xmm3, xmm3, xmm7
vxorps xmm14, xmm0, xmmword [rbx + rdx + 0xe0]
vmovups xmmword [rsp + 0xd0], xmm6
jne 0x54d0f0
vmovups xmm1, xmmword [rsp + 0x30]
vmovups xmmword [rbx + 0x1090], xmm12
vmovups xmmword [rbx + 0x10e0], xmm11
vmovups xmmword [rbx + 0x10f0], xmm10
vmovups xmmword [rbx + 0x1100], xmm15
vmovups xmmword [rbx + 0x1160], xmm6
vmovups xmmword [rbx + 0x1170], xmm14
vmovups xmmword [rbx + 0x1180], xmm3
vmovups xmmword [rbx + 0x1150], xmm4
vmovups xmm7, xmmword [rsp + 0x90]
vmovups xmmword [rbx + 0x1080], xmm1
vmovups xmm1, xmmword [rsp + 0x40]
vmovups xmmword [rbx + 0x1120], xmm7
vmovups xmm7, xmmword [rsp + 0xa0]
vmovups xmmword [rbx + 0x10a0], xmm1
vmovups xmm1, xmmword [rsp + 0x50]
vmovups xmmword [rbx + 0x1130], xmm7
vmovups xmm7, xmmword [rsp + 0xb0]
vmovups xmmword [rbx + 0x10b0], xmm1
vmovups xmm1, xmmword [rsp + 0x60]
vmovups xmmword [rbx + 0x1140], xmm7
vmovups xmmword [rbx + 0x10c0], xmm1
vmovups xmm1, xmmword [rsp + 0x70]
vmovups xmmword [rbx + 0x10d0], xmm1
vmovups xmm1, xmmword [rsp + 0x80]
vmovups xmmword [rbx + 0x1110], xmm1
vmovups xmmword [rsi], xmm1
vmovups xmm1, xmmword [rbx + 0x1120]
vmovups xmmword [rsi + 0x10], xmm1
vmovups xmm1, xmmword [rbx + 0x1130]
vmovups xmmword [rsi + 0x20], xmm1
vmovups xmm3, xmmword [rbx + 0x1140]
vmovups xmmword [rsi + 0x30], xmm3
vmovups xmm1, xmmword [rbx + 0x1150]
vmovups xmm6, xmmword [rsp + 0x110]
vmovups xmm7, xmmword [rsp + 0x120]
vmovups xmm8, xmmword [rsp + 0x130]
vmovups xmm9, xmmword [rsp + 0x140]
vmovups xmm10, xmmword [rsp + 0x150]
vmovups xmm11, xmmword [rsp + 0x160]
vmovups xmm12, xmmword [rsp + 0x170]
vmovups xmm13, xmmword [rsp + 0x180]
vmovups xmm14, xmmword [rsp + 0x190]
vmovups xmm15, xmmword [rsp + 0x1a0]
vmovups xmmword [rsi + 0x40], xmm1
vmovups xmm3, xmmword [rbx + 0x1160]
vmovups xmmword [rsi + 0x50], xmm3
vmovups xmm1, xmmword [rbx + 0x1170]
vmovups xmmword [rsi + 0x60], xmm1
vmovups xmm0, xmmword [rbx + 0x1180]
vmovups xmmword [rsi + 0x70], xmm0
add rsp, 0x1b8
pop rbx
pop rsi
ret