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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x44
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
movzx eax, byte [ebx + 0xf]
movzx esi, byte [ebx + 0xa]
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x30], eax
mov dl, byte [eax + 0x6c1378]
mov al, byte [esi + 0x6c1378]
mov esi, dword [ebp + 8]
movzx ecx, byte [ebx + 5]
movzx edi, byte [ebx]
mov byte [ebp - 1], al
movzx esi, byte [esi + 0xe]
mov dword [ebp - 0x14], esi
mov esi, dword [ebp + 8]
mov bl, byte [edi + 0x6c1378]
mov ah, byte [ecx + 0x6c1378]
movzx esi, byte [esi + 9]
mov dword [ebp - 0x10], esi
mov esi, dword [ebp - 0x14]
mov al, byte [esi + 0x6c1378]
mov esi, dword [ebp + 8]
mov byte [ebp - 2], al
movzx esi, byte [esi + 3]
mov dword [ebp - 0x38], esi
mov dh, byte [esi + 0x6c1378]
mov esi, dword [ebp + 8]
movzx esi, byte [esi + 4]
mov dword [ebp - 0x34], esi
mov bh, byte [esi + 0x6c1378]
mov esi, dword [ebp - 0x10]
mov al, byte [esi + 0x6c1378]
mov esi, dword [ebp + 8]
mov byte [ebp - 3], al
movzx esi, byte [esi + 0xd]
mov dword [ebp - 0x1c], esi
mov esi, dword [ebp + 8]
movzx esi, byte [esi + 7]
mov dword [ebp - 0x40], esi
mov al, byte [esi + 0x6c1378]
mov esi, dword [ebp + 8]
mov byte [ebp - 5], al
movzx esi, byte [esi + 8]
mov dword [ebp - 0x18], esi
mov esi, dword [ebp + 8]
movzx esi, byte [esi + 2]
mov dword [ebp - 0x3c], esi
mov al, byte [esi + 0x6c1378]
mov esi, dword [ebp - 0x18]
mov byte [ebp - 4], al
mov al, byte [esi + 0x6c1378]
mov esi, dword [ebp - 0x1c]
mov byte [ebp - 6], al
mov al, byte [esi + 0x6c1378]
mov esi, dword [ebp + 8]
mov byte [ebp - 7], al
movzx esi, byte [esi + 0xb]
mov dword [ebp - 0x28], esi
mov esi, dword [ebp + 8]
movzx esi, byte [esi + 0xc]
mov dword [ebp - 0x24], esi
mov esi, dword [ebp - 0x28]
mov al, byte [esi + 0x6c1378]
mov esi, dword [ebp + 8]
mov byte [ebp - 9], al
movzx esi, byte [esi + 6]
mov dword [ebp - 0x44], esi
mov al, byte [esi + 0x6c1378]
mov esi, dword [ebp + 8]
mov byte [ebp - 8], al
movzx esi, byte [esi + 1]
mov dword [ebp - 0x20], esi
mov esi, dword [ebp - 0x24]
mov al, byte [esi + 0x6c1378]
mov esi, dword [ebp - 0x20]
mov byte [ebp - 0xa], al
mov al, byte [esi + 0x6c1378]
mov byte [ebp - 0xb], al
mov al, byte [edi + 0x6c1178]
xor al, byte [ecx + 0x6c1078]
xor al, byte [ebp - 1]
xor al, dl
mov esi, dword [ebp + 8]
mov byte [esi], al
mov al, byte [ecx + 0x6c1178]
mov esi, dword [ebp - 0x2c]
mov ecx, dword [ebp + 8]
xor al, byte [esi + 0x6c1078]
xor al, bl
xor al, dl
mov byte [ecx + 1], al
mov ecx, dword [ebp - 0x30]
mov al, byte [esi + 0x6c1178]
mov esi, dword [ebp + 8]
xor al, byte [ecx + 0x6c1078]
xor al, ah
xor al, bl
mov byte [esi + 2], al
mov al, byte [edi + 0x6c1078]
mov edi, esi
xor al, byte [ecx + 0x6c1178]
xor al, ah
mov esi, dword [ebp - 0x34]
xor al, byte [ebp - 1]
mov byte [edi + 3], al
mov ecx, dword [ebp - 0x10]
mov al, byte [esi + 0x6c1178]
xor al, byte [ecx + 0x6c1078]
xor al, dh
xor al, byte [ebp - 2]
mov byte [edi + 4], al
mov al, byte [ecx + 0x6c1178]
mov ecx, dword [ebp - 0x14]
xor al, byte [ecx + 0x6c1078]
xor al, bh
xor al, dh
mov edx, dword [ebp - 0x38]
mov byte [edi + 5], al
mov al, byte [edx + 0x6c1078]
xor al, byte [ecx + 0x6c1178]
xor al, byte [ebp - 3]
xor al, bh
mov ecx, dword [ebp - 0x3c]
mov byte [edi + 6], al
mov al, byte [esi + 0x6c1078]
xor al, byte [edx + 0x6c1178]
xor al, byte [ebp - 3]
xor al, byte [ebp - 2]
mov esi, dword [ebp - 0x18]
mov edx, dword [ebp - 0x1c]
mov byte [edi + 7], al
mov al, byte [esi + 0x6c1178]
xor al, byte [edx + 0x6c1078]
xor al, byte [ebp - 4]
xor al, byte [ebp - 5]
mov byte [edi + 8], al
mov al, byte [ecx + 0x6c1078]
xor al, byte [edx + 0x6c1178]
xor al, byte [ebp - 6]
xor al, byte [ebp - 5]
mov edx, dword [ebp + 8]
mov byte [edi + 9], al
mov edi, dword [ebp - 0x40]
mov al, byte [ecx + 0x6c1178]
mov ecx, dword [ebp - 0x20]
xor al, byte [edi + 0x6c1078]
xor al, byte [ebp - 7]
xor al, byte [ebp - 6]
mov byte [edx + 0xa], al
mov al, byte [esi + 0x6c1078]
mov esi, edx
xor al, byte [edi + 0x6c1178]
xor al, byte [ebp - 7]
xor al, byte [ebp - 4]
mov edi, dword [ebp - 0x24]
mov byte [edx + 0xb], al
mov al, byte [ecx + 0x6c1078]
xor al, byte [edi + 0x6c1178]
xor al, byte [ebp - 8]
xor al, byte [ebp - 9]
mov byte [esi + 0xc], al
mov esi, dword [ebp - 0x44]
mov al, byte [ecx + 0x6c1178]
mov ecx, edx
xor al, byte [esi + 0x6c1078]
xor al, byte [ebp - 0xa]
xor al, byte [ebp - 9]
mov byte [edx + 0xd], al
mov al, byte [esi + 0x6c1178]
mov esi, dword [ebp - 0x28]
xor al, byte [esi + 0x6c1078]
xor al, byte [ebp - 0xb]
xor al, byte [ebp - 0xa]
mov byte [ecx + 0xe], al
mov al, byte [edi + 0x6c1078]
xor al, byte [esi + 0x6c1178]
xor al, byte [ebp - 0xb]
xor al, byte [ebp - 8]
pop edi
pop esi
mov byte [ecx + 0xf], al
pop ebx
leave
ret 4