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

Disassembly:
jmp 0x84821d
lea esp, [esp + 4]
jmp 0x8483c1
jmp 0x848255
jmp 0x848271
push ebp
jmp 0x84828d
jmp 0x8482a9
mov ebp, esp
jmp 0x8482c5
jmp 0x8482e1
push ecx
jmp 0x8482fd
jmp 0x848319
push ecx
jmp 0x848335
jmp 0x848351
push ebx
jmp 0x84836d
jmp 0x848389
push edi
jmp 0x8483a5
jmp 0x87bfe1
jmp 0x848239
cmp al, 0x61
jmp 0x87bff2
mov bl, byte [ecx + 1]
mov byte [ebp - 1], bl
cmp bl, 0x41
jb 0x87c1f0
cmp bl, 0x5a
jmp 0x87c262
mov edi, eax
mov al, byte [ecx]
cmp al, 0x41
jb 0x87bf99
cmp al, 0x5a
jbe 0x87bfb6
jmp 0x87bf99
jb 0x87c019
cmp al, 0x7a
jbe 0x87bfb6
jmp 0x87c019
cmp al, 0x2b
jmp 0x87c0eb
cmp al, 0x30
jmp 0x87c0bd
jb 0x87bffb
cmp al, 0x39
jbe 0x87bfb6
jmp 0x87bffb
je 0x87bfb6
jne 0x87c24a
stosd dword es:[edi], eax
sub eax, 0xdb37c4bd
stosb byte es:[edi], al
sub eax, 0xdc37c4bd
call 0xe0afebe
cmp bl, 0x61
jmp 0x87c286
mov eax, 0x403
jmp 0x87c521
mov dl, byte [ecx + 2]
jmp 0x87c898
cmp al, 0x2f
jne 0x87c20e
jmp 0x87bfb6
jbe 0x87c22d
jmp 0x87c1f0
cmp bl, 0x30
jmp 0x87c3d9
jb 0x87c268
cmp bl, 0x7a
jbe 0x87c22d
jmp 0x87c268
cmp bl, 0x2b
je 0x87c22d
cmp bl, 0x2f
jmp 0x87c3ff
jb 0x87c29a
cmp bl, 0x39
jbe 0x87c22d
jmp 0x87c29a
jne 0x87c20e
jmp 0x87c22d
cmp dl, 0x30
jb 0x87c4b7
cmp dl, 0x39
jbe 0x87c507
jmp 0x87c4b7
cmp cl, 0x61
jb 0x87c478
jae 0x87c4d0
inc ebx
les ebx, [edx + 0x3d]
int3
cmp cl, 0x30
jb 0x87c4db
jae 0x87c54c
mov word [esi], es
xchg esp, eax
push cs
in al, dx
wait
adc byte [esi - 0x1048ef1f], al
cmc
pushfd
outsd dx, dword [esi]
cmpsb byte [esi], byte es:[edi]
out 0xa4, eax
adc byte [eax - 0x7af0c206], al
mov ebp, 0xf000000
test byte [ecx], ah
add eax, dword [eax]
add byte [0x9465028c], al
cmp dl, 0x3d
jne 0x87c55e
je 0x87c7c8
add eax, 0x9465028c
jp 0x87c461
inc ebx
sal dword [esi + 0x6a5ca745], cl
ret
cmp dl, 0x2b
je 0x87c507
cmp dl, 0x2f
je 0x87c507
cmp dl, 0x3d
jne 0x87c20e
jmp 0x87c507
cmp cl, 0x7a
jbe 0x87c498
jmp 0x87c478
cmp cl, 0x2b
je 0x87c498
cmp cl, 0x2f
je 0x87c498
cmp cl, 0x3d
je 0x87c498
jmp 0x87c20e
mov cl, byte [ecx + 3]
cmp cl, 0x41
jb 0x87c459
cmp cl, 0x5a
jbe 0x87c498
jmp 0x87c459
pop edi
pop ebx
leave
ret
cmp cl, 0x39
jbe 0x87c498
jmp 0x87c4db
xor ebx, ebx
cmp cl, 0x3d
setne bl
inc ebx
inc ebx
mov dword [edi], ebx
mov bl, byte [ebp - 1]
jmp 0x87c6ce
cmp al, 0x2f
jne 0x87c5cc
je 0x87c622
add byte [esi + 0x7c9e6304], dl
in al, 0x71
loope 0x87c507
jae 0x87c524
fmul qword [eax - 0x22]
mov ecx, 0xfb9da048
mov es, word [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 [0x61fa80ac], bh
cmp dl, 0x61
jb 0x87c449
cmp dl, 0x7a
jbe 0x87c507
jmp 0x87c449
cmp al, 0x39
jmp 0x87c68b
push esi
cmp bl, 0x2b
jmp 0x87c795
push 0x3f
jmp 0x87c644
pop eax
jmp 0x87c605
cmp al, 0x5a
jmp 0x87c752
ja 0x87c651
movzx eax, al
add eax, 4
jmp 0x87c605
cmp al, 0x2b
jne 0x87c572
push 0x3e
jmp 0x87c644
sub eax, 0x47
jmp 0x87c605
cmp bl, 0x2f
jne 0x87c874
push 0x3f
jmp 0x87c760
mov edi, dword [edi]
jmp 0x87c8bf
movzx eax, al
ja 0x87c710
sub eax, 0x41
jmp 0x87c605
pop esi
jmp 0x87c735
jne 0x87c722
push 0x3e
jmp 0x87c760
mov dword [edi], 1
jmp 0x87c6ce
cmp bl, 0x5a
jmp 0x87c918
add esi, 4
jmp 0x87c735
sub esi, 0x47
jmp 0x87c735
movzx esi, bl
cmp bl, 0x39
ja 0x87c7e6
jbe 0x87c802
sub dword [ebp + 0x14bf4c25], esi
clc
outsb dx, byte [esi]
or eax, edi
dec edi
aas
mov eax, dword [0x8a35031]
mov ecx, 0x80501778
cli
inc ecx
cmp dl, 0x41
jb 0x87c5b0
cmp dl, 0x5a
jbe 0x87c507
pop ebp
cld
invalid
jmp 0x87c5b0
cmp edi, 2
jb 0x87c8fa
jae 0x87c937
jge 0x87c8a6
dec esp
sub esp, esi
popal
mov edi, 0x45b6d343
xchg edi, eax
rcl byte [edi - 0x39], cl
mov byte [0x6010b951], al
or byte [0xe971], dh
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
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 edx, dword [ebp - 8]
jmp 0x87c9a2
ja 0x87c823
sub esi, 0x41
jmp 0x87c735
cmp dl, 0x2b
jmp 0x87ce98
cmp dl, 0x2f
jne 0x87c9c3
push 0x3f
jmp 0x87ca15
cmp edi, 3
jne 0x87cd9b
je 0x87cbe2
push 0xef1c75e5
invalid
cmp dl, 0x39
ja 0x87cac3
movzx edx, dl
add edx, 4
jmp 0x87c9a2
pop edx
jmp 0x87c9a2
sub edx, 0x47
jmp 0x87c9a2
cmp dl, 0x5a
movzx edx, dl
ja 0x87ca30
sub edx, 0x41
jmp 0x87c9a2
pop ecx
jmp 0x87cb45
cmp cl, 0x2f
jne 0x87cb6b
push 0x3f
jmp 0x87cb11
shl eax, 6
or eax, esi
shl eax, 0xc
pop esi
cmp edi, 2
jmp 0x87cbf9
cmp cl, 0x39
ja 0x87cbc3
movzx ecx, cl
add ecx, 4
jmp 0x87cb45
cmp cl, 0x5a
movzx ecx, cl
jmp 0x87cce5
cmp cl, 0x2b
jne 0x87cb36
push 0x3e
jmp 0x87cb11
jb 0x87cc19
shl edx, 6
jmp 0x87cc7f
cmp edi, 3
jmp 0x87cca8
mov ecx, dword [ebp + 8]
jmp 0x87cc89
or eax, edx
jmp 0x87cc19
mov edx, eax
shr edx, 0x10
jmp 0x87cd0f
jne 0x87cc61
or eax, ecx
jmp 0x87cc61
ja 0x87cd60
sub ecx, 0x41
jmp 0x87cb45
cmp edi, 3
jmp 0x87cd6d
mov byte [ecx], dl
cmp edi, 2
jb 0x87ccf1
mov edx, eax
shr edx, 8
mov byte [ecx + 1], dl
jmp 0x87ccf1
xor eax, eax
jmp 0x87c521
sub ecx, 0x47
jmp 0x87cb45
jne 0x87cd2f
mov byte [ecx + 2], al
jmp 0x87cd2f
mov ecx, dword [ebp - 8]
jmp 0x87cb45
jne 0x87c955
push 0x3e
jmp 0x87ca15