Function at 0x585e40
Capabilities:
Encode data using xor
Encrypt data using aes via x86 extensions

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x2e8
vmovups xmmword [rsp + 0x240], xmm6
vmovups xmmword [rsp + 0x250], xmm7
vmovups xmmword [rsp + 0x260], xmm8
vmovups xmmword [rsp + 0x270], xmm9
vmovups xmmword [rsp + 0x280], xmm10
vmovups xmmword [rsp + 0x290], xmm11
vmovups xmmword [rsp + 0x2a0], xmm12
vmovups xmmword [rsp + 0x2b0], xmm13
vmovups xmmword [rsp + 0x2c0], xmm14
vmovups xmmword [rsp + 0x2d0], xmm15
lea r13, [rsp + 0xb0]
mov rbp, rdx
mov r14, rcx
mov rdx, rcx
mov rbx, r8
mov rcx, r13
mov r8d, 0x40
lea r12, [rsp + 0x178]
mov qword [rsp + 0x348], r9
call fcn.00577be0
mov rdx, rbp
mov r8d, 0x40
mov rcx, r12
call fcn.00577be0
mov rcx, qword [0x00725140]
call sub.libgcc_s_seh_1.dll___emutls_get_address
mov rdx, qword [rsp + 0x238]
vpxor xmm0, xmm0, xmm0
vpxor xmm1, xmm1, xmm1
mov rsi, qword [rax]
xor rdx, qword [rbp + 0x23]
mov r11, rax
mov rax, qword [rsp + 0x170]
xor rax, qword [r14 + 0x23]
vmovdqu xmm12, xmmword [rsp + 0xb0]
vmovdqu xmm11, xmmword [rsp + 0xc0]
vmovdqu xmm2, xmmword [rsp + 0xf0]
vmovdqu xmm14, xmmword [rsp + 0x150]
vmovdqu xmm15, xmmword [rsp + 0x160]
lea rdi, [rsi + 0x40000]
vpinsrq xmm0, xmm0, rdx, 1
xor edx, edx
vpinsrq xmm1, xmm1, rax, 1
mov rax, rsi
vinserti128 ymm5, ymm1, xmm0, 1
vmovdqu xmm1, xmmword [rsp + 0x100]
vmovdqu ymmword [rsp + 0x50], ymm5
vmovdqu xmm5, xmmword [rsp + 0x110]
vpslldq xmm8, xmm12, 4
vpslldq xmm3, xmm8, 4
vpxor xmm8, xmm3, xmm8
vaeskeygenassist xmm4, xmm11, 1
vpxor xmm8, xmm8, xmm12
vpshufd xmm4, xmm4, 0xff
vpslldq xmm7, xmm11, 4
vmovdqu xmmword [rsp + 0x70], xmm5
vmovdqu xmm5, xmmword [rsp + 0x120]
vmovdqu xmmword [rsp + 0x20], xmm5
vmovdqu xmm5, xmmword [rsp + 0x130]
vmovdqu xmmword [rsp + 0x30], xmm5
vmovdqu xmm5, xmmword [rsp + 0x140]
vmovdqu xmmword [rsp + 0x40], xmm5
vpslldq xmm5, xmm3, 4
vpxor xmm8, xmm8, xmm5
vpslldq xmm3, xmm7, 4
vpxor xmm8, xmm8, xmm4
vpxor xmm7, xmm3, xmm7
vpslldq xmm5, xmm3, 4
vaeskeygenassist xmm4, xmm8, 0
vpxor xmm7, xmm7, xmm11
vpshufd xmm4, xmm4, 0xaa
vpxor xmm7, xmm7, xmm5
vpslldq xmm5, xmm8, 4
vpslldq xmm3, xmm5, 4
vpxor xmm7, xmm7, xmm4
vpslldq xmm6, xmm3, 4
vpxor xmm3, xmm3, xmm5
vaeskeygenassist xmm4, xmm7, 2
vpxor xmm6, xmm3, xmm6
vpslldq xmm5, xmm7, 4
vpslldq xmm3, xmm5, 4
vpshufd xmm4, xmm4, 0xff
vpslldq xmm9, xmm3, 4
vpxor xmm3, xmm3, xmm5
vpxor xmm4, xmm6, xmm4
vpxor xmm3, xmm3, xmm9
vpxor xmm6, xmm4, xmm8
vaeskeygenassist xmm4, xmm6, 0
vpslldq xmm9, xmm6, 4
vpshufd xmm4, xmm4, 0xaa
vpxor xmm4, xmm3, xmm4
vpslldq xmm3, xmm9, 4
vpslldq xmm10, xmm3, 4
vpxor xmm3, xmm3, xmm9
vpxor xmm5, xmm4, xmm7
vpxor xmm3, xmm3, xmm10
vaeskeygenassist xmm4, xmm5, 4
vpslldq xmm10, xmm5, 4
vpshufd xmm4, xmm4, 0xff
vpxor xmm3, xmm3, xmm4
vpxor xmm4, xmm3, xmm6
vpslldq xmm3, xmm10, 4
vpslldq xmm13, xmm3, 4
vpxor xmm3, xmm3, xmm10
vaeskeygenassist xmm9, xmm4, 0
vpxor xmm3, xmm3, xmm13
vpslldq xmm13, xmm4, 4
vpshufd xmm9, xmm9, 0xaa
vpxor xmm3, xmm3, xmm9
vpslldq xmm9, xmm13, 4
vpslldq xmm0, xmm9, 4
vpxor xmm9, xmm9, xmm13
vpxor xmm3, xmm3, xmm5
vpxor xmm9, xmm9, xmm0
vaeskeygenassist xmm10, xmm3, 8
vpshufd xmm10, xmm10, 0xff
vpxor xmm9, xmm9, xmm10
vpslldq xmm10, xmm3, 4
vmovdqu xmmword [rsp + 0x80], xmm10
vpslldq xmm10, xmm10, 4
vpslldq xmm0, xmm10, 4
vpxor xmm10, xmm10, xmmword [rsp + 0x80]
vpxor xmm9, xmm9, xmm4
vaeskeygenassist xmm13, xmm9, 0
vpshufd xmm13, xmm13, 0xaa
vpxor xmm10, xmm10, xmm0
vmovdqu xmm0, xmmword [rsp + 0x70]
vpxor xmm10, xmm10, xmm13
vpxor xmm13, xmm10, xmm3
jmp 0x586143
mov rax, qword [r11]
vmovdqu xmm10, xmmword [rsp + 0x20]
add rax, rdx
vaesenc xmm2, xmm2, xmm12
vaesenc xmm1, xmm1, xmm12
vaesenc xmm0, xmm0, xmm12
vaesenc xmm14, xmm14, xmm12
sub rdx, 0xffffffffffffff80
vaesenc xmm15, xmm15, xmm12
vaesenc xmm2, xmm2, xmm11
vaesenc xmm1, xmm1, xmm11
vaesenc xmm0, xmm0, xmm11
vaesenc xmm14, xmm14, xmm11
vaesenc xmm15, xmm15, xmm11
vaesenc xmm2, xmm2, xmm8
vaesenc xmm1, xmm1, xmm8
vaesenc xmm0, xmm0, xmm8
vaesenc xmm14, xmm14, xmm8
vaesenc xmm15, xmm15, xmm8
vaesenc xmm2, xmm2, xmm7
vaesenc xmm10, xmm10, xmm12
vaesenc xmm1, xmm1, xmm7
vaesenc xmm10, xmm10, xmm11
vaesenc xmm0, xmm0, xmm7
vaesenc xmm10, xmm10, xmm8
vaesenc xmm14, xmm14, xmm7
vaesenc xmm10, xmm10, xmm7
vaesenc xmm15, xmm15, xmm7
vaesenc xmm10, xmm10, xmm6
vaesenc xmm2, xmm2, xmm6
vaesenc xmm10, xmm10, xmm5
vaesenc xmm1, xmm1, xmm6
vaesenc xmm10, xmm10, xmm4
vaesenc xmm0, xmm0, xmm6
vaesenc xmm10, xmm10, xmm3
vaesenc xmm14, xmm14, xmm6
vaesenc xmm10, xmm10, xmm9
vaesenc xmm15, xmm15, xmm6
vaesenc xmm10, xmm10, xmm13
vaesenc xmm2, xmm2, xmm5
vmovdqu xmmword [rsp + 0x20], xmm10
vmovdqu xmm10, xmmword [rsp + 0x30]
vaesenc xmm1, xmm1, xmm5
vaesenc xmm0, xmm0, xmm5
vaesenc xmm14, xmm14, xmm5
vaesenc xmm15, xmm15, xmm5
vaesenc xmm2, xmm2, xmm4
vaesenc xmm1, xmm1, xmm4
vaesenc xmm0, xmm0, xmm4
vaesenc xmm14, xmm14, xmm4
vaesenc xmm15, xmm15, xmm4
vaesenc xmm2, xmm2, xmm3
vaesenc xmm1, xmm1, xmm3
vaesenc xmm0, xmm0, xmm3
vaesenc xmm14, xmm14, xmm3
vaesenc xmm15, xmm15, xmm3
vaesenc xmm2, xmm2, xmm9
vaesenc xmm1, xmm1, xmm9
vaesenc xmm10, xmm10, xmm12
vaesenc xmm0, xmm0, xmm9
vaesenc xmm10, xmm10, xmm11
vaesenc xmm14, xmm14, xmm9
vaesenc xmm10, xmm10, xmm8
vaesenc xmm15, xmm15, xmm9
vaesenc xmm10, xmm10, xmm7
vaesenc xmm2, xmm2, xmm13
vaesenc xmm10, xmm10, xmm6
vaesenc xmm1, xmm1, xmm13
vmovdqu xmmword [rax], xmm2
vaesenc xmm10, xmm10, xmm5
vaesenc xmm0, xmm0, xmm13
vmovdqu xmmword [rax + 0x10], xmm1
vaesenc xmm10, xmm10, xmm4
vaesenc xmm14, xmm14, xmm13
vmovdqu xmmword [rax + 0x20], xmm0
vaesenc xmm10, xmm10, xmm3
vaesenc xmm15, xmm15, xmm13
vmovdqu xmmword [rax + 0x60], xmm14
vaesenc xmm10, xmm10, xmm9
vmovdqu xmmword [rax + 0x70], xmm15
vaesenc xmm10, xmm10, xmm13
vmovdqu xmmword [rsp + 0x30], xmm10
vmovdqu xmm10, xmmword [rsp + 0x40]
vaesenc xmm10, xmm10, xmm12
vaesenc xmm10, xmm10, xmm11
vaesenc xmm10, xmm10, xmm8
vaesenc xmm10, xmm10, xmm7
vaesenc xmm10, xmm10, xmm6
vaesenc xmm10, xmm10, xmm5
vaesenc xmm10, xmm10, xmm4
vaesenc xmm10, xmm10, xmm3
vaesenc xmm10, xmm10, xmm9
vaesenc xmm10, xmm10, xmm13
vmovdqu xmmword [rsp + 0x40], xmm10
vmovdqu xmm10, xmmword [rsp + 0x20]
vmovdqu xmmword [rax + 0x30], xmm10
vmovdqu xmm10, xmmword [rsp + 0x30]
vmovdqu xmmword [rax + 0x40], xmm10
vmovdqu xmm10, xmmword [rsp + 0x40]
vmovdqu xmmword [rax + 0x50], xmm10
cmp rdx, 0x40000
jne 0x586140
vmovdqu xmm5, xmmword [rsp + 0xb0]
mov r10, rdi
add rsi, 0x80000
mov rax, rdi
vpxor xmm5, xmm5, xmmword [rsp + 0xd0]
vmovdqu xmm6, xmmword [rsp + 0x1d8]
vmovdqu xmm12, xmmword [rsp + 0x178]
vmovdqu xmm11, xmmword [rsp + 0x188]
vmovdqu xmm2, xmmword [rsp + 0x1b8]
vmovdqu xmm1, xmmword [rsp + 0x1c8]
vmovdqu xmm15, xmmword [rsp + 0x218]
vmovdqu xmm14, xmmword [rsp + 0x228]
vmovdqu xmmword [rsp + 0x70], xmm5
vmovdqu xmm5, xmmword [rsp + 0xc0]
vmovdqu xmmword [rsp + 0x90], xmm6
vaeskeygenassist xmm4, xmm11, 1
vpxor xmm5, xmm5, xmmword [rsp + 0xe0]
vpshufd xmm4, xmm4, 0xff
vmovdqu xmmword [rsp + 0x80], xmm5
vmovdqu xmm5, xmmword [rsp + 0x1e8]
vmovdqu xmmword [rsp + 0x20], xmm5
vmovdqu xmm5, xmmword [rsp + 0x1f8]
vmovdqu xmmword [rsp + 0x30], xmm5
vmovdqu xmm5, xmmword [rsp + 0x208]
vmovdqu xmmword [rsp + 0x40], xmm5
vpslldq xmm5, xmm12, 4
vpslldq xmm3, xmm5, 4
vpslldq xmm6, xmm3, 4
vpxor xmm3, xmm3, xmm5
vpslldq xmm5, xmm11, 4
vpxor xmm8, xmm3, xmm12
vpslldq xmm3, xmm5, 4
vpxor xmm6, xmm8, xmm6
vpxor xmm8, xmm6, xmm4
vpslldq xmm6, xmm3, 4
vpxor xmm3, xmm3, xmm5
vaeskeygenassist xmm4, xmm8, 0
vpxor xmm3, xmm3, xmm11
vpslldq xmm5, xmm8, 4
vpxor xmm3, xmm3, xmm6
vpshufd xmm4, xmm4, 0xaa
vpxor xmm7, xmm3, xmm4
vpslldq xmm3, xmm5, 4
vpslldq xmm6, xmm3, 4
vpxor xmm3, xmm3, xmm5
vaeskeygenassist xmm4, xmm7, 2
vpxor xmm3, xmm3, xmm6
vpslldq xmm5, xmm7, 4
vpshufd xmm4, xmm4, 0xff
vpxor xmm3, xmm3, xmm4
vpxor xmm6, xmm3, xmm8
vpslldq xmm3, xmm5, 4
vpslldq xmm9, xmm3, 4
vpxor xmm3, xmm3, xmm5
vaeskeygenassist xmm4, xmm6, 0
vpxor xmm3, xmm3, xmm9
vpslldq xmm9, xmm6, 4
vpshufd xmm4, xmm4, 0xaa
vpxor xmm3, xmm3, xmm4
vpxor xmm5, xmm3, xmm7
vpslldq xmm3, xmm9, 4
vpslldq xmm10, xmm3, 4
vpxor xmm3, xmm3, xmm9
vaeskeygenassist xmm4, xmm5, 4
vpxor xmm3, xmm3, xmm10
vpslldq xmm10, xmm5, 4
vpshufd xmm4, xmm4, 0xff
vpxor xmm3, xmm3, xmm4
vpxor xmm4, xmm3, xmm6
vpslldq xmm3, xmm10, 4
vpslldq xmm13, xmm3, 4
vpxor xmm3, xmm3, xmm10
vaeskeygenassist xmm9, xmm4, 0
vpxor xmm3, xmm3, xmm13
vpslldq xmm13, xmm4, 4
vpshufd xmm9, xmm9, 0xaa
vpxor xmm3, xmm3, xmm9
vpslldq xmm9, xmm13, 4
vpslldq xmm0, xmm9, 4
vpxor xmm9, xmm9, xmm13
vpxor xmm3, xmm3, xmm5
vpxor xmm9, xmm9, xmm0
vaeskeygenassist xmm10, xmm3, 8
vpshufd xmm10, xmm10, 0xff
vpxor xmm9, xmm9, xmm10
vpslldq xmm10, xmm3, 4
vmovdqu xmmword [rsp + 0xa0], xmm10
vpslldq xmm10, xmm10, 4
vpslldq xmm0, xmm10, 4
vpxor xmm10, xmm10, xmmword [rsp + 0xa0]
vpxor xmm9, xmm9, xmm4
vaeskeygenassist xmm13, xmm9, 0
vpshufd xmm13, xmm13, 0xaa
vpxor xmm10, xmm10, xmm0
vmovdqu xmm0, xmmword [rsp + 0x90]
vpxor xmm10, xmm10, xmm13
vpxor xmm13, xmm10, xmm3
nop dword [rax + rax]
vmovdqu xmm10, xmmword [rsp + 0x20]
vaesenc xmm2, xmm2, xmm12
vaesenc xmm1, xmm1, xmm12
sub rax, 0xffffffffffffff80
vaesenc xmm0, xmm0, xmm12
vaesenc xmm15, xmm15, xmm12
vaesenc xmm14, xmm14, xmm12
vaesenc xmm2, xmm2, xmm11
vaesenc xmm1, xmm1, xmm11
vaesenc xmm0, xmm0, xmm11
vaesenc xmm15, xmm15, xmm11
vaesenc xmm14, xmm14, xmm11
vaesenc xmm2, xmm2, xmm8
vaesenc xmm1, xmm1, xmm8
vaesenc xmm0, xmm0, xmm8
vaesenc xmm15, xmm15, xmm8
vaesenc xmm14, xmm14, xmm8
vaesenc xmm2, xmm2, xmm7
vaesenc xmm10, xmm10, xmm12
vaesenc xmm1, xmm1, xmm7
vaesenc xmm10, xmm10, xmm11
vaesenc xmm0, xmm0, xmm7
vaesenc xmm10, xmm10, xmm8
vaesenc xmm15, xmm15, xmm7
vaesenc xmm10, xmm10, xmm7
vaesenc xmm14, xmm14, xmm7
vaesenc xmm10, xmm10, xmm6
vaesenc xmm2, xmm2, xmm6
vaesenc xmm10, xmm10, xmm5
vaesenc xmm1, xmm1, xmm6
vaesenc xmm10, xmm10, xmm4
vaesenc xmm0, xmm0, xmm6
vaesenc xmm10, xmm10, xmm3
vaesenc xmm15, xmm15, xmm6
vaesenc xmm10, xmm10, xmm9
vaesenc xmm14, xmm14, xmm6
vaesenc xmm10, xmm10, xmm13
vaesenc xmm2, xmm2, xmm5
vmovdqu xmmword [rsp + 0x20], xmm10
vmovdqu xmm10, xmmword [rsp + 0x30]
vaesenc xmm1, xmm1, xmm5
vaesenc xmm0, xmm0, xmm5
vaesenc xmm15, xmm15, xmm5
vaesenc xmm14, xmm14, xmm5
vaesenc xmm2, xmm2, xmm4
vaesenc xmm1, xmm1, xmm4
vaesenc xmm0, xmm0, xmm4
vaesenc xmm15, xmm15, xmm4
vaesenc xmm14, xmm14, xmm4
vaesenc xmm2, xmm2, xmm3
vaesenc xmm1, xmm1, xmm3
vaesenc xmm0, xmm0, xmm3
vaesenc xmm15, xmm15, xmm3
vaesenc xmm14, xmm14, xmm3
vaesenc xmm2, xmm2, xmm9
vaesenc xmm1, xmm1, xmm9
vaesenc xmm10, xmm10, xmm12
vaesenc xmm0, xmm0, xmm9
vaesenc xmm10, xmm10, xmm11
vaesenc xmm15, xmm15, xmm9
vaesenc xmm10, xmm10, xmm8
vaesenc xmm14, xmm14, xmm9
vaesenc xmm10, xmm10, xmm7
vaesenc xmm2, xmm2, xmm13
vaesenc xmm10, xmm10, xmm6
vaesenc xmm1, xmm1, xmm13
vmovdqu xmmword [rax - 0x80], xmm2
vaesenc xmm10, xmm10, xmm5
vaesenc xmm0, xmm0, xmm13
vmovdqu xmmword [rax - 0x70], xmm1
vaesenc xmm10, xmm10, xmm4
vaesenc xmm15, xmm15, xmm13
vmovdqu xmmword [rax - 0x60], xmm0
vaesenc xmm10, xmm10, xmm3
vaesenc xmm14, xmm14, xmm13
vmovdqu xmmword [rax - 0x20], xmm15
vaesenc xmm10, xmm10, xmm9
vmovdqu xmmword [rax - 0x10], xmm14
vaesenc xmm10, xmm10, xmm13
vmovdqu xmmword [rsp + 0x30], xmm10
vmovdqu xmm10, xmmword [rsp + 0x40]
vaesenc xmm10, xmm10, xmm12
vaesenc xmm10, xmm10, xmm11
vaesenc xmm10, xmm10, xmm8
vaesenc xmm10, xmm10, xmm7
vaesenc xmm10, xmm10, xmm6
vaesenc xmm10, xmm10, xmm5
vaesenc xmm10, xmm10, xmm4
vaesenc xmm10, xmm10, xmm3
vaesenc xmm10, xmm10, xmm9
vaesenc xmm10, xmm10, xmm13
vmovdqu xmmword [rsp + 0x40], xmm10
vmovdqu xmm10, xmmword [rsp + 0x20]
vmovdqu xmmword [rax - 0x50], xmm10
vmovdqu xmm10, xmmword [rsp + 0x30]
vmovdqu xmmword [rax - 0x40], xmm10
vmovdqu xmm10, xmmword [rsp + 0x40]
vmovdqu xmmword [rax - 0x30], xmm10
cmp rsi, rax
jne 0x586580
vmovdqu xmm5, xmmword [rsp + 0x178]
mov r8d, 0x10000
mov ebp, 0x75310
vpxor xmm1, xmm5, xmmword [rsp + 0x198]
vmovdqu xmm5, xmmword [rsp + 0x70]
vmovdqu ymm4, ymmword [0x006fcd80]
vinserti128 ymm1, ymm5, xmm1, 1
vmovdqu xmm5, xmmword [rsp + 0x188]
vpxor xmm3, xmm5, xmmword [rsp + 0x1a8]
vmovdqu xmm5, xmmword [rsp + 0x80]
vinserti128 ymm3, ymm5, xmm3, 1
vmovdqu ymm5, ymmword [rsp + 0x50]
nop word cs:[rax + rax]
nop
vpsrlq ymm2, ymm1, 4
vpand ymm2, ymm2, ymm4
vextracti128 xmm7, ymm1, 1
vpsllq ymm2, ymm2, 4
vmovq rax, xmm2
add rax, qword [r11]
vextracti128 xmm6, ymm2, 1
vmovq r9, xmm6
add r9, rdi
vmovdqu xmm6, xmmword [rax]
vaesenc xmm0, xmm6, xmm1
vmovdqu xmm6, xmmword [r9]
vaesenc xmm2, xmm6, xmm7
vinserti128 ymm0, ymm0, xmm2, 1
vmovdqu ymm2, ymm3
vpxor ymm2, ymm2, ymm0
vmovdqu ymm3, ymm0
vextracti128 xmm6, ymm0, 1
vpsrlq ymm0, ymm0, 4
vpextrb r14d, xmm2, 0xb
vextracti128 xmm7, ymm2, 1
vpand ymm0, ymm0, ymm4
mov edx, r14d
mov r15d, r14d
vpextrb ecx, xmm7, 0xb
vpsllq ymm0, ymm0, 4
shr dx, 3
and r15d, 1
vextracti128 xmm9, ymm0, 1
and edx, 6
or edx, r15d
vmovq r15, xmm9
add r15, rdi
add edx, edx
shrx edx, ebp, edx
and edx, 0x30
xor edx, r14d
mov r14d, ecx
vpinsrb xmm8, xmm2, edx, 0xb
mov edx, ecx
and r14d, 1
vextracti128 xmm2, ymm2, 1
shr dx, 3
vmovdqu xmmword [rax], xmm8
mov rax, qword [r11]
and edx, 6
or edx, r14d
add edx, edx
shrx edx, ebp, edx
and edx, 0x30
xor edx, ecx
vmovq rcx, xmm0
vmovdqu xmm0, xmmword [rax + rcx]
vmovq rax, xmm3
vpinsrb xmm2, xmm2, edx, 0xb
vinserti128 ymm2, ymm8, xmm2, 1
vextracti128 xmmword [r9], ymm2, 1
vinserti128 ymm8, ymm0, xmmword [r15], 1
vmovq r9, xmm0
mul r9
mov r14, rax
mov r9, rdx
vmovq rax, xmm6
mov rdx, qword [r15]
mul rdx
vmovq xmm7, rdx
vpinsrq xmm2, xmm7, rax, 1
mov rax, qword [r11]
vmovq xmm7, r9
vpinsrq xmm0, xmm7, r14, 1
dec r8
vinserti128 ymm0, ymm0, xmm2, 1
vpaddq ymm1, ymm1, ymm0
vpxor ymm0, ymm1, ymm5
vpxor ymm1, ymm1, ymm8
vmovdqu xmmword [rax + rcx], xmm0
vextracti128 xmmword [r15], ymm0, 1
jne 0x5867e0
vmovdqu xmm5, xmmword [rsp + 0x110]
vmovdqu xmm12, xmmword [rsp + 0xd0]
vmovdqu xmm11, xmmword [rsp + 0xe0]
vmovdqu xmm2, xmmword [rsp + 0xf0]
vmovdqu xmm1, xmmword [rsp + 0x100]
vmovdqu xmm14, xmmword [rsp + 0x150]
vmovdqu xmm15, xmmword [rsp + 0x160]
mov rax, qword [r11]
vmovdqu xmmword [rsp + 0x50], xmm5
vmovdqu xmm5, xmmword [rsp + 0x120]
lea rdx, [rax + 0x40000]
vpslldq xmm8, xmm12, 4
vpslldq xmm3, xmm8, 4
vpxor xmm8, xmm3, xmm8
vaeskeygenassist xmm4, xmm11, 1
vpxor xmm8, xmm8, xmm12
vpshufd xmm4, xmm4, 0xff
vpslldq xmm7, xmm11, 4
vmovdqu xmmword [rsp + 0x20], xmm5
vmovdqu xmm5, xmmword [rsp + 0x130]
vmovdqu xmmword [rsp + 0x30], xmm5
vmovdqu xmm5, xmmword [rsp + 0x140]
vmovdqu xmmword [rsp + 0x40], xmm5
vpslldq xmm5, xmm3, 4
vpxor xmm8, xmm8, xmm5
vpslldq xmm3, xmm7, 4
vpxor xmm8, xmm8, xmm4
vpxor xmm7, xmm3, xmm7
vpslldq xmm5, xmm3, 4
vaeskeygenassist xmm4, xmm8, 0
vpxor xmm7, xmm7, xmm11
vpslldq xmm6, xmm8, 4
vpslldq xmm3, xmm6, 4
vpshufd xmm4, xmm4, 0xaa
vpxor xmm7, xmm7, xmm5
vpxor xmm6, xmm3, xmm6
vpslldq xmm5, xmm3, 4
vpxor xmm7, xmm7, xmm4
vpxor xmm6, xmm6, xmm5
vaeskeygenassist xmm4, xmm7, 2
vpslldq xmm5, xmm7, 4
vpslldq xmm3, xmm5, 4
vpxor xmm5, xmm3, xmm5
vpshufd xmm4, xmm4, 0xff
vpslldq xmm9, xmm3, 4
vpxor xmm5, xmm5, xmm9
vpxor xmm6, xmm6, xmm4
vpxor xmm6, xmm6, xmm8
vaeskeygenassist xmm4, xmm6, 0
vpslldq xmm9, xmm6, 4
vpslldq xmm3, xmm9, 4
vpslldq xmm10, xmm3, 4
vpshufd xmm4, xmm4, 0xaa
vpxor xmm3, xmm3, xmm9
vpxor xmm4, xmm5, xmm4
vpxor xmm3, xmm3, xmm10
vpxor xmm5, xmm4, xmm7
vaeskeygenassist xmm4, xmm5, 4
vpslldq xmm10, xmm5, 4
vpshufd xmm4, xmm4, 0xff
vpxor xmm4, xmm3, xmm4
vpslldq xmm3, xmm10, 4
vpslldq xmm13, xmm3, 4
vpxor xmm3, xmm3, xmm10
vpxor xmm4, xmm4, xmm6
vpxor xmm3, xmm3, xmm13
vaeskeygenassist xmm9, xmm4, 0
vpslldq xmm13, xmm4, 4
vpshufd xmm9, xmm9, 0xaa
vpxor xmm3, xmm3, xmm9
vpslldq xmm9, xmm13, 4
vpslldq xmm0, xmm9, 4
vpxor xmm9, xmm9, xmm13
vpxor xmm3, xmm3, xmm5
vpxor xmm9, xmm9, xmm0
vaeskeygenassist xmm10, xmm3, 8
vpshufd xmm10, xmm10, 0xff
vpxor xmm9, xmm9, xmm10
vpxor xmm9, xmm9, xmm4
vaeskeygenassist xmm13, xmm9, 0
vpshufd xmm0, xmm13, 0xaa
vpslldq xmm13, xmm3, 4
vpslldq xmm10, xmm13, 4
vmovdqu xmmword [rsp + 0x70], xmm0
vpslldq xmm0, xmm10, 4
vpxor xmm10, xmm10, xmm13
vpxor xmm10, xmm10, xmm0
vpxor xmm10, xmm10, xmmword [rsp + 0x70]
vmovdqu xmm0, xmmword [rsp + 0x50]
vpxor xmm13, xmm10, xmm3
nop word [rax + rax]
vmovdqu xmm10, xmmword [rsp + 0x20]
vpxor xmm2, xmm2, xmmword [rax]
sub rax, 0xffffffffffffff80
vpxor xmm10, xmm10, xmmword [rax - 0x50]
vpxor xmm1, xmm1, xmmword [rax - 0x70]
vpxor xmm0, xmm0, xmmword [rax - 0x60]
vpxor xmm14, xmm14, xmmword [rax - 0x20]
vpxor xmm15, xmm15, xmmword [rax - 0x10]
vaesenc xmm2, xmm2, xmm12
vaesenc xmm10, xmm10, xmm12
vaesenc xmm1, xmm1, xmm12
vaesenc xmm10, xmm10, xmm11
vaesenc xmm0, xmm0, xmm12
vaesenc xmm10, xmm10, xmm8
vaesenc xmm14, xmm14, xmm12
vaesenc xmm10, xmm10, xmm7
vaesenc xmm15, xmm15, xmm12
vaesenc xmm10, xmm10, xmm6
vaesenc xmm2, xmm2, xmm11
vaesenc xmm10, xmm10, xmm5
vaesenc xmm1, xmm1, xmm11
vaesenc xmm10, xmm10, xmm4
vaesenc xmm0, xmm0, xmm11
vaesenc xmm10, xmm10, xmm3
vaesenc xmm14, xmm14, xmm11
vaesenc xmm10, xmm10, xmm9
vaesenc xmm15, xmm15, xmm11
vaesenc xmm10, xmm10, xmm13
vaesenc xmm2, xmm2, xmm8
vmovdqu xmmword [rsp + 0x20], xmm10
vmovdqu xmm10, xmmword [rsp + 0x30]
vaesenc xmm1, xmm1, xmm8
vaesenc xmm0, xmm0, xmm8
vpxor xmm10, xmm10, xmmword [rax - 0x40]
vaesenc xmm14, xmm14, xmm8
vaesenc xmm15, xmm15, xmm8
vaesenc xmm2, xmm2, xmm7
vaesenc xmm1, xmm1, xmm7
vaesenc xmm0, xmm0, xmm7
vaesenc xmm14, xmm14, xmm7
vaesenc xmm15, xmm15, xmm7
vaesenc xmm2, xmm2, xmm6
vaesenc xmm1, xmm1, xmm6
vaesenc xmm0, xmm0, xmm6
vaesenc xmm14, xmm14, xmm6
vaesenc xmm15, xmm15, xmm6
vaesenc xmm2, xmm2, xmm5
vaesenc xmm1, xmm1, xmm5
vaesenc xmm0, xmm0, xmm5
vaesenc xmm14, xmm14, xmm5
vaesenc xmm10, xmm10, xmm12
vaesenc xmm15, xmm15, xmm5
vaesenc xmm10, xmm10, xmm11
vaesenc xmm2, xmm2, xmm4
vaesenc xmm10, xmm10, xmm8
vaesenc xmm1, xmm1, xmm4
vaesenc xmm10, xmm10, xmm7
vaesenc xmm0, xmm0, xmm4
vaesenc xmm10, xmm10, xmm6
vaesenc xmm14, xmm14, xmm4
vaesenc xmm10, xmm10, xmm5
vaesenc xmm15, xmm15, xmm4
vaesenc xmm10, xmm10, xmm4
vaesenc xmm2, xmm2, xmm3
vaesenc xmm10, xmm10, xmm3
vaesenc xmm1, xmm1, xmm3
vaesenc xmm10, xmm10, xmm9
vaesenc xmm0, xmm0, xmm3
vaesenc xmm10, xmm10, xmm13
vaesenc xmm14, xmm14, xmm3
vmovdqu xmmword [rsp + 0x30], xmm10
vmovdqu xmm10, xmmword [rsp + 0x40]
vaesenc xmm15, xmm15, xmm3
vaesenc xmm2, xmm2, xmm9
vpxor xmm10, xmm10, xmmword [rax - 0x30]
vaesenc xmm1, xmm1, xmm9
vaesenc xmm0, xmm0, xmm9
vaesenc xmm14, xmm14, xmm9
vaesenc xmm15, xmm15, xmm9
vaesenc xmm2, xmm2, xmm13
vaesenc xmm1, xmm1, xmm13
vaesenc xmm0, xmm0, xmm13
vaesenc xmm14, xmm14, xmm13
vaesenc xmm15, xmm15, xmm13
vaesenc xmm10, xmm10, xmm12
vaesenc xmm10, xmm10, xmm11
vaesenc xmm10, xmm10, xmm8
vaesenc xmm10, xmm10, xmm7
vaesenc xmm10, xmm10, xmm6
vaesenc xmm10, xmm10, xmm5
vaesenc xmm10, xmm10, xmm4
vaesenc xmm10, xmm10, xmm3
vaesenc xmm10, xmm10, xmm9
vaesenc xmm10, xmm10, xmm13
vmovdqu xmmword [rsp + 0x40], xmm10
cmp rdx, rax
jne 0x586b30
vmovdqu xmm5, xmmword [rsp + 0x20]
vmovdqu xmmword [rsp + 0x140], xmm10
vmovdqu xmmword [rsp + 0x110], xmm0
vmovdqu xmmword [rsp + 0xf0], xmm2
vmovdqu xmmword [rsp + 0x100], xmm1
vmovdqu xmmword [rsp + 0x150], xmm14
vmovdqu xmmword [rsp + 0x160], xmm15
vmovdqu xmm6, xmmword [rsp + 0x1d8]
vmovdqu xmm12, xmmword [rsp + 0x198]
vmovdqu xmm11, xmmword [rsp + 0x1a8]
vmovdqu xmm2, xmmword [rsp + 0x1b8]
vmovdqu xmm1, xmmword [rsp + 0x1c8]
vmovdqu xmm14, xmmword [rsp + 0x218]
vmovdqu xmm15, xmmword [rsp + 0x228]
vmovdqu xmmword [rsp + 0x120], xmm5
vmovdqu xmm5, xmmword [rsp + 0x30]
vmovdqu xmmword [rsp + 0x50], xmm6
vmovdqu xmm6, xmmword [rsp + 0x1e8]
vpslldq xmm8, xmm12, 4
vpslldq xmm3, xmm8, 4
vpxor xmm8, xmm3, xmm8
vaeskeygenassist xmm4, xmm11, 1
vpslldq xmm7, xmm11, 4
vpxor xmm8, xmm8, xmm12
vpshufd xmm4, xmm4, 0xff
vmovdqu xmmword [rsp + 0x130], xmm5
vmovdqu xmm5, xmmword [rsp + 0x1f8]
vmovdqu xmmword [rsp + 0x20], xmm6
vmovdqu xmm6, xmmword [rsp + 0x208]
vmovdqu xmmword [rsp + 0x30], xmm5
vpslldq xmm5, xmm3, 4
vpxor xmm8, xmm8, xmm5
vpslldq xmm3, xmm7, 4
vpxor xmm8, xmm8, xmm4
vpxor xmm7, xmm3, xmm7
vpslldq xmm5, xmm3, 4
vaeskeygenassist xmm4, xmm8, 0
vpxor xmm7, xmm7, xmm11
vpshufd xmm4, xmm4, 0xaa
vpxor xmm7, xmm7, xmm5
vpxor xmm7, xmm7, xmm4
vmovdqu xmmword [rsp + 0x40], xmm6
vpslldq xmm6, xmm8, 4
vpslldq xmm3, xmm6, 4
vaeskeygenassist xmm4, xmm7, 2
vpxor xmm6, xmm3, xmm6
vpslldq xmm5, xmm3, 4
vpshufd xmm4, xmm4, 0xff
vpxor xmm6, xmm6, xmm5
vpslldq xmm5, xmm7, 4
vpslldq xmm3, xmm5, 4
vpxor xmm6, xmm6, xmm4
vpxor xmm5, xmm3, xmm5
vpslldq xmm9, xmm3, 4
vpxor xmm6, xmm6, xmm8
vpxor xmm5, xmm5, xmm9
vaeskeygenassist xmm4, xmm6, 0
vpslldq xmm9, xmm6, 4
vpslldq xmm3, xmm9, 4
vpslldq xmm10, xmm3, 4
vpshufd xmm4, xmm4, 0xaa
vpxor xmm3, xmm3, xmm9
vpxor xmm4, xmm5, xmm4
vpxor xmm3, xmm3, xmm10
vpxor xmm5, xmm4, xmm7
vaeskeygenassist xmm4, xmm5, 4
vpslldq xmm10, xmm5, 4
vpshufd xmm4, xmm4, 0xff
vpxor xmm4, xmm3, xmm4
vpslldq xmm3, xmm10, 4
vpslldq xmm13, xmm3, 4
vpxor xmm3, xmm3, xmm10
vpxor xmm4, xmm4, xmm6
vpxor xmm3, xmm3, xmm13
vaeskeygenassist xmm9, xmm4, 0
vpslldq xmm13, xmm4, 4
vpshufd xmm9, xmm9, 0xaa
vpxor xmm3, xmm3, xmm9
vpslldq xmm9, xmm13, 4
vpslldq xmm0, xmm9, 4
vpxor xmm9, xmm9, xmm13
vpxor xmm3, xmm3, xmm5
vpxor xmm9, xmm9, xmm0
vaeskeygenassist xmm10, xmm3, 8
vpshufd xmm10, xmm10, 0xff
vpxor xmm9, xmm9, xmm10
vpxor xmm9, xmm9, xmm4
vaeskeygenassist xmm13, xmm9, 0
vpshufd xmm0, xmm13, 0xaa
vpslldq xmm13, xmm3, 4
vpslldq xmm10, xmm13, 4
vmovdqu xmmword [rsp + 0x70], xmm0
vpslldq xmm0, xmm10, 4
vpxor xmm10, xmm10, xmm13
vpxor xmm10, xmm10, xmm0
vpxor xmm10, xmm10, xmmword [rsp + 0x70]
vmovdqu xmm0, xmmword [rsp + 0x50]
vpxor xmm13, xmm10, xmm3
nop word cs:[rax + rax]
vmovdqu xmm10, xmmword [rsp + 0x20]
vpxor xmm2, xmm2, xmmword [r10]
sub r10, 0xffffffffffffff80
vpxor xmm10, xmm10, xmmword [r10 - 0x50]
vpxor xmm1, xmm1, xmmword [r10 - 0x70]
vpxor xmm0, xmm0, xmmword [r10 - 0x60]
vpxor xmm14, xmm14, xmmword [r10 - 0x20]
vpxor xmm15, xmm15, xmmword [r10 - 0x10]
vaesenc xmm2, xmm2, xmm12
vaesenc xmm10, xmm10, xmm12
vaesenc xmm1, xmm1, xmm12
vaesenc xmm10, xmm10, xmm11
vaesenc xmm0, xmm0, xmm12
vaesenc xmm10, xmm10, xmm8
vaesenc xmm14, xmm14, xmm12
vaesenc xmm10, xmm10, xmm7
vaesenc xmm15, xmm15, xmm12
vaesenc xmm10, xmm10, xmm6
vaesenc xmm2, xmm2, xmm11
vaesenc xmm10, xmm10, xmm5
vaesenc xmm1, xmm1, xmm11
vaesenc xmm10, xmm10, xmm4
vaesenc xmm0, xmm0, xmm11
vaesenc xmm10, xmm10, xmm3
vaesenc xmm14, xmm14, xmm11
vaesenc xmm10, xmm10, xmm9
vaesenc xmm15, xmm15, xmm11
vaesenc xmm10, xmm10, xmm13
vaesenc xmm2, xmm2, xmm8
vmovdqu xmmword [rsp + 0x20], xmm10
vmovdqu xmm10, xmmword [rsp + 0x30]
vaesenc xmm1, xmm1, xmm8
vaesenc xmm0, xmm0, xmm8
vpxor xmm10, xmm10, xmmword [r10 - 0x40]
vaesenc xmm14, xmm14, xmm8
vaesenc xmm15, xmm15, xmm8
vaesenc xmm2, xmm2, xmm7
vaesenc xmm1, xmm1, xmm7
vaesenc xmm0, xmm0, xmm7
vaesenc xmm14, xmm14, xmm7
vaesenc xmm15, xmm15, xmm7
vaesenc xmm2, xmm2, xmm6
vaesenc xmm1, xmm1, xmm6
vaesenc xmm0, xmm0, xmm6
vaesenc xmm14, xmm14, xmm6
vaesenc xmm15, xmm15, xmm6
vaesenc xmm2, xmm2, xmm5
vaesenc xmm1, xmm1, xmm5
vaesenc xmm0, xmm0, xmm5
vaesenc xmm14, xmm14, xmm5
vaesenc xmm10, xmm10, xmm12
vaesenc xmm15, xmm15, xmm5
vaesenc xmm10, xmm10, xmm11
vaesenc xmm2, xmm2, xmm4
vaesenc xmm10, xmm10, xmm8
vaesenc xmm1, xmm1, xmm4
vaesenc xmm10, xmm10, xmm7
vaesenc xmm0, xmm0, xmm4
vaesenc xmm10, xmm10, xmm6
vaesenc xmm14, xmm14, xmm4
vaesenc xmm10, xmm10, xmm5
vaesenc xmm15, xmm15, xmm4
vaesenc xmm10, xmm10, xmm4
vaesenc xmm2, xmm2, xmm3
vaesenc xmm10, xmm10, xmm3
vaesenc xmm1, xmm1, xmm3
vaesenc xmm10, xmm10, xmm9
vaesenc xmm0, xmm0, xmm3
vaesenc xmm10, xmm10, xmm13
vaesenc xmm14, xmm14, xmm3
vmovdqu xmmword [rsp + 0x30], xmm10
vmovdqu xmm10, xmmword [rsp + 0x40]
vaesenc xmm15, xmm15, xmm3
vaesenc xmm2, xmm2, xmm9
vpxor xmm10, xmm10, xmmword [r10 - 0x30]
vaesenc xmm1, xmm1, xmm9
vaesenc xmm0, xmm0, xmm9
vaesenc xmm14, xmm14, xmm9
vaesenc xmm15, xmm15, xmm9
vaesenc xmm2, xmm2, xmm13
vaesenc xmm1, xmm1, xmm13
vaesenc xmm0, xmm0, xmm13
vaesenc xmm14, xmm14, xmm13
vaesenc xmm15, xmm15, xmm13
vaesenc xmm10, xmm10, xmm12
vaesenc xmm10, xmm10, xmm11
vaesenc xmm10, xmm10, xmm8
vaesenc xmm10, xmm10, xmm7
vaesenc xmm10, xmm10, xmm6
vaesenc xmm10, xmm10, xmm5
vaesenc xmm10, xmm10, xmm4
vaesenc xmm10, xmm10, xmm3
vaesenc xmm10, xmm10, xmm9
vaesenc xmm10, xmm10, xmm13
vmovdqu xmmword [rsp + 0x40], xmm10
cmp rsi, r10
jne 0x586f60
vmovdqu xmm5, xmmword [rsp + 0x20]
mov rcx, r13
vmovdqu xmmword [rsp + 0x1b8], xmm2
vmovdqu xmmword [rsp + 0x1c8], xmm1
vmovdqu xmmword [rsp + 0x1d8], xmm0
vmovdqu xmmword [rsp + 0x208], xmm10
vmovdqu xmmword [rsp + 0x218], xmm14
vmovdqu xmmword [rsp + 0x228], xmm15
vmovdqu xmm6, xmmword [rsp + 0x30]
vmovdqu xmmword [rsp + 0x1e8], xmm5
vmovdqu xmmword [rsp + 0x1f8], xmm6
vzeroupper
call fcn.00577bd0
mov rcx, r12
call fcn.00577bd0
lea rsi, [0x006fcd40]
mov r8, rbx
mov rcx, r13
movzx eax, byte [rsp + 0xb0]
mov edx, 0xc8
and eax, 3
call qword [rsi + rax*8]
movzx eax, byte [rsp + 0x178]
mov edx, 0xc8
mov rcx, r12
mov r8, qword [rsp + 0x348]
and eax, 3
call qword [rsi + rax*8]
nop
vmovups xmm6, xmmword [rsp + 0x240]
vmovups xmm7, xmmword [rsp + 0x250]
vmovups xmm8, xmmword [rsp + 0x260]
vmovups xmm9, xmmword [rsp + 0x270]
vmovups xmm10, xmmword [rsp + 0x280]
vmovups xmm11, xmmword [rsp + 0x290]
vmovups xmm12, xmmword [rsp + 0x2a0]
vmovups xmm13, xmmword [rsp + 0x2b0]
vmovups xmm14, xmmword [rsp + 0x2c0]
vmovups xmm15, xmmword [rsp + 0x2d0]
add rsp, 0x2e8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret