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

Disassembly:
lcall 0x47f, 0xf660043
and al, 0x85
leave
je 0x428890
jo 0x428227
jno 0x428227
call 0x5b19191
inc eax
lcall 0x2c6f, 0xf660043
and al, 0x66
paddq mm5, mm0
movdqa xmm0, xmmword [0x439a40]
movdqa xmm5, xmmword [esp]
paddq xmm5, xmm0
pxor xmm3, xmm3
movdqa xmm1, xmm5
pcmpeqq xmm1, xmm3
pslldq xmm1, 8
psubq xmm5, xmm1
movdqa xmm1, xmm5
paddq xmm1, xmm0
movdqa xmm2, xmm1
pcmpeqq xmm2, xmm3
pslldq xmm2, 8
psubq xmm1, xmm2
paddq xmm0, xmm1
movdqa xmm2, xmm0
pcmpeqq xmm2, xmm3
pslldq xmm2, 8
psubq xmm0, xmm2
movaps xmm2, xmmword [esp + 0x160]
movaps xmmword [esp + 0x110], xmm2
movaps xmm2, xmmword [esp + 0x170]
movaps xmmword [esp + 0x100], xmm2
movaps xmm2, xmmword [esp + 0x180]
movaps xmmword [esp + 0xf0], xmm2
movaps xmm2, xmmword [esp + 0x190]
movaps xmmword [esp + 0xe0], xmm2
movaps xmm2, xmmword [esp + 0x1a0]
movaps xmmword [esp + 0xd0], xmm2
movaps xmm2, xmmword [esp + 0x1b0]
movaps xmmword [esp + 0xc0], xmm2
movaps xmm2, xmmword [esp + 0x1c0]
movaps xmmword [esp + 0xb0], xmm2
movaps xmm2, xmmword [esp + 0x1d0]
movaps xmmword [esp + 0xa0], xmm2
movaps xmm2, xmmword [esp + 0x1e0]
movaps xmmword [esp + 0x90], xmm2
movaps xmm2, xmmword [esp + 0x1f0]
movaps xmmword [esp + 0x80], xmm2
movaps xmm2, xmmword [esp + 0x200]
movaps xmmword [esp + 0x10], xmm2
movaps xmm2, xmmword [esp + 0x210]
movaps xmmword [esp + 0x40], xmm2
movaps xmm2, xmmword [esp + 0x220]
movaps xmmword [esp + 0x30], xmm2
movaps xmm2, xmmword [esp + 0x230]
movaps xmmword [esp + 0x70], xmm2
movdqa xmm2, xmmword [esp + 0x240]
movdqa xmmword [esp + 0x60], xmm2
jl 0x428366
jge 0x428366
call 0x34b192d0
and al, 0x66
movq mm7, qword [0x439a30]
movdqa xmm6, xmmword [esp]
movdqa xmm7, xmmword [0x439a30]
pshufb xmm6, xmm7
movdqa xmm4, xmm5
pshufb xmm4, xmm7
movdqa xmmword [esp + 0x20], xmm1
movdqa xmm3, xmm1
pshufb xmm3, xmm7
movdqa xmm2, xmm0
pshufb xmm2, xmm7
movdqa xmm1, xmmword [esp + 0x110]
pxor xmm6, xmm1
pxor xmm4, xmm1
pxor xmm3, xmm1
pxor xmm2, xmm1
jg 0x4283b7
jle 0x4283b7
call 0x8cb19321
and al, 0
add dword [eax], eax
add byte [esi + 0xf], ah
cmp ah, bl
int1
movdqa xmm1, xmmword [esp + 0x100]
aesenc xmm6, xmm1
aesenc xmm4, xmm1
jg 0x4283cf
jle 0x4283cf
call 0x1b8874a
ja 0x4283d4
jbe 0x4283d4
call 0xdc7a933e
fld1
add dword [eax], eax
add byte [eax], al
aesenc xmm3, xmm1
call 0x4283df
add al, ch
aesenc xmm2, xmm1
jl 0x4283ea
jge 0x4283ea
call 0x8cb19354
and al, 0xf0
add byte [eax], al
add byte [esi + 0xf], ah
cmp ah, bl
int1
movdqa xmm1, xmmword [esp + 0xf0]
aesenc xmm6, xmm1
aesenc xmm4, xmm1
jns 0x428402
js 0x428402
call 0x1bd8780
jp 0x428407
jnp 0x428407
call 0xdc7a9371
fnstenv [ebp + 3]
aesenc xmm3, xmm1
jne 0x428411
je 0x428411
call 0xdc7a937b
sar dword [edi + 3], 1
aesenc xmm2, xmm1
jg 0x42841b
jle 0x42841b
call 0x8cb19385
and al, 0xe0
add byte [eax], al
add byte [esi + 0xf], ah
cmp ah, bl
int1
movdqa xmm1, xmmword [esp + 0xe0]
aesenc xmm6, xmm1
aesenc xmm4, xmm1
jo 0x428433
jno 0x428433
call 0x1b687ac
jne 0x428438
je 0x428438
call 0xdc7a93a2
fnstenv [edx + 3]
aesenc xmm3, xmm1
jb 0x428442
jae 0x428442
call 0xdc7a93ac
sar dword [esi + 3], 1
aesenc xmm2, xmm1
jle 0x42844c
jg 0x42844c
call 0x8cb193b6
and al, 0xd0
add byte [eax], al
add byte [esi + 0xf], ah
cmp ah, bl
int1
movdqa xmm1, xmmword [esp + 0xd0]
aesenc xmm6, xmm1
aesenc xmm4, xmm1
js 0x428464
jns 0x428464
call 0x1b787dc
je 0x428469
jne 0x428469
call 0xdc7a93d3
fnstenv [edx + 3]
aesenc xmm3, xmm1
jb 0x428473
jae 0x428473
call 0xdc7a93dd
sal dword [edi + 3], 1
aesenc xmm2, xmm1
ja 0x42847d
jbe 0x42847d
call 0x8cb193e7
and al, 0xc0
add byte [eax], al
add byte [esi + 0xf], ah
cmp ah, bl
int1
movdqa xmm1, xmmword [esp + 0xc0]
aesenc xmm6, xmm1
aesenc xmm4, xmm1
js 0x428495
jns 0x428495
call 0x1b6880e
jne 0x42849a
je 0x42849a
call 0xdc7a9404
fnstenv [eax + 3]
aesenc xmm3, xmm1
jo 0x4284a4
jno 0x4284a4
call 0xdc7a940e
sal dword [ebp + 3], 1
aesenc xmm2, xmm1
jne 0x4284ae
je 0x4284ae
call 0x8cb19418
and al, 0xb0
add byte [eax], al
add byte [esi + 0xf], ah
cmp ah, bl
int1
movdqa xmm1, xmmword [esp + 0xb0]
aesenc xmm6, xmm1
aesenc xmm4, xmm1
jne 0x4284c6
je 0x4284c6
call 0x1b6883f
jne 0x4284cb
je 0x4284cb
call 0xdc7a9435
fnstcw word [eax + 3]
aesenc xmm3, xmm1
js 0x4284d5
jns 0x4284d5
call 0xdc7a943f
sal dword [ebx + 3], 1
aesenc xmm2, xmm1
jae 0x4284df
jb 0x4284df
call 0x8cb19449
and al, 0xa0
add byte [eax], al
add byte [esi + 0xf], ah
cmp ah, bl
int1
movdqa xmm1, xmmword [esp + 0xa0]
aesenc xmm6, xmm1
aesenc xmm4, xmm1
jo 0x4284f7
jno 0x4284f7
call 0x4286e3
add byte [eax], al
call 0xdc7a9468
fnstcw word [edx + 3]
call 0x4284fd
add al, ch
aesenc xmm3, xmm1
jp 0x428508
jnp 0x428508
call 0xdc7a9472
sar dword [ebx + 3], 1
aesenc xmm2, xmm1
jnp 0x428512
jp 0x428512
call 0x8cb1947c
and al, 0x90
add byte [eax], al
add byte [esi + 0xf], ah
cmp ah, bl
int1
movdqa xmm1, xmmword [esp + 0x90]
aesenc xmm6, xmm1
aesenc xmm4, xmm1
jne 0x42852a
je 0x42852a
call 0x1b788a2
je 0x42852f
jne 0x42852f
call 0xdc7a9499
fnstenv [ebp + 3]
aesenc xmm3, xmm1
jne 0x428539
je 0x428539
call 0xdc7a94a3
sar dword [ebx + 3], 1
aesenc xmm2, xmm1
jnp 0x428543
jp 0x428543
call 0x8cb194ad
and al, 0x80
add byte [eax], al
add byte [esi + 0xf], ah
cmp ah, bl
int1
movdqa xmm1, xmmword [esp + 0x80]
aesenc xmm6, xmm1
aesenc xmm4, xmm1
jae 0x42855b
jb 0x42855b
call 0x1b588d1
jb 0x428560
jae 0x428560
call 0xdc7a94ca
fnstenv [eax + 3]
aesenc xmm3, xmm1
jo 0x42856a
jno 0x42856a
call 0xdc7a94d4
rol dword [ebx + 0xf660cfe], 1
jg 0x4285ba
aesenc xmm2, xmm1
cmp esi, 0xc
movdqa xmmword [esp + 0x50], xmm0
and al, 0x50
je 0x4285b1
cmp esi, 0xa
jne 0x42863b
jo 0x428588
jno 0x428588
call 0x44b194f2
and al, 0x10
movdqa xmm0, xmmword [esp + 0x10]
aesenclast xmm6, xmm0
je 0x428598
jne 0x428598
call 0xdd7a9502
loopne 0x428604
aesenclast xmm4, xmm0
aesenclast xmm3, xmm0
jno 0x4285a7
invalid
jo 0x4285a7
call 0x1bc8926
jnp 0x4285ac
jp 0x4285ac
call 0x43f599
add byte [ebx + eax + 0x75], dh
add eax, ebp
jmp 0x428720
je 0x4285b6
jne 0x4285b6
call 0x44b19520
movdqa xmm0, xmmword [esp + 0x10]
and al, 0x10
aesenc xmm6, xmm0
jb 0x4285c6
jae 0x4285c6
call 0xdc7a9530
loopne 0x428632
aesenc xmm4, xmm0
aesenc xmm3, xmm0
jp 0x4285d5
invalid
jnp 0x4285d5
call 0x1bc8954
jnp 0x4285da
jp 0x4285da
call 0xdc7a9544
sar byte [ecx + 3], 1
aesenc xmm2, xmm0
jns 0x4285e4
js 0x4285e4
call 0x44b1954e
and al, 0x40
movdqa xmm0, xmmword [esp + 0x40]
aesenc xmm6, xmm0
jle 0x4285f4
jg 0x4285f4
call 0xdc7a955e
loopne 0x428660
aesenc xmm4, xmm0
aesenc xmm3, xmm0
jno 0x428603
invalid
jo 0x428603
call 0x1c18985
jle 0x428608
add edi, dword [edi + 1]
jg 0x428608
call 0xdc7a9572
sal byte [edi + 3], 1
aesenc xmm2, xmm0
ja 0x428612
jbe 0x428612
call 0x44b1957c
and al, 0x30
movdqa xmm0, xmmword [esp + 0x30]
aesenclast xmm6, xmm0
je 0x428622
jne 0x428622
call 0xdd7a958c
loopne 0x42868e
aesenclast xmm4, xmm0
aesenclast xmm3, xmm0
jge 0x428631
invalid
jl 0x428631
call 0x1b389a5
jo 0x428636
add esi, dword [ecx + 1]
jno 0x428636
call 0x436c23
add byte [ebx + eax + 0x7d], bh
add eax, ebp
jmp 0x428720
jl 0x428640
jge 0x428640
call 0x44b195aa
and al, 0x10
movdqa xmm0, xmmword [esp + 0x10]
aesenc xmm6, xmm0
jns 0x428650
js 0x428650
call 0xdc7a95ba
loopne 0x4286bc
aesenc xmm4, xmm0
aesenc xmm3, xmm0
jge 0x42865f
invalid
jl 0x42865f
call 0x1c089e2
jg 0x428664
add edi, dword [esi + 1]
jle 0x428664
call 0xdc7a95ce
sal byte [ecx + 3], 1
aesenc xmm2, xmm0
jno 0x42866e
jo 0x42866e
call 0x44b195d8
and al, 0x40
movdqa xmm0, xmmword [esp + 0x40]
aesenc xmm6, xmm0
ja 0x42867e
jbe 0x42867e
call 0xdc7a95e8
loopne 0x4286ea
aesenc xmm4, xmm0
aesenc xmm3, xmm0
ja 0x42868d
invalid
jbe 0x42868d
call 0x1ba8a0a
jns 0x428692
add edi, dword [eax + 1]
js 0x428692
call 0xdc7a95fc
sal byte [edx + 3], 1
aesenc xmm2, xmm0
jb 0x42869c
jae 0x42869c
call 0x44b19606
and al, 0x30
movdqa xmm0, xmmword [esp + 0x30]
aesenc xmm6, xmm0
call 0x4286ad
add al, ch
aesenc xmm4, xmm0
aesenc xmm3, xmm0
jbe 0x4286bd
ja 0x4286bd
call 0x1b48a34
jae 0x4286c2
jb 0x4286c2
call 0xdc7a962c
sal byte [esi + 3], 1
aesenc xmm2, xmm0
jbe 0x4286cc
ja 0x4286cc
call 0x44b19636
and al, 0x70
movdqa xmm0, xmmword [esp + 0x70]
aesenc xmm6, xmm0
jb 0x4286dc
jae 0x4286dc
call 0xdc7a9646
loopne 0x428748
aesenc xmm4, xmm0
aesenc xmm3, xmm0
ja 0x4286eb
invalid
jbe 0x4286eb
call 0x1bc8a6a
jnp 0x4286f0
jp 0x4286f0
call 0xdc7a965a
sar byte [eax + 3], 1
aesenc xmm2, xmm0
js 0x4286fa
jns 0x4286fa
call 0x44b19664
and al, 0x60
movdqa xmm0, xmmword [esp + 0x60]
aesenclast xmm6, xmm0
jg 0x42870a
jle 0x42870a
call 0xdd7a9674
loopne 0x428776
aesenclast xmm4, xmm0
aesenclast xmm3, xmm0
jnp 0x428719
invalid
jp 0x428719
call fcn.00428905
add byte [eax], al
call 0xdd7a968a
shl byte [esi + 0xf], 1
outsd dx, dword [esi]
dec esp
and al, 0x20
call 0x42871f
add al, ch
aesenclast xmm2, xmm0
movdqa xmm1, xmmword [esp + 0x20]
jno 0x428730
jo 0x428730
call 0xf8280b7
xchg cl, bl
add byte [eax], al
add byte [ecx + 3], bh
cmp ecx, 0x3f
jbe 0x428812
jns 0x42873e
js 0x42873e
call 0xc5b196a8
movdqa xmm0, xmm5
movdqu xmm7, xmmword [edx]
pxor xmm7, xmm6
movdqu xmm6, xmmword [edx + 0x10]
pxor xmm6, xmm4
movdqu xmm4, xmmword [edx + 0x20]
pxor xmm4, xmm3
movdqu xmm3, xmmword [edx + 0x30]
pxor xmm3, xmm2
movdqu xmmword [edx], xmm7
movdqa xmm7, xmmword [esp]
movdqu xmmword [edx + 0x10], xmm6
movdqu xmmword [edx + 0x20], xmm4
out dx, eax
invalid
bound esp, qword [eax]
movdqu xmmword [edx + 0x30], xmm3
movdqa xmm2, xmmword [0x439a50]
paddq xmm7, xmm2
paddq xmm5, xmm2
paddq xmm1, xmm2
movdqa xmm0, xmmword [esp + 0x50]
paddq xmm0, xmm2
movdqa xmm2, xmm7
movdqa xmm4, xmmword [0x439a60]
pand xmm2, xmm4
pxor xmm3, xmm3
pcmpeqq xmm2, xmm3
pslldq xmm2, 8
psubq xmm7, xmm2
movdqa xmmword [esp], xmm7
movdqa xmm2, xmm5
pand xmm2, xmm4
pcmpeqq xmm2, xmm3
pslldq xmm2, 8
psubq xmm5, xmm2
movdqa xmm2, xmm1
pand xmm2, xmm4
pcmpeqq xmm2, xmm3
pslldq xmm2, 8
psubq xmm1, xmm2
movdqa xmm2, xmm0
pand xmm2, xmm4
pcmpeqq xmm2, xmm3
pslldq xmm2, 8
psubq xmm0, xmm2
add edx, 0x40
add ecx, 0xffffffc0
jne 0x428361
jmp 0x428890
jne 0x428817
je 0x428817
call 0xb4c1980e
and al, 0x20
add dword [eax], eax
add bl, dh
movq qword [esp + 0x130], mm4
movdqu xmmword [esp + 0x120], xmm6
movdqu xmmword [esp + 0x130], xmm4
movdqu xmmword [esp + 0x140], xmm3
movdqu xmmword [esp + 0x150], xmm2
xor eax, eax
ja 0x428842
jbe 0x428842
call 0x204724d0
add dword [eax], eax
add byte [eax], dh
sbb al, 2
mov bl, byte [esp + eax + 0x120]
xor byte [edx + eax], bl
inc eax
cmp ecx, eax
jne 0x42883d
jnp 0x428856
jp 0x428856
call 0xf7381dd
sub byte [esp + 0x50], al
cmp ecx, 0x30
movaps xmm0, xmmword [esp + 0x50]
je 0x428876
cmp ecx, 0x20
je 0x428881
cmp ecx, 0x10
jne 0x42888b
js 0x42886f
jns 0x42886f
call 0x2cc197d9
and al, 0xeb
adc eax, 0x17b037a
movdqa xmmword [esp], xmm5
jmp 0x42888b
jp 0x42887b
jnp 0x42887b
call 0x2446b18e
movaps xmmword [esp], xmm0
jmp 0x42888b
jnp 0x428886
jp 0x428886
call 0xcc197f0
and al, 0x70
add esi, dword [ecx + 1]
movdqa xmmword [esp], xmm1
jo 0x428890
jno 0x428890
call 0x1b58c06
jb 0x428895
jae 0x428895
call 0x4b197ff
and al, 0x66
pshufb mm0, qword [0x439a30]
movdqa xmm0, xmmword [esp]
pshufb xmm0, xmmword [0x439a30]
movdqu xmmword [edi], xmm0
jne 0x4288ac
je 0x4288ac
call 0x5f36ee3d
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret