Function at 0x9c9851
Capabilities:
Encrypt data using aes

Disassembly:
lea esp, [esp + 2]
add esp, 1
jmp 0x9c988b
movzx ebx, byte [esi + 2]
sub esp, 0x14
jmp 0x9c98b3
lea esp, [esp + 1]
lea esp, [esp + 0x34]
xor edi, dword [ebx*4 + reloc.KERNEL32.dll_HeapSize]
jmp 0x9c9875
push ebp
mov ebp, ebx
lea ebp, [ebp*4]
jmp 0x9c98c3
lea ebp, reloc.KERNEL32.dll_HeapSize
mov ebx, dword [ebp]
pop ebp
push esi
push word [esp + 1]
jmp 0x9c9901
lea esp, [esp + 2]
and ebx, ecx
call fcn.009c98eb
and edx, ecx
sub esp, 0xe
push dword [esp + 0xc]
pushfd
lea esp, [esp + 2]
jmp 0x9c99f7
mov edx, dword [esi + 4]
mov dword [esi], edi
lea edi, [ecx + edx]
cmc
jmp 0x9c99a1
lea esi, reloc.KERNEL32.dll_HeapSize
mov ebx, dword [esi]
pop esi
mov edi, ebp
neg edi
sub esp, 0x1f
jmp 0x9c998b
pop dword [esp + 1]
lea esp, [esp + 0x48]
xor edi, dword [edx*4 + reloc.KERNEL32.dll_HeapSize]
bswap edx
lea edx, [eax*4]
jmp 0x9c994f
add esp, 0xb
jmp 0x9c99c3
push esi
mov esi, ebx
lea esi, [esi*4]
jmp 0x9c995a
lea esp, [esp + 2]
jmp 0x9c99ce
mov edi, edx
pushal
shr edi, 0x18
sub esp, 0x1a
jmp 0x9c99ad
mov edi, dword [edi*4 + reloc.KERNEL32.dll_HeapSize]
and edi, ecx
mov edi, dword [edi*4 + reloc.KERNEL32.dll_HeapSize]
jmp 0x9c9a22
movzx ebx, byte [esi + 6]
sub esp, 9
push dword [esp + 3]
pushal
mov byte [esp + 0xe], bh
jmp 0x9c9a0c
mov edx, dword [edx*4 + reloc.KERNEL32.dll_HeapSize]
and edx, ecx
sub esp, 0x14
mov dword [esp + 5], ebp
jmp 0x9c9971
lea esp, [esp + 1]
jmp 0x9c9abe
and ebx, ecx
lea esp, [esp + 0x4c]
xor edi, dword [ebx*4 + reloc.KERNEL32.dll_HeapSize]
shl bx, 0xc
jmp 0x9c99e0
lea esp, [esp + 2]
jmp 0x9c9a5c
movzx ebx, byte [esi + 9]
and edx, ecx
mov edx, dword [edx*4 + reloc.KERNEL32.dll_HeapSize]
push ax
jmp 0x9c9a35
and edx, ecx
sub esp, 0x13
lea esp, [esp + 3]
jmp 0x9c9a9f
lea esp, [esp + 2]
lea esp, [esp + 0x48]
xor edi, dword [ebx*4 + reloc.KERNEL32.dll_HeapSize]
xor ebx, 0x72aa66b9
jmp 0x9c9a4b
push eax
jmp 0x9c9acf
lea esp, [esp + 0x10]
xor edi, dword [edx*4 + reloc.KERNEL32.dll_HeapSize]
mov dx, word [esp]
mov dh, al
jmp 0x9c9a89
mov ebx, dword [ebx*4 + reloc.KERNEL32.dll_HeapSize]
and ebx, ecx
pushal
pop word [esp + 0x10]
jmp 0x9c9a72
mov eax, esi
add eax, 8
mov edx, dword [eax]
pop eax
jmp 0x9c9add
mov dword [esi + 4], edi
mov ebx, dword [ebx*4 + reloc.KERNEL32.dll_HeapSize]
mov edi, esp
jmp 0x9c9b72
mov edi, edx
call fcn.009c9b34
mov eax, ebx
jmp 0x9c9bb4
and ebx, ecx
sub esp, 0x1b
lea esp, [esp + 3]
jmp 0x9c9bc9
lea eax, [eax*4]
lea eax, reloc.KERNEL32.dll_HeapSize
mov ebx, dword [eax]
pop eax
sub esp, 4
jmp 0x9c9b9e
lea esp, [esp + 0x3c]
xor edi, dword [ebx*4 + reloc.KERNEL32.dll_HeapSize]
movzx ebx, byte [esi + 0xd]
push ebp
jmp 0x9c9c12
mov edx, dword [edx*4 + reloc.KERNEL32.dll_HeapSize]
jmp 0x9c9c20
push cx
lea esp, [esp + 5]
lea esp, [esp + 1]
and edx, ecx
jmp 0x9c9bfc
and edx, ecx
xor edi, dword [edx*4 + reloc.KERNEL32.dll_HeapSize]
mov dh, 0x13
mov dl, dh
jmp 0x9c9c68
mov bl, byte [esp]
mov dword [esp], esi
call fcn.009c9c71
loop 0x9c9cde
out dx, eax
mov bh, byte [ecx + 0x35]
ror byte [ebp - 0x24], cl
das
mov edx, ebp
mov edx, ebp
cmp dx, ax
push edi
pushal
jmp 0x9c9c52
mov dword [esp], edx
popal
jmp 0x9c9cf5
shr edi, 0x18
cmc
mov edi, dword [edi*4 + reloc.KERNEL32.dll_HeapSize]
jmp 0x9c9d97
invalid
and edx, ecx
call fcn.009c9d4a
int1
jo 0x9c9d10
xor dword [eax - 0x3c], reloc.KERNEL32.dll_HeapSize
ja 0x9c9cf9
cld
iretd
movzx ebx, byte [esi + 0xe]
mov ebx, dword [ebx*4 + reloc.KERNEL32.dll_HeapSize]
push esp
mov dword [esp], eax
mov dword [esp], ecx
jmp 0x9c9d20
and ebx, ecx
lea esp, [esp + 8]
xor edi, dword [ebx*4 + reloc.KERNEL32.dll_HeapSize]
bsf ebx, ebx
jmp 0x9c9d36
and edi, ecx
mov edi, dword [edi*4 + reloc.KERNEL32.dll_HeapSize]
clc
jmp 0x9c9d64