Function at 0x1001c8d0
Capabilities:
Encode data using xor

Disassembly:
sub esp, 0x28
mov eax, dword [ecx]
push ebx
push esi
push edi
test eax, eax
mov dword [esp + 0xc], ecx
je 0x1001c8ee
pop edi
pop esi
mov eax, 0xfffffffb
pop ebx
add esp, 0x28
ret 0xc
cmp dword [ecx + 8], 1
je 0x1001c902
pop edi
pop esi
mov eax, 0xfffffffa
pop ebx
add esp, 0x28
ret 0xc
mov esi, dword [esp + 0x38]
test esi, esi
je 0x1001caf5
mov eax, dword [esp + 0x3c]
test eax, eax
jle 0x1001caf5
mov edx, eax
and edx, 0x8000000f
jns 0x1001c929
dec edx
or edx, 0xfffffff0
inc edx
je 0x1001c939
pop edi
pop esi
mov eax, 0xfffffff9
pop ebx
add esp, 0x28
ret 0xc
cdq
and edx, 0xf
add eax, edx
mov edx, dword [ecx + 4]
sar eax, 4
sub edx, 0
mov dword [esp + 0x3c], eax
je 0x1001ca6a
dec edx
je 0x1001c961
pop edi
pop esi
or eax, 0xffffffff
pop ebx
add esp, 0x28
ret 0xc
lea edx, [ecx + 0xc]
push ebp
dec eax
mov ebx, dword [edx]
test eax, eax
mov edi, dword [edx + 4]
mov ebp, dword [edx + 8]
mov edx, dword [edx + 0xc]
mov dword [esp + 0x20], edx
jle 0x1001c9f7
mov dword [esp + 0x3c], eax
lea eax, [esp + 0x24]
push eax
push esi
call sym.EoRezoTools_3.dll_protected:_void___thiscall_CRijndael::decrypt_unsigned_char_const__const__unsigned_char__const_
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x20]
xor ecx, edi
mov edi, dword [esp + 0x30]
xor eax, ebx
mov ebx, dword [esp + 0x2c]
xor edi, edx
xor ebx, ebp
mov edx, esi
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], edi
mov ebx, dword [edx]
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], ecx
add esi, 0x10
mov edi, dword [edx + 4]
mov ebp, dword [edx + 8]
mov edx, dword [edx + 0xc]
mov dword [esp + 0x20], edx
mov edx, dword [esp + 0x44]
mov dword [edx], eax
mov eax, dword [esp + 0x2c]
mov dword [edx + 4], ecx
mov ecx, dword [esp + 0x30]
mov dword [edx + 8], eax
mov eax, dword [esp + 0x3c]
mov dword [edx + 0xc], ecx
mov ecx, edx
add ecx, 0x10
dec eax
mov dword [esp + 0x44], ecx
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x3c], eax
jne 0x1001c97d
lea edx, [esp + 0x24]
push edx
push esi
call sym.EoRezoTools_3.dll_protected:_void___thiscall_CRijndael::decrypt_unsigned_char_const__const__unsigned_char__const_
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x30]
mov esi, dword [esp + 0x28]
xor eax, ebx
xor edx, ebp
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x20]
xor ecx, eax
mov dword [esp + 0x2c], edx
mov dword [esp + 0x30], ecx
mov edx, dword [esp + 0x33]
xor esi, edi
and edx, 0xff
mov dword [esp + 0x28], esi
pop ebp
jle 0x1001caa3
cmp edx, 0x10
jg 0x1001caa3
mov esi, 0x10
sub esi, edx
mov eax, esi
cmp eax, 0x10
jge 0x1001ca5e
xor ecx, ecx
mov cl, byte [esp + eax + 0x20]
cmp ecx, edx
jne 0x1001caa3
inc eax
cmp eax, 0x10
jl 0x1001ca4e
mov edi, dword [esp + 0x40]
mov ecx, esi
lea esi, [esp + 0x20]
jmp 0x1001cad5
mov edi, dword [esp + 0x40]
lea ebx, [eax - 1]
test ebx, ebx
jle 0x1001ca89
push edi
push esi
call sym.EoRezoTools_3.dll_protected:_void___thiscall_CRijndael::decrypt_unsigned_char_const__const__unsigned_char__const_
mov ecx, dword [esp + 0xc]
add esi, 0x10
add edi, 0x10
dec ebx
jne 0x1001ca75
lea edx, [esp + 0x20]
push edx
push esi
call sym.EoRezoTools_3.dll_protected:_void___thiscall_CRijndael::decrypt_unsigned_char_const__const__unsigned_char__const_
mov edx, dword [esp + 0x2f]
and edx, 0xff
cmp edx, 0x10
jl 0x1001cab1
pop edi
pop esi
mov eax, 0xfffffff9
pop ebx
add esp, 0x28
ret 0xc
mov esi, 0x10
sub esi, edx
mov eax, esi
cmp eax, 0x10
jge 0x1001cacf
xor ecx, ecx
mov cl, byte [esp + eax + 0x20]
cmp ecx, edx
jne 0x1001caa3
inc eax
cmp eax, 0x10
jl 0x1001cabf
mov ecx, esi
lea esi, [esp + 0x20]
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov eax, dword [esp + 0x3c]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
shl eax, 4
pop edi
pop esi
sub eax, edx
pop ebx
add esp, 0x28
ret 0xc
pop edi
pop esi
xor eax, eax
pop ebx
add esp, 0x28
ret 0xc