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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
mov eax, dword [edx]
push ebx
push esi
mov esi, ecx
xor dword [esi], eax
mov eax, dword [edx + 4]
xor dword [esi + 4], eax
mov eax, dword [edx + 8]
xor dword [esi + 8], eax
mov eax, dword [edx + 0xc]
xor dword [esi + 0xc], eax
movzx eax, byte [esi]
mov al, byte [eax + 0x100b4b60]
mov byte [ebp - 2], al
movzx eax, byte [esi + 1]
mov al, byte [eax + 0x100b4c60]
mov byte [ebp - 5], al
movzx eax, byte [esi + 2]
mov al, byte [eax + 0x100b4960]
mov byte [ebp - 3], al
movzx eax, byte [esi + 3]
mov al, byte [eax + 0x100b4a60]
mov byte [ebp - 6], al
movzx eax, byte [esi + 4]
mov al, byte [eax + 0x100b4b60]
mov byte [ebp - 7], al
movzx eax, byte [esi + 5]
mov al, byte [eax + 0x100b4c60]
mov byte [ebp - 4], al
movzx eax, byte [esi + 6]
mov al, byte [eax + 0x100b4960]
mov byte [ebp - 8], al
movzx eax, byte [esi + 7]
mov al, byte [eax + 0x100b4a60]
mov byte [ebp - 0xb], al
movzx eax, byte [esi + 8]
mov al, byte [eax + 0x100b4b60]
mov byte [ebp - 1], al
movzx eax, byte [esi + 9]
mov cl, byte [eax + 0x100b4c60]
movzx eax, byte [esi + 0xa]
mov byte [ebp - 0xa], cl
mov al, byte [eax + 0x100b4960]
mov byte [ebp - 9], al
movzx eax, byte [esi + 0xb]
mov bh, byte [eax + 0x100b4a60]
movzx eax, byte [esi + 0xc]
mov bl, byte [eax + 0x100b4b60]
movzx eax, byte [esi + 0xd]
mov ch, byte [eax + 0x100b4c60]
movzx eax, byte [esi + 0xe]
mov dh, byte [eax + 0x100b4960]
movzx eax, byte [esi + 0xf]
mov dl, dh
xor dl, ch
mov ah, byte [eax + 0x100b4a60]
mov al, dl
xor al, cl
mov cl, ah
xor al, byte [ebp - 1]
xor cl, bl
xor al, byte [ebp - 8]
xor al, byte [ebp - 7]
xor al, byte [ebp - 6]
mov byte [esi], al
mov al, cl
xor al, byte [ebp - 0xa]
xor al, byte [ebp - 1]
xor al, byte [ebp - 0xb]
xor al, byte [ebp - 4]
xor al, byte [ebp - 3]
mov byte [esi + 1], al
mov al, bh
xor al, cl
xor al, byte [ebp - 9]
xor al, byte [ebp - 8]
xor al, byte [ebp - 7]
xor al, byte [ebp - 5]
mov byte [esi + 2], al
mov al, bh
xor al, dl
xor al, byte [ebp - 9]
mov cl, ah
xor al, byte [ebp - 0xb]
xor cl, dh
xor al, byte [ebp - 4]
mov dl, ah
xor al, byte [ebp - 2]
xor dl, ch
mov byte [esi + 3], al
mov al, bh
xor al, cl
xor cl, byte [ebp - 9]
xor al, byte [ebp - 1]
xor al, byte [ebp - 4]
xor al, byte [ebp - 3]
xor al, byte [ebp - 2]
xor cl, byte [ebp - 0xa]
xor cl, byte [ebp - 7]
xor cl, byte [ebp - 6]
xor cl, byte [ebp - 5]
mov byte [esi + 4], al
mov byte [esi + 5], cl
mov cl, ch
xor cl, bl
xor ch, byte [ebp - 9]
mov al, cl
xor ch, byte [ebp - 1]
xor al, byte [ebp - 9]
xor al, byte [ebp - 0xa]
xor al, byte [ebp - 0xb]
xor al, byte [ebp - 3]
xor al, byte [ebp - 2]
mov byte [esi + 6], al
mov al, bh
xor al, cl
mov cl, dh
xor al, byte [ebp - 1]
xor cl, bl
xor al, byte [ebp - 8]
xor bl, bh
xor al, byte [ebp - 6]
xor al, byte [ebp - 5]
mov byte [esi + 7], al
mov al, dl
xor al, byte [ebp - 9]
xor al, byte [ebp - 0xb]
xor al, byte [ebp - 7]
xor al, byte [ebp - 5]
xor al, byte [ebp - 2]
xor dl, byte [ebp - 1]
xor dl, byte [ebp - 8]
xor dl, byte [ebp - 4]
xor dl, byte [ebp - 6]
xor dl, byte [ebp - 3]
mov byte [esi + 8], al
mov al, bh
xor al, cl
mov byte [esi + 0xa], dl
xor al, byte [ebp - 8]
xor al, byte [ebp - 4]
xor al, byte [ebp - 5]
xor al, byte [ebp - 2]
mov dl, byte [ebp - 0xa]
xor cl, dl
mov byte [esi + 9], al
mov al, byte [ebp - 0xb]
xor bl, dl
xor cl, al
xor bl, al
xor cl, byte [ebp - 7]
xor ch, al
xor bl, byte [ebp - 8]
xor cl, byte [ebp - 6]
xor bl, byte [ebp - 3]
xor ch, byte [ebp - 8]
xor cl, byte [ebp - 3]
xor bl, byte [ebp - 5]
xor ch, byte [ebp - 6]
xor ch, byte [ebp - 2]
mov byte [esi + 0xb], cl
mov byte [esi + 0xc], bl
xor ah, byte [ebp - 9]
xor dh, bh
xor ah, byte [ebp - 1]
xor dh, dl
xor dh, byte [ebp - 4]
xor ah, byte [ebp - 4]
xor dh, byte [ebp - 7]
xor ah, byte [ebp - 7]
xor dh, byte [ebp - 6]
xor dh, byte [ebp - 2]
xor ah, byte [ebp - 3]
xor ah, byte [ebp - 5]
mov byte [esi + 0xd], ch
mov byte [esi + 0xe], dh
mov byte [esi + 0xf], ah
pop esi
pop ebx
mov esp, ebp
pop ebp
ret