Function at 0x79b430
Capabilities:
Encode data using xor
Encrypt data using aes
Reference aes constants

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x20
mov esi, dword [esp + 0x38]
mov edi, dword [esp + 0x34]
mov al, byte [edi]
mov byte [esp + 0xb], al
mov byte [esp + 0x10], al
mov byte [esi], al
mov al, byte [edi + 1]
mov byte [esp + 9], al
mov byte [esp + 0x11], al
mov byte [esi + 1], al
mov al, byte [edi + 2]
mov byte [esp + 7], al
mov byte [esp + 0x12], al
mov byte [esi + 2], al
mov al, byte [edi + 3]
mov byte [esp + 5], al
mov byte [esp + 0x13], al
mov byte [esi + 3], al
mov al, byte [edi + 4]
mov byte [esp + 3], al
mov byte [esp + 0x14], al
mov byte [esi + 4], al
mov al, byte [edi + 5]
mov byte [esp + 0x15], al
mov byte [esi + 5], al
mov ah, byte [edi + 6]
mov byte [esp + 0x16], ah
mov byte [esi + 6], ah
mov dl, byte [edi + 7]
mov byte [esp + 0x17], dl
mov byte [esi + 7], dl
mov cl, byte [edi + 8]
mov byte [esp + 0xc], cl
mov byte [esp + 0x18], cl
mov byte [esi + 8], cl
mov ch, byte [edi + 9]
mov byte [esp + 0xa], ch
mov byte [esp + 0x19], ch
mov byte [esi + 9], ch
mov ch, byte [edi + 0xa]
mov byte [esp + 8], ch
mov byte [esp + 0x1a], ch
mov byte [esi + 0xa], ch
mov ch, byte [edi + 0xb]
mov byte [esp + 6], ch
mov byte [esp + 0x1b], ch
mov byte [esi + 0xb], ch
mov ch, byte [edi + 0xc]
mov byte [esp + 4], ch
mov byte [esp + 0x1c], ch
mov byte [esi + 0xc], ch
mov cl, byte [edi + 0xd]
mov byte [esp + 0x1d], cl
mov byte [esi + 0xd], cl
mov ch, byte [edi + 0xe]
mov byte [esp + 0xe], ch
mov byte [esp + 0x1e], ch
mov byte [esi + 0xe], ch
mov ch, byte [edi + 0xf]
mov byte [esp + 0xd], ch
mov byte [esp + 0x1f], ch
mov byte [esi + 0xf], ch
add esi, 0x10
mov edi, 1
nop word cs:[eax + eax]
mov byte [esp + 2], cl
mov byte [esp + 0xf], dl
movzx ebp, cl
mov dh, byte [esp + 0xb]
mov ch, byte [edi + 0x7ecb6f]
xor ch, byte [ebp + str.cw]
xor dh, ch
mov byte [esp + 0xb], dh
mov ch, dh
mov dh, byte [esp + 9]
mov bl, byte [esp + 7]
mov bh, byte [esp + 5]
mov dl, byte [esp + 3]
mov byte [esp + 0x10], ch
movzx ebp, byte [esp + 0xe]
xor dh, byte [ebp + str.cw]
mov byte [esp + 9], dh
mov byte [esp + 0x11], dh
movzx ebp, byte [esp + 0xd]
xor bl, byte [ebp + str.cw]
mov byte [esp + 7], bl
mov byte [esp + 0x12], bl
mov cl, byte [esp + 4]
movzx ebp, cl
xor bh, byte [ebp + str.cw]
mov byte [esp + 5], bh
mov byte [esp + 0x13], bh
xor dl, ch
mov byte [esp + 3], dl
mov byte [esp + 0x14], dl
xor al, dh
mov byte [esp + 0x15], al
xor ah, bl
mov byte [esp + 0x16], ah
mov ch, byte [esp + 0xf]
xor ch, bh
mov byte [esp + 0xf], ch
mov byte [esp + 0x17], ch
mov ch, byte [esp + 0xc]
xor ch, dl
mov byte [esp + 0xc], ch
mov byte [esp + 0x18], ch
mov dh, byte [esp + 0xa]
xor dh, al
mov byte [esp + 0xa], dh
mov byte [esp + 0x19], dh
mov bl, byte [esp + 8]
xor bl, ah
mov byte [esp + 8], bl
mov byte [esp + 0x1a], bl
mov bh, byte [esp + 6]
mov dl, byte [esp + 0xf]
xor bh, dl
mov byte [esp + 6], bh
mov byte [esp + 0x1b], bh
xor cl, ch
mov byte [esp + 4], cl
mov byte [esp + 0x1c], cl
mov cl, byte [esp + 2]
xor cl, dh
mov byte [esp + 0x1d], cl
mov ch, byte [esp + 0xe]
xor ch, bl
mov byte [esp + 0xe], ch
mov byte [esp + 0x1e], ch
mov ch, byte [esp + 0xd]
xor ch, bh
mov byte [esp + 0xd], ch
mov byte [esp + 0x1f], ch
movsd xmm0, qword [esp + 0x10]
movsd xmm1, qword [esp + 0x18]
movsd qword [esi + 8], xmm1
movsd qword [esi], xmm0
mov ebp, edi
imul ebp, ebp
and ebp, 3
add esi, 0x10
cmp edi, 0xa
lea edi, [edi + 1]
jne 0x79b520
cmp ebp, 1
ja 0x79b520
add esp, 0x20
pop esi
pop edi
pop ebx
pop ebp
ret