Function at 0xac0a7f
Capabilities:
Encrypt data using aes via x86 extensions

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x1c
push ebx
push esi
mov esi, dword [edx + 0x48]
xor ebx, ebx
push edi
mov edi, ecx
mov byte [ebp - 0x14], bl
push 2
pop eax
mov dword [ebp - 8], edx
mov cl, bl
mov ebx, dword [edi + 0xc8]
mov dword [ebp - 0x18], edi
mov dword [ebp - 0xc], 4
mov dword [ebp - 0x10], esi
cmp esi, eax
je 0xb1f027
movzx eax, word [edx + 0x4e]
test ax, ax
js 0xac0b4c
lea esi, [edi + 0x38]
mov eax, dword [edx + 0x60]
cmp dword [ebp - 0x10], 0
mov cl, byte [esi + 0x14]
mov dword [esi], eax
mov eax, dword [edx + 0x64]
mov dword [esi + 4], eax
mov eax, dword [edx + 0x58]
mov dword [esi + 8], eax
mov eax, dword [edx + 0x5c]
mov dword [esi + 0xc], eax
mov al, byte [edx + 0x4c]
mov byte [esi + 0x15], al
mov eax, dword [edx + 0x50]
mov dword [esi + 0x10], eax
setne al
mov byte [esi + 0x14], al
xor eax, eax
mov byte [ebp - 1], cl
cmp word [edx + 0x4e], ax
jl 0xac0bff
mov esi, dword [ebp - 8]
cmp byte [ebp - 0x14], 0
jne 0xac0c4d
xor edx, edx
cmp dword [esi + 0x48], edx
jne 0xac0b23
test cl, cl
jne 0xac0b23
pop edi
pop esi
pop ebx
leave
ret
mov ax, word [edi + 0x36]
mov ecx, 0x3fff
and ax, cx
push 2
pop ecx
cmp ax, cx
mov ecx, esi
je 0xac0b42
mov edx, edi
call 0xac0d31
jmp 0xac0b1e
push edx
mov edx, edi
call fcn.00abdb81
jmp 0xac0b1e
xor ecx, ecx
inc ecx
mov dword [ebp - 0x14], ecx
cmp esi, ecx
jne 0xac0b61
mov ecx, eax
call 0xb02352
test al, al
je 0xac0b1e
test ebx, ebx
jne 0xac0b8b
test esi, esi
je 0xac0b1e
lea ecx, [edi + 0xc]
call fcn.00abd908
mov ebx, eax
test ebx, ebx
jne 0xac0b85
lea ecx, [edi + 0xc]
call fcn.00b02279
mov ebx, eax
test ebx, ebx
je 0xac0b1e
mov dword [edi + 0xc8], ebx
lea eax, [ebx + 0x1c]
push eax
call 0xad2010
mov eax, dword fs:[0x18]
lea esi, [ebx + 0x3e]
mov edx, dword [ebp - 8]
mov eax, dword [eax + 0x24]
mov dword [ebx + 0x20], eax
xor eax, eax
mov cl, byte [edx + 0x4e]
cmp byte [esi - 2], 0
jne 0xac0c67
inc eax
add esi, 0x18
cmp eax, 4
jb 0xac0bab
xor eax, eax
mov esi, eax
test esi, esi
jne 0xac0ac7
cmp dword [ebp - 0x10], esi
je 0xb1efdf
mov esi, ebx
cmp byte [esi + 0x3c], 0
jne 0xb1efcb
mov dword [ebp - 0xc], eax
add esi, 0x28
test esi, esi
je 0xb1f004
mov byte [esi + 0x16], cl
mov ecx, ebx
call fcn.00b02470
mov edx, dword [ebp - 8]
jmp 0xac0ac7
mov eax, dword [eax]
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
invalid
fsubr st(1), st(0)
aesenc xmm5, xmm1
inc esp
mov dword [esp + 0x2c], ecx
dec ebp
lea ecx, [eax + 3]
aesenc xmm6, xmm1
int1
aesenc xmm7, xmm1
inc sp
invalid
jmp 0x1018806f
cmp ah, bl
shl byte [esi + 0x44], 0xf
cmp ah, bl
enter 0x100f, 0x41
loopne 0xb1f076
bswap ecx
aesenc xmm2, xmm1
aesenc xmm3, xmm1
inc ecx
xor ecx, ebp
nop
aesenc xmm4, xmm1
aesenc xmm5, xmm1
inc esp
mov dword [esp + 0x4c], ecx
dec ebp
lea ecx, [eax + 5]
aesenc xmm6, xmm1
aesenc xmm7, xmm1
inc sp
invalid
aesenc xmm2, xmm0
aesenc xmm3, xmm0
inc ecx
xor ecx, ebp
nop
aesenc xmm4, xmm0
aesenc xmm5, xmm0
inc esp
mov dword [esp + 0x5c], ecx
dec ebp
lea ecx, [eax + 6]
aesenc xmm6, xmm0
aesenc xmm7, xmm0
inc sp
invalid