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

Disassembly:
jae 0x407ab3
add byte [eax], al
sbb dword es:[eax], eax
dec eax
sub dword [eax], eax
add byte [eax], al
adc byte [edx], bl
add byte [eax + 0x13], ah
add byte [eax], al
pop esp
sbb dl, byte [edx]
add byte [eax + eax], bl
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
mov eax, 0x28001218
add byte [eax], al
add byte [eax + 0x38000ee1], al
add dword [eax], eax
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax + 0x29], cl
adc al, byte [eax]
js 0x407aff
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
je 0x407b7c
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [esi], ch
je 0x407b7c
js 0x407b8d
add byte [eax], al
add byte [esi], dh
int 0xe
add byte [eax], al
adc byte [eax], al
add byte [eax], al
into
push cs
add byte [eax], al
add al, 0
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], ah
add byte [eax], al
pushal
jb 0x407ba3
popal
je 0x407ba3
add byte [eax], al
add al, 0xef
add eax, dword [eax]
add al, ah
push cs
add byte [eax], al
lock add eax, dword [eax]
add dl, dl
push cs
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax + 0x2e], al
popal
je 0x407bca
add byte [eax], al
add byte [eax], al
add dword [eax], eax
add al, dl
adc al, byte [eax]
add byte [esi - 0x3e000000], dl
adc al, byte [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
inc eax
add byte [eax], al
shr byte [esi], 0x70
popal
jo 0x407bf3
popal
je 0x407bf3
add byte [eax], al
cmp byte [ebx], dh
add byte [eax], al
add byte [eax + eax], dl
add byte [eax + eax], dh
add byte [eax + 0x13], bl
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax + 0x2e], al
xor byte [eax], dh
arpl word [esi + 0x67], sp
add byte [eax], al
sub byte [eax], al
add byte [eax], al
add byte [eax + 0x2000014], al
add byte [eax], al
add ah, cl
adc 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
inc eax
add byte [eax], al
inc eax
js 0x407c46
add byte [bx + si], al
add byte [eax + 0x2b], dh
nop
adc al, 0
add byte [eax + eax], ch
add byte [eax], al
into
adc 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
inc eax
add byte [eax], al
inc eax
jb 0x407c6c
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax + 0x2e], al
jb 0x407c6c
je 0x407c79
insb byte es:[edi], dx
outsb dx, byte [esi]
js 0x407c0e
add byte [eax], al
add al, al
adc al, 0
add byte [edx], al
add byte [eax], al
add dl, bh
adc 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
je 0x407c9b
jae 0x407c31
add byte [eax], al
add byte [ecx], ch
add dword [eax], eax
add byte [eax], al
rcl byte [eax + eax]
add byte [edx], al
add byte [eax], al
add ah, bh
adc 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
inc eax
add byte [eax], al
shr byte [esi], 0x76
outsd dx, dword [esi]
insb byte es:[edi], dx
je 0x407cbc
insb byte es:[edi], dx
add byte [eax + eax], al
add byte [eax], al
loopne 0x407c77
add byte [eax], al
add al, byte [eax]
add byte [eax], al
invalid
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [edi + 0x52], bl
pop edi
push edx
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax + 0x2e], al
jb 0x407d1a
jb 0x407d0c
add byte [eax], al
add byte [eax], bh
push cs
add eax, 0x15000000
add byte [eax], al
adc byte [0x14020000], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax + 0x2e], al
jb 0x407d34
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
inc eax
add byte [eax], al
inc eax
jb 0x407d34
insb byte es:[edi], dx
outsd dx, dword [esi]
arpl word [eax], ax
add byte [eax + 0x13], ah
add byte [eax], al
add byte [eax], dl
sbb al, byte [eax]
add byte [eax], al
adc al, 0
add byte [eax], al
adc bl, byte [ecx]
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [edx], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [edi], cl
adc byte [ecx], dl
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
movups xmm2, xmmword [ecx]
inc ecx
mov eax, dword [eax + 0xf0]
inc ecx
movups xmm0, xmmword [eax]
inc ecx
movups xmm1, xmmword [eax + 0x10]
dec ebp
lea eax, [eax + 0x20]
xorps xmm2, xmm0
aesenc xmm2, xmm1
dec eax
inc ecx
movups xmm1, xmmword [eax]
dec ebp
lea eax, [eax + 0x10]
jne 0x407dae
aesenclast xmm2, xmm1
pxor xmm0, xmm0
pxor xmm1, xmm1
movups xmmword [edx], xmm2
pxor xmm2, xmm2
repz ret