Function at 0x8dca8b
Capabilities:
Encrypt data using aes
Reference aes constants

Disassembly:
out 0, al
add bh, bh
add byte [ecx + 0xff00e3], al
add byte [ebx], dh
mov ebx, edx
add byte [ecx + 0xe3], al
push dword [ebx]
mov ebx, edi
mov ch, 0x54
jg 0x8dc9b6
add byte [ecx + 0xff00e6], al
add byte [ecx - 0xffff1e], al
add byte [ebx], dh
salc
push esp
jg 0x8dc9ce
add byte [ecx + 0xe6], al
push dword [ebx]
salc
xchg esp, eax
cmp dh, byte [esi + 0x6a]
add dword [edi + 0x5e], ebx
jl 0x8dcaa7
jmp 0x8dcaa7
cld
wait
jbe 0x8dca3d
cmc
jno 0x8dca7c
xor byte [ebx - 0xa], 6
xchg dword [edi], edx
jb 0x8dca24
or ah, bl
pop esi
int3
lea esp, [esp + 4]
jae 0x90a3af
jb 0x90a3af
stc
imul ecx, dword [eax], 0xb6302afb
and al, 0x43
mov esi, 0x1a73d939
jae 0x8dcadf
jb 0x8dcadf
loope 0x8dcb10
retf
ja 0x8dcafb
jmp 0x8dcafb
hlt
mov ecx, dword [eax]
sahf
stc
or dl, cl
sub ebp, dword [ecx + 0x197c9c39]
pushfd
jl 0x8dcb17
jge 0x8dcb17
cmp byte [edi - 0x56], bl
jns 0x8dcb12
or eax, 0x8b781989
mov dword [ecx], ebx
js 0x8dca94
push cs
jg 0x8dcb04
outsb dx, byte [esi]
or eax, edi
jg 0x8dcaf2
loope 0x8dcb73
popal
int1
nop
arpl word [ecx + 0x243488a8], si
mov byte [esp], dh
jno 0x8dcb33
jo 0x8dcb33
xlatb
mov dl, 0x41
wait
rcl byte [edi - 0x39]
mov byte [0xfe788c51], al
insb byte es:[edi], dx
or eax, dword [esi]
and dword [ecx], 0xffa35031
xor al, 0x24
push dword [esp]
jno 0x8dcb4f
pop ss
jo 0x8dcb4f
adc eax, 0x9cf565e4
in al, 0x65
cmc
pushfd
outsd dx, dword [esi]
scasd eax, dword es:[edi]
pop esp
fdiv qword [edx + 0x15]
in al, 0x30
jb 0x8dcb39
popal
add bl, dh
and dh, byte [edx + esi*4]
and bh, bh
je 0x8dcb76
push dword [esp + 7]
pop es
jmp 0x8dcb6b
mov ebp, 0x47b4ad3d
xchg ebp, eax
pop es
test byte [edx], bl
jge 0x8dcaef
dec esi
cwde
sbb byte [esi + 0x46cc18e9], cl
mov dword [esp + 2], esp
jns 0x8dcb87
js 0x8dcb87
jl 0x8dcb04
or ch, byte [ebx + 0x34c5a22c]
mov bl, 0x64
out 0x74, al
stosd dword es:[edi], eax
sub al, 0xa2
lds esi, [ebx + esi*4]
out 0x74, al
adc ebp, esi
loopne 0x8dcbe5
int1
nop
arpl word [esi - 0x71], sp
inc esp
and al, 4
pop word [esp + 4]
jb 0x8dcba3
jae 0x8dcba3
mov esi, 0x9ffb28d9
pop ds
invalid
pushfd
jge 0x8dcbbf
jl 0x8dcbbf
adc al, 0x73
mov cs, word [edx + esi*8 + 0x72]
loopne 0x8dcb37
jb 0x8dcb58
adc eax, 0x9c6d0a94
dec edi
fcomp qword [edx - 0x38]
scasd eax, dword es:[edi]
pop edx
frstor dword [esi]
mov word [esp + 1], cx
jg 0x8dcbdb
jle 0x8dcbdb
mov bl, 0xca
dec edi
fistp qword [edx + 0x1e9e9549]
mov ebx, gs
ficomp dword es:[ecx - 0x37]
test al, 0x5b
push dword [esp + 5]
jge 0x909dc5
jl 0x909dc5
cmp cl, cl
lea esp, [esp + 0x14]
mov ebp, esp
push ecx
push di
mov byte [esp], dh
jno 0x909e26
jo 0x909e26
int 0x4a
fdivr dword [edi - 0x4bc932b6]
sub cl, byte [ebp - 0x44]
insb byte es:[edi], dx
sub ch, byte [edi + 0x75a95a3f]
invalid
lea esp, [esp + 2]
mov dword [esp + 0xc], ebp
pushfd
push ebp
mov dword [esp + 2], edi
mov dword [esp + 1], ebp
mov dword [esp + 3], edi
mov word [esp + 5], di
jg 0x909da0
jle 0x909da0
in eax, 0x75
sbb al, 0xef
cmp eax, esp
not dword [bp + si - 0x439f]
cld
jp 0x909ddb
invalid
push word [esp]
mov dword [esp], ebp
mov dword [esp], ecx
pushfd
push word [esp + 3]
mov dword [esp], esi
mov byte [esp + 4], bh
push dword [esp + 3]
lea esp, [esp + 2]
lea esp, [esp + 8]
push ebx
push esi
push edi
pushal
mov dword [esp + 4], ecx
push dx
mov byte [esp], bh
lea esp, [esp + 1]
mov byte [esp], al
mov byte [esp], ch
lea esp, [esp]
pushfd
push cx
mov word [esp + 4], di
lea esp, [esp + 3]
lea esp, [esp + 4]
popal
call fcn.0090029e
and dword [ebp - 4], 0
mov ebx, eax
shl ebx, 2
mov dword [ebp - 8], eax
test ebx, ebx
jle 0x909efd
lea edx, [esi + ebx*4 + 8]
lea ecx, [esi + 8]
mov eax, dword [edx - 8]
push ebp
mov ebp, ecx
lea ebp, [ebp - 8]
mov edi, dword [ebp]
pop ebp
add dword [ebp - 4], 4
push esi
mov esi, ecx
lea esi, [esi - 8]
mov dword [esi], eax
pop esi
mov eax, dword [edx - 4]
mov dword [edx - 8], edi
push eax
mov eax, ecx
lea eax, [eax - 4]
mov edi, dword [eax]
pop eax
push edx
mov edx, ecx
lea edx, [edx - 4]
mov dword [edx], eax
pop edx
push edi
pushal
xchg di, si
mov esi, esp
lea ecx, [ecx + 0x5f102214]
mov cl, 0xb7
mov ax, 0x3f34
mov bp, dx
mov dword [esp], edx
pushfd
mov word [esp + 1], bx
jne 0x909f92
je 0x909f92
pop ebp
fisttp qword [ebp + 0x14]
out 0x35, eax
int 0x4e
fdivr qword [ebx + 0x32df9456]
cmp eax, 1
jle 0x909f28
lea ecx, [eax - 1]
mov dword [ebp - 4], ecx
mov ecx, 0xff
jmp 0x909f68
pop edi
bswap esi
bswap si
push edx
xchg word [esp], si
pop si
not esi
lea esp, [esp + 2]
mov esi, dword [esp]
jle 0x90a4aa
jg 0x90a4aa
invalid
cmp dword [ebp - 4], ebx
jl 0x909e90
mov eax, dword [ebp - 8]
jmp 0x909efd
movzx ebx, byte [esi + 0x11]
mov ebx, dword [ebx*4 + 0x8e6b54]
add esi, 0x10
mov edx, dword [esi]
jnp 0x90bf85
jp 0x90bf85
and eax, 0xad5e3bab
jg 0x909f2b
daa
mov bh, 0xd2
and esp, edi
fisub dword [ebx - 0x73]
and al, 4
lea esp, [esp + 4]
popal
mov eax, dword [edi]
pop edi
mov dword [edx - 4], edi
push ebp
pushal
mov si, 0x2c45
mov ebp, 0x5d355f99
mov bx, ax
lea edi, [esi + 0x53c949b8]
mov edi, dword [esp]
mov dword [esp + 8], ecx
popal
mov edi, dword [ebp]
pop ebp
mov dword [ecx], eax
push ebp
mov ebp, edx
lea ebp, [ebp + 4]
mov eax, dword [ebp]
pop ebp
mov dword [edx], edi
mov edi, dword [ecx + 4]
mov dword [ecx + 4], eax
push esi
mov esi, edx
lea esi, [esi + 4]
mov dword [esi], edi
pop esi
sub ebx, 4
add ecx, 0x10
sub edx, 0x10
jb 0x909f58
jae 0x909f58
adc eax, 0x9f6c0595
dec ebp
ljmp 0x8766
jmp 0x8dcac3
push ecx
push si
mov word [esp], bp
lea esp, [esp + 2]
lea esp, [esp + 8]
pop ebx
leave
ret
mov edi, edx
shr edi, 0x18
push ecx
push word [esp + 1]
mov dword [esp], ebx
lea esp, [esp + 2]
lea esp, [esp + 4]
push ecx
pushal
xchg ebp, eax
bswap esi
sete ah
mov edx, edi
bswap ebx
mov dh, dl
mov ch, byte [esp]
mov dword [esp + 0x18], edi
push di
lea esp, [esp]
push word [esp]
mov byte [esp + 1], al
mov byte [esp], dl
push word [esp + 3]
mov byte [esp + 1], ch
lea esp, [esp + 2]
lea esp, [esp + 4]
popal
lea ecx, [ecx*4]
lea ecx, [ecx + 0x8e6b54]
mov edi, dword [ecx]
pop ecx
sub esp, 0x1e
clc
mov word [esp + 8], dx
pop word [esp + 2]
mov dword [esp + 3], ecx
sub esp, 6
lea esp, [esp + 0x1c]
lea esp, [esp + 2]
and edi, ecx
pushfd
lea esp, [esp + 8]
mov edi, dword [edi*4 + 0x8e6f54]
and ebx, ecx
xor edi, dword [ebx*4 + 0x8e7754]
movzx ebx, byte [esi + 2]
push ebp
pushal
xchg cx, bp
mov si, 0x659a
mov eax, 0x18914dfb
mov dword [esp + 8], ebx
push esp
lea esp, [esp + 4]
popal
lea ebp, [ebp*4]
lea ebp, [ebp + 0x8e6b54]
mov ebx, dword [ebp]
pop ebp
and ebx, ecx
xor edi, dword [ebx*4 + 0x8e7354]
movzx ebx, byte [esi + 5]
and edx, ecx
mov edx, dword [edx*4 + 0x8e6b54]
and edx, ecx
xor edi, dword [edx*4 + 0x8e7b54]
mov edx, dword [esi + 4]
mov dword [esi], edi
mov ebx, dword [ebx*4 + 0x8e6b54]
mov edi, edx
shr edi, 0x18
mov edi, dword [edi*4 + 0x8e6b54]
pushal
sub esp, 0x1e
pushal
lea esp, [esp + 2]
and edi, ecx
push cx
mov byte [esp], al
mov word [esp], bp
pushfd
lea esp, [esp + 3]
push word [esp]
mov dword [esp], ecx
mov dword [esp], ebp
mov byte [esp], bl
lea esp, [esp + 1]
lea esp, [esp + 0x60]
push esi
mov esi, edi
lea esi, [esi*4]
lea esi, [esi + 0x8e6f54]
mov edi, dword [esi]
pop esi
and ebx, ecx
xor edi, dword [ebx*4 + 0x8e7754]
movzx ebx, byte [esi + 6]
mov ebx, dword [ebx*4 + 0x8e6b54]
and ebx, ecx
xor edi, dword [ebx*4 + 0x8e7354]
movzx ebx, byte [esi + 9]
and edx, ecx
mov edx, dword [edx*4 + 0x8e6b54]
and edx, ecx
push esp
pop word [esp]
mov word [esp], sp
lea esp, [esp]
pushal
lea esp, [esp + 2]
lea esp, [esp + 0x20]
xor edi, dword [edx*4 + 0x8e7b54]
push ebx
mov ebx, esi
lea ebx, [ebx + 8]
mov edx, dword [ebx]
pop ebx
mov dword [esi + 4], edi
mov ebx, dword [ebx*4 + 0x8e6b54]
mov edi, edx
shr edi, 0x18
mov edi, dword [edi*4 + 0x8e6b54]
stc
stc
sub esp, 0x1b
clc
push sp
clc
lea esp, [esp + 1]
and edi, ecx
push bx
mov word [esp], dx
pushal
push dword [esp + 2]
pop word [esp + 0x20]
pop dword [esp + 0x16]
lea esp, [esp + 2]
push word [esp + 0x1a]
lea esp, [esp + 0x3c]
mov edi, dword [edi*4 + 0x8e6f54]
pushal
sub esp, 0
lea esp, [esp + 0x16]
mov dword [esp + 2], ecx
stc
lea esp, [esp + 2]
and ebx, ecx
push bx
mov byte [esp], al
mov word [esp], sp
push word [esp + 1]
mov dword [esp], ecx
mov word [esp], bx
pop word [esp]
lea esp, [esp + 2]
lea esp, [esp + 8]
xor edi, dword [ebx*4 + 0x8e7754]
movzx ebx, byte [esi + 0xa]
push edx
mov edx, ebx
lea edx, [edx*4]
lea edx, [edx + 0x8e6b54]
mov ebx, dword [edx]
pop edx
and ebx, ecx
xor edi, dword [ebx*4 + 0x8e7354]
movzx ebx, byte [esi + 0xd]
cmc
sub esp, 9
sub esp, 0x11
pop dword [esp + 3]
lea esp, [esp + 3]
stc
lea esp, [esp + 3]
and edx, ecx
push edx
pushal
pop dword [esp + 0xf]
pop word [esp]
push word [esp + 0x1c]
lea esp, [esp + 0x30]
push ebx
pushal
mov bl, 0x71
mov ebx, dword [esp]
xchg bl, bh
mov al, byte [esp]
bswap esi
mov esi, dword [esp]
mov dword [esp + 0x10], edx
pushal
push word [esp + 6]
push dword [esp + 0x14]
lea esp, [esp + 0xb]
mov dword [esp + 0x10], ebp
mov byte [esp + 0xb], dh
lea esp, [esp + 3]
lea esp, [esp + 0x18]
popal
lea ebx, [ebx*4]
lea ebx, [ebx + 0x8e6b54]
mov edx, dword [ebx]
pop ebx
and edx, ecx
xor edi, dword [edx*4 + 0x8e7b54]
push eax
mov eax, esi
lea eax, [eax + 0xc]
mov edx, dword [eax]
pop eax
mov dword [esi + 8], edi
mov ebx, dword [ebx*4 + 0x8e6b54]
mov edi, edx
shr edi, 0x18
mov edi, dword [edi*4 + 0x8e6b54]
and edi, ecx
mov edi, dword [edi*4 + 0x8e6f54]
and ebx, ecx
xor edi, dword [ebx*4 + 0x8e7754]
movzx ebx, byte [esi + 0xe]
mov ebx, dword [ebx*4 + 0x8e6b54]
and edx, ecx
mov edx, dword [edx*4 + 0x8e6b54]
pushfd
cmc
pop word [esp]
add esp, 1
sub esp, 0x1a
pop dword [esp + 0xa]
add esp, 0xc
lea esp, [esp + 3]
and ebx, ecx
push si
mov word [esp], dx
push word [esp]
pop word [esp]
lea esp, [esp + 1]
pushal
mov dword [esp + 0xa], edx
lea esp, [esp + 1]
lea esp, [esp + 0x28]
xor edi, dword [ebx*4 + 0x8e7354]
and edx, ecx
xor edi, dword [edx*4 + 0x8e7b54]
dec dword [ebp - 4]
mov dword [esi + 0xc], edi
jne 0x909f68
jmp 0x909f28