Function at 0x10011460
Capabilities:
Encrypt data using aes
Encrypt data using rc4 ksa
Encrypt data using rc4 prga
Reference aes constants

Disassembly:
mov eax, dword [esp + 4]
sub esp, 0x1d0
push ebx
xor ebx, ebx
cmp eax, ebx
push edi
je 0x1001169c
cmp dword [esp + 0x1e0], ebx
je 0x1001169c
mov ecx, 8
xor eax, eax
lea edi, [esp + 0x31]
mov byte [esp + 0x30], bl
rep stosd dword es:[edi], eax
mov dword [esp + 9], eax
mov byte [esp + 8], bl
mov dword [esp + 0xd], eax
mov dword [esp + 0x11], eax
mov dword [esp + 0x15], eax
mov dword [esp + 0x19], eax
mov word [esp + 0x1d], ax
mov byte [esp + 0x1f], al
mov eax, dword [esp + 0x1e8]
cmp eax, ebx
je 0x100114c2
mov dword [eax], ebx
mov edx, dword [esp + 0x1f0]
mov ecx, 0x21
cmp edx, 0x21
ja 0x100114d5
mov ecx, edx
push ebp
mov ebp, dword [esp + 0x1f0]
mov eax, ecx
push esi
mov esi, ebp
lea edi, [esp + 0x38]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
mov byte [esp + 0x5c], bl
rep movsb byte es:[edi], byte [esi]
mov ecx, 0x1f
lea edi, [esp + 0x5d]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
xor ecx, ecx
xor eax, eax
cmp eax, edx
jb 0x10011510
xor eax, eax
mov bl, byte [eax + ebp]
add bl, 2
mov byte [esp + ecx + 0x5c], bl
inc ecx
inc eax
cmp ecx, 0x80
jb 0x1001150a
mov ecx, dword [esp + 0x39]
xor ebp, ebp
and ecx, 0xff
shr ecx, 3
xor esi, esi
lea edi, [esp + ecx + 0x5c]
call sub.MSVCRT.dll_rand
cdq
mov ecx, 0xff
idiv ecx
inc esi
cmp esi, 8
mov byte [esp + esi + 0xf], dl
jl 0x10011539
mov edx, edi
lea eax, [esp + 0x5c]
sub edx, eax
cmp edx, 0x10
jge 0x10011561
lea edi, [esp + 0x5c]
mov esi, edi
lea ecx, [esp + 0x28]
xor eax, eax
sub esi, ecx
lea ecx, [esp + eax + 0x28]
inc eax
cmp eax, 0x10
mov dl, byte [esi + ecx]
mov byte [ecx], dl
jb 0x1001156b
mov eax, dword [esp + 0x38]
and eax, 0xff
shr eax, 3
lea edx, [esp + eax + 0x5c]
lea eax, [esp + 0x5c]
mov ecx, edx
sub ecx, eax
cmp ecx, 0x20
jge 0x1001159b
lea edx, [esp + 0x5c]
mov ecx, 0x40
xor eax, eax
lea edi, [esp + 0xe0]
mov dword [esp + 0xdc], ebp
rep stosd dword es:[edi], eax
mov dword [esp + 0xe8], edx
lea edx, [esp + 0xdc]
lea ecx, [esp + 0x28]
push edx
mov dword [esp + 0xe4], 0x80
mov dword [esp + 0xe8], 1
mov dword [esp + 0xf0], ecx
call fcn.10011b20
mov esi, dword [esp + 0x1f0]
push 8
lea eax, [esp + 0x18]
push esi
lea ecx, [esp + 0xe8]
push eax
push ecx
call fcn.10011cf0
mov edi, eax
add esp, 0x14
add esi, edi
xor eax, eax
xor ecx, ecx
cmp ecx, 8
jl 0x10011615
xor ecx, ecx
mov dl, byte [eax + 0x10013258]
mov bl, byte [esp + ecx + 0x10]
xor dl, bl
mov byte [esp + eax + 0x5c], dl
inc eax
inc ecx
cmp eax, 0x20
jl 0x1001160e
lea edx, [esp + 0xdc]
lea eax, [esp + 0x5c]
lea ecx, [esp + 0x28]
push edx
mov dword [esp + 0xe4], 0x80
mov dword [esp + 0xe8], ebp
mov dword [esp + 0xec], eax
mov dword [esp + 0xf0], ecx
call fcn.10011b20
mov eax, dword [esp + 0x1ec]
mov ecx, dword [esp + 0x1e8]
push eax
push esi
lea edx, [esp + 0xe8]
push ecx
push edx
call fcn.10011cf0
mov ecx, dword [esp + 0x204]
add esp, 0x14
cmp ecx, ebp
pop esi
pop ebp
je 0x100116a9
add eax, edi
pop edi
mov dword [ecx], eax
pop ebx
add esp, 0x1d0
ret
mov eax, dword [esp + 0x1e8]
cmp eax, ebx
je 0x100116a9
mov dword [eax], ebx
pop edi
pop ebx
add esp, 0x1d0
ret