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

Disassembly:
sub esp, 8
xor ecx, ecx
nop word [eax + eax]
movzx eax, byte [ecx + 0x101a3990]
mov byte [eax + 0x101f7680], cl
inc ecx
cmp ecx, 0x100
jl 0x1010f090
xor eax, eax
push ebx
mov dword [esp + 8], eax
push esi
nop
mov bh, byte [eax + 0x101a3990]
mov byte [eax*4 + 0x101f8381], bh
mov byte [eax*4 + 0x101f8380], bh
mov byte [eax*4 + 0x101f7f83], bh
mov byte [eax*4 + 0x101f7f80], bh
mov byte [eax*4 + 0x101f7b83], bh
mov byte [eax*4 + 0x101f7b82], bh
mov byte [eax*4 + 0x101f7782], bh
mov byte [eax*4 + 0x101f7781], bh
mov ah, 2
mov byte [esp + 0xb], bh
xor al, al
mov byte [esp + 0xa], bh
nop word [eax + eax]
mov cl, al
mov bl, ah
xor cl, bh
and bl, 1
movzx edx, cl
test bl, bl
movzx ecx, al
mov bl, bh
cmove edx, ecx
add bl, bl
mov cl, bl
mov al, dl
xor cl, 0x1b
test bh, bh
movzx edx, cl
movzx ecx, bl
cmovns edx, ecx
shr ah, 1
mov bh, dl
jne 0x1010f100
mov bh, byte [esp + 0xb]
mov byte [esp + 0xa], al
mov eax, dword [esp + 0xc]
mov cl, byte [esp + 0xa]
mov byte [eax*4 + 0x101f8383], cl
mov byte [eax*4 + 0x101f7f82], cl
mov byte [eax*4 + 0x101f7b81], cl
mov byte [eax*4 + 0x101f7780], cl
mov ah, 3
xor al, al
mov cl, al
mov bl, ah
xor cl, bh
and bl, 1
movzx edx, cl
test bl, bl
movzx ecx, al
mov bl, bh
cmove edx, ecx
add bl, bl
mov cl, bl
mov al, dl
xor cl, 0x1b
test bh, bh
movzx edx, cl
movzx ecx, bl
cmovns edx, ecx
shr ah, 1
mov bh, dl
jne 0x1010f160
mov byte [esp + 0xb], al
xor bh, bh
mov eax, dword [esp + 0xc]
mov cl, byte [esp + 0xb]
mov byte [eax*4 + 0x101f8382], cl
mov byte [eax*4 + 0x101f7f81], cl
mov byte [eax*4 + 0x101f7b80], cl
mov byte [eax*4 + 0x101f7783], cl
mov cl, byte [eax + 0x101f7680]
mov al, 0xb
mov byte [esp + 0xa], cl
mov ah, cl
mov cl, bh
mov bl, al
xor cl, ah
and bl, 1
movzx edx, cl
test bl, bl
movzx ecx, bh
mov bl, ah
cmove edx, ecx
add bl, bl
mov cl, bl
shr al, 1
xor cl, 0x1b
mov bh, dl
test ah, ah
movzx edx, cl
movzx ecx, bl
cmovns edx, ecx
mov ah, dl
test al, al
jne 0x1010f1c8
mov eax, dword [esp + 0xc]
movzx esi, byte [esp + 0xa]
mov byte [eax*4 + 0x101f9382], bh
mov byte [eax*4 + 0x101f8f81], bh
mov byte [eax*4 + 0x101f8b80], bh
mov byte [eax*4 + 0x101f8783], bh
mov al, 9
mov ah, byte [esp + 0xa]
mov byte [esi*4 + 0x101fa382], bh
mov byte [esi*4 + 0x101f9f81], bh
mov byte [esi*4 + 0x101f9b80], bh
mov byte [esi*4 + 0x101f9783], bh
xor bh, bh
mov cl, bh
mov bl, al
xor cl, ah
and bl, 1
movzx edx, cl
test bl, bl
movzx ecx, bh
mov bl, ah
cmove edx, ecx
add bl, bl
mov cl, bl
shr al, 1
xor cl, 0x1b
mov bh, dl
test ah, ah
movzx edx, cl
movzx ecx, bl
cmovns edx, ecx
mov ah, dl
test al, al
jne 0x1010f243
mov eax, dword [esp + 0xc]
mov byte [esi*4 + 0x101fa380], bh
mov byte [esi*4 + 0x101f9f83], bh
mov byte [esi*4 + 0x101f9b82], bh
mov byte [eax*4 + 0x101f9380], bh
mov byte [eax*4 + 0x101f8f83], bh
mov byte [eax*4 + 0x101f8b82], bh
mov byte [eax*4 + 0x101f8781], bh
mov al, 0xd
mov ah, byte [esp + 0xa]
mov byte [esi*4 + 0x101f9781], bh
xor bh, bh
nop dword [eax]
mov cl, bh
mov bl, al
xor cl, ah
and bl, 1
movzx edx, cl
test bl, bl
movzx ecx, bh
mov bl, ah
cmove edx, ecx
add bl, bl
mov cl, bl
shr al, 1
xor cl, 0x1b
mov bh, dl
test ah, ah
movzx edx, cl
movzx ecx, bl
cmovns edx, ecx
mov ah, dl
test al, al
jne 0x1010f2c0
mov eax, dword [esp + 0xc]
mov byte [esi*4 + 0x101fa381], bh
mov byte [esi*4 + 0x101f9f80], bh
mov byte [esi*4 + 0x101f9b83], bh
mov byte [eax*4 + 0x101f9381], bh
mov byte [eax*4 + 0x101f8f80], bh
mov byte [eax*4 + 0x101f8b83], bh
mov byte [eax*4 + 0x101f8782], bh
mov ah, 0xe
mov al, byte [esp + 0xa]
mov byte [esi*4 + 0x101f9782], bh
xor bh, bh
mov cl, bh
mov bl, ah
xor cl, al
and bl, 1
movzx edx, cl
test bl, bl
movzx ecx, bh
mov bl, al
cmove edx, ecx
add bl, bl
mov cl, bl
shr ah, 1
xor cl, 0x1b
mov bh, dl
test al, al
movzx edx, cl
movzx ecx, bl
cmovns edx, ecx
mov al, dl
test ah, ah
jne 0x1010f336
mov eax, dword [esp + 0xc]
mov byte [esi*4 + 0x101fa383], bh
mov byte [esi*4 + 0x101f9f82], bh
mov byte [esi*4 + 0x101f9b81], bh
mov byte [eax*4 + 0x101f9383], bh
mov byte [eax*4 + 0x101f8f82], bh
mov byte [eax*4 + 0x101f8b81], bh
mov byte [eax*4 + 0x101f8780], bh
inc eax
mov byte [esi*4 + 0x101f9780], bh
mov dword [esp + 0xc], eax
cmp eax, 0x100
jl 0x1010f0b0
pop esi
pop ebx
add esp, 8
ret