Function at 0x10067750
Capabilities:
Encode data using add xor sub operations
Encode data using xor
Encrypt data using aes
Reference aes constants

Disassembly:
sub esp, 0x1c
mov eax, dword [ecx + 0x18]
mov dword [esp + 0x10], ecx
push ebx
push ebp
push esi
push edi
mov edi, dword [esp + 0x30]
mov ecx, dword [edi]
mov edx, dword [edi + 4]
mov ebx, ecx
add edi, 4
mov esi, dword [edi + 4]
ror ebx, 8
rol ecx, 8
xor ecx, ebx
and ecx, 0xff00ff
xor ecx, dword [eax]
add edi, 4
mov edi, dword [edi + 4]
xor ecx, ebx
mov dword [esp + 0x30], esi
mov ebx, ecx
mov ebp, edx
ror ebp, 8
rol edx, 8
ror esi, 8
mov dword [esp + 0x18], esi
mov esi, dword [esp + 0x30]
mov ecx, dword [esp + 0x18]
rol esi, 8
xor esi, ecx
and esi, 0xff00ff
xor esi, dword [eax + 8]
mov dword [esp + 0x30], edi
xor esi, ecx
ror edi, 8
mov dword [esp + 0x14], edi
mov edi, dword [esp + 0x30]
mov ecx, dword [esp + 0x14]
rol edi, 8
xor edi, ecx
and edi, 0xff00ff
xor edi, dword [eax + 0xc]
xor edx, ebp
xor edi, ecx
and edx, 0xff00ff
xor edx, dword [eax + 4]
mov dword [esp + 0x30], eax
mov eax, esi
mov dword [esp + 0x18], esi
mov ecx, edi
shr ecx, 0x10
movzx ecx, cl
mov ecx, dword [ecx*4 + 0x1009a438]
shr eax, 8
movzx esi, al
xor ecx, dword [esi*4 + 0x1009a838]
mov eax, dword [esp + 0x30]
xor edx, ebp
mov esi, ebx
shr esi, 0x18
xor ecx, dword [esi*4 + 0x1009a038]
movzx esi, dl
xor ecx, dword [esi*4 + 0x1009ac38]
mov esi, edx
xor ecx, dword [eax + 0x10]
mov dword [esp + 0x10], edx
mov dword [esp + 0x30], ecx
mov ecx, edi
shr ecx, 8
movzx ecx, cl
mov edx, dword [ecx*4 + 0x1009a838]
mov ecx, ebx
shr ecx, 0x10
shr esi, 0x18
xor edx, dword [esi*4 + 0x1009a038]
movzx ecx, cl
xor edx, dword [ecx*4 + 0x1009a438]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], edi
movzx esi, cl
xor edx, dword [esi*4 + 0x1009ac38]
shr ecx, 0x18
xor edx, dword [eax + 0x14]
mov ecx, dword [ecx*4 + 0x1009a038]
mov dword [esp + 0x24], edx
mov edx, dword [esp + 0x10]
shr edx, 0x10
shr ebx, 8
movzx esi, dl
xor ecx, dword [esi*4 + 0x1009a438]
movzx esi, bl
xor ecx, dword [esi*4 + 0x1009a838]
mov ebx, edi
movzx esi, bl
xor ecx, dword [esi*4 + 0x1009ac38]
shr ebx, 0x18
xor ecx, dword [eax + 0x18]
mov dword [esp + 0x14], ebx
mov ebx, dword [esp + 0x18]
mov esi, dword [esp + 0x14]
mov esi, dword [esi*4 + 0x1009a038]
mov edx, dword [esp + 0x24]
shr ebx, 0x10
movzx edi, bl
xor esi, dword [edi*4 + 0x1009a438]
mov ebx, dword [esp + 0x10]
movzx edi, byte [esp + 0x1c]
mov dword [esp + 0x18], esi
shr ebx, 8
movzx esi, bl
mov esi, dword [esi*4 + 0x1009a838]
xor dword [esp + 0x18], esi
mov esi, dword [esp + 0x18]
xor esi, dword [edi*4 + 0x1009ac38]
mov edi, dword [esp + 0x20]
mov edi, dword [edi + 0xc]
xor esi, dword [eax + 0x1c]
shr edi, 1
add eax, 0x20
sub edi, 1
mov dword [esp + 0x14], esi
je 0x10067b3d
lea esp, [esp]
mov ebx, esi
shr ebx, 0x10
movzx esi, bl
mov esi, dword [esi*4 + 0x1009a438]
mov ebx, ecx
shr ebx, 8
movzx ebx, bl
xor esi, dword [ebx*4 + 0x1009a838]
mov ebx, dword [esp + 0x30]
mov dword [esp + 0x24], esi
shr ebx, 0x18
xor esi, dword [ebx*4 + 0x1009a038]
movzx ebx, dl
xor esi, dword [ebx*4 + 0x1009ac38]
mov ebx, dword [esp + 0x14]
xor esi, dword [eax]
shr ebx, 8
mov dword [esp + 0x1c], esi
movzx esi, bl
mov esi, dword [esi*4 + 0x1009a838]
mov ebx, edx
shr ebx, 0x18
xor esi, dword [ebx*4 + 0x1009a038]
mov ebx, dword [esp + 0x30]
shr ebx, 0x10
mov dword [esp + 0x24], esi
movzx ebx, bl
xor esi, dword [ebx*4 + 0x1009a438]
movzx ebx, cl
xor esi, dword [ebx*4 + 0x1009ac38]
mov ebx, edx
xor esi, dword [eax + 4]
shr ebx, 0x10
mov dword [esp + 0x10], esi
movzx ebx, bl
mov esi, ecx
shr esi, 0x18
mov esi, dword [esi*4 + 0x1009a038]
xor esi, dword [ebx*4 + 0x1009a438]
mov ebx, dword [esp + 0x30]
mov dword [esp + 0x18], esi
shr ebx, 8
movzx esi, bl
mov esi, dword [esi*4 + 0x1009a838]
xor dword [esp + 0x18], esi
movzx ebx, byte [esp + 0x14]
mov esi, dword [esp + 0x18]
xor esi, dword [ebx*4 + 0x1009ac38]
shr edx, 8
xor esi, dword [eax + 8]
movzx edx, dl
mov dword [esp + 0x18], esi
mov esi, dword [esp + 0x14]
shr ecx, 0x10
shr esi, 0x18
mov ebx, dword [esi*4 + 0x1009a038]
movzx ecx, cl
xor ebx, dword [ecx*4 + 0x1009a438]
movzx ecx, byte [esp + 0x30]
xor ebx, dword [edx*4 + 0x1009a838]
xor ebx, dword [ecx*4 + 0x1009ac38]
mov ecx, dword [esp + 0x18]
xor ebx, dword [eax + 0xc]
mov dword [esp + 0x24], ecx
mov edx, ebx
shr edx, 0x10
movzx edx, dl
mov edx, dword [edx*4 + 0x1009a438]
shr ecx, 8
movzx esi, cl
xor edx, dword [esi*4 + 0x1009a838]
mov esi, dword [esp + 0x1c]
mov ebp, esi
shr ebp, 0x18
xor edx, dword [ebp*4 + 0x1009a038]
movzx ebp, byte [esp + 0x10]
xor edx, dword [ebp*4 + 0x1009ac38]
xor edx, dword [eax + 0x10]
mov dword [esp + 0x30], edx
mov edx, ebx
shr edx, 8
mov ebp, dword [esp + 0x10]
movzx edx, dl
mov edx, dword [edx*4 + 0x1009a838]
shr ebp, 0x18
xor edx, dword [ebp*4 + 0x1009a038]
mov ecx, esi
shr ecx, 0x10
movzx ebp, cl
xor edx, dword [ebp*4 + 0x1009a438]
mov ecx, dword [esp + 0x24]
movzx ebp, cl
xor edx, dword [ebp*4 + 0x1009ac38]
shr ecx, 0x18
xor edx, dword [eax + 0x14]
mov ecx, dword [ecx*4 + 0x1009a038]
mov dword [esp + 0x20], edx
mov edx, dword [esp + 0x10]
shr edx, 0x10
movzx ebp, dl
xor ecx, dword [ebp*4 + 0x1009a438]
mov edx, esi
shr edx, 8
movzx esi, dl
xor ecx, dword [esi*4 + 0x1009a838]
movzx esi, bl
xor ecx, dword [esi*4 + 0x1009ac38]
shr ebx, 0x18
xor ecx, dword [eax + 0x18]
mov dword [esp + 0x24], ebx
mov ebx, dword [esp + 0x18]
mov edx, dword [esp + 0x20]
shr ebx, 0x10
movzx esi, bl
mov ebx, dword [esp + 0x24]
mov ebp, dword [ebx*4 + 0x1009a038]
xor ebp, dword [esi*4 + 0x1009a438]
mov ebx, dword [esp + 0x10]
shr ebx, 8
movzx esi, bl
xor ebp, dword [esi*4 + 0x1009a838]
movzx esi, byte [esp + 0x1c]
xor ebp, dword [esi*4 + 0x1009ac38]
add eax, 0x20
xor ebp, dword [eax - 4]
sub edi, 1
mov esi, ebp
mov dword [esp + 0x14], esi
jne 0x10067920
mov ebx, esi
shr ebx, 0x10
movzx esi, bl
mov esi, dword [esi*4 + str.RRRR_t_t_t_tjjjj]
mov ebx, ecx
shr ebx, 8
movzx edi, bl
mov edi, dword [edi*4 + str.RRRR_t_t_t_tjjjj]
and edi, 0xff00
mov ebx, dword [esp + 0x30]
shr ebx, 0x10
and esi, 0xff0000
xor esi, edi
mov edi, dword [esp + 0x30]
shr edi, 0x18
mov edi, dword [edi*4 + str.RRRR_t_t_t_tjjjj]
and edi, 0xff000000
xor esi, edi
movzx edi, dl
mov edi, dword [edi*4 + str.RRRR_t_t_t_tjjjj]
and edi, 0xff
xor esi, edi
movzx edi, bl
mov ebx, dword [esp + 0x14]
mov edi, dword [edi*4 + str.RRRR_t_t_t_tjjjj]
shr ebx, 8
movzx ebx, bl
mov ebx, dword [ebx*4 + str.RRRR_t_t_t_tjjjj]
and ebx, 0xff00
and edi, 0xff0000
xor edi, ebx
mov ebx, edx
shr ebx, 0x18
mov ebx, dword [ebx*4 + str.RRRR_t_t_t_tjjjj]
and ebx, 0xff000000
xor edi, ebx
movzx ebx, cl
mov ebx, dword [ebx*4 + str.RRRR_t_t_t_tjjjj]
and ebx, 0xff
xor edi, ebx
mov ebx, edx
shr ebx, 0x10
movzx ebx, bl
mov ebp, dword [ebx*4 + str.RRRR_t_t_t_tjjjj]
mov ebx, ecx
shr ebx, 0x18
mov ebx, dword [ebx*4 + str.RRRR_t_t_t_tjjjj]
and ebx, 0xff000000
and ebp, 0xff0000
xor ebp, ebx
mov ebx, dword [esp + 0x30]
shr ebx, 8
movzx ebx, bl
mov ebx, dword [ebx*4 + str.RRRR_t_t_t_tjjjj]
and ebx, 0xff00
xor ebp, ebx
movzx ebx, byte [esp + 0x14]
mov ebx, dword [ebx*4 + str.RRRR_t_t_t_tjjjj]
xor esi, dword [eax]
xor edi, dword [eax + 4]
and ebx, 0xff
shr ecx, 0x10
xor ebp, ebx
mov ebx, dword [esp + 0x14]
xor ebp, dword [eax + 8]
shr edx, 8
movzx ecx, cl
mov ecx, dword [ecx*4 + str.RRRR_t_t_t_tjjjj]
movzx edx, dl
mov edx, dword [edx*4 + str.RRRR_t_t_t_tjjjj]
shr ebx, 0x18
mov ebx, dword [ebx*4 + str.RRRR_t_t_t_tjjjj]
and ecx, 0xff0000
and edx, 0xff00
and ebx, 0xff000000
xor ecx, ebx
xor ecx, edx
movzx edx, byte [esp + 0x30]
mov edx, dword [edx*4 + str.RRRR_t_t_t_tjjjj]
and edx, 0xff
xor ecx, edx
xor ecx, dword [eax + 0xc]
mov eax, dword [esp + 0x34]
mov edx, dword [esp + 0x38]
push ecx
push ebp
push edi
push esi
lea ecx, [esp + 0x34]
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], edx
call fcn.10067170
mov ecx, eax
call fcn.10067170
mov ecx, eax
call fcn.10067170
mov ecx, eax
call fcn.10067170
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c
ret 0xc