Function at 0x10225c81
Capabilities:
Encode data using xor

Disassembly:
sub esp, 4
mov dword [esp], ebp
push esp
pop ebp
push esi
mov esi, esp
add esi, 4
sub esi, 0x10
xchg dword [esp], esi
pop esp
push dword [ebp + 0xc]
pop eax
push ecx
mov ecx, eax
mov dword [ebp - 4], ecx
pop ecx
cmp dword [ebp + 0x14], 0
je 0x10225d08
jmp 0x10225cb3
push dword [ebp - 4]
xor dword [esp], 0x1c584445
pop ecx
xor ecx, 0x1c584445
push edx
mov dl, 0x2d
mov byte [ecx], dl
pop edx
push ecx
mov ecx, 0xfffffffc
add ecx, ebp
mov edx, dword [ecx]
pop ecx
push ebp
mov ebp, 1
add edx, ebp
pop ebp
push ecx
mov ecx, 0xfffffffc
add ecx, ebp
mov dword [ecx], edx
pop ecx
push ebx
mov ebx, 8
add ebx, ebp
mov eax, dword [ebx]
pop ebx
push 0
sub dword [esp], eax
pop eax
push ecx
mov ecx, 8
add ecx, ebp
mov dword [ecx], eax
pop ecx
push dword [ebp - 4]
add dword [esp], 0x11c676d5
pop ecx
sub ecx, 0x11c676d5
push ecx
sub dword [esp], 0x29ee3814
pop dword [ebp - 8]
add dword [ebp - 8], 0x29ee3814
push dword [ebp + 8]
xor dword [esp], 0x7bee5576
pop eax
xor eax, 0x7bee5576
xor edx, edx
div dword [ebp + 0x10]
push edx
add dword [esp], 0x363f3369
pop dword [ebp - 0xc]
sub dword [ebp - 0xc], 0x363f3369
push dword [ebp + 8]
pop eax
xor edx, edx
div dword [ebp + 0x10]
push esi
mov esi, eax
mov dword [ebp + 8], esi
pop esi
cmp dword [ebp - 0xc], 9
jbe 0x10225ebe
jmp 0x10225d71
push dword [ebp - 0xc]
pop edx
push edi
mov edi, 0x57
add edx, edi
pop edi
push edx
mov edx, 0xfffffffc
add edx, ebp
mov eax, dword [edx]
pop edx
push ecx
mov ecx, 0
add ecx, eax
mov byte [ecx], dl
pop ecx
push dword [ebp - 4]
pop ecx
push edx
mov edx, 1
add ecx, edx
pop edx
push ecx
pop dword [ebp - 4]
jmp 0x10225daa
cmp dword [ebp + 8], 0
ja 0x10225d2b
jmp 0x10225db9
push dword [ebp - 4]
sub dword [esp], 0x308472e9
pop edx
add edx, 0x308472e9
mov byte [edx], 0xac
shr byte [edx], 2
shr byte [edx], 6
inc byte [edx]
inc byte [edx]
xor byte [edx], 0xcc
xor byte [edx], 0xce
push ecx
mov ecx, 0xfffffffc
add ecx, ebp
mov eax, dword [ecx]
pop ecx
push edx
mov edx, 1
sub eax, edx
pop edx
push eax
pop dword [ebp - 4]
push dword [ebp - 4]
pop ecx
push ebx
mov ebx, 0
add ebx, ecx
mov dl, byte [ebx]
pop ebx
push eax
mov eax, 0xfffffff0
add eax, ebp
mov byte [eax], dl
pop eax
push dword [ebp - 4]
xor dword [esp], 0x4343e5d
pop eax
xor eax, 0x4343e5d
push dword [ebp - 8]
pop ecx
push eax
mov eax, 0
add eax, ecx
mov dl, byte [eax]
pop eax
push ecx
mov ecx, 0
add ecx, eax
mov byte [ecx], dl
pop ecx
push dword [ebp - 8]
add dword [esp], 0x3dec5dee
pop eax
sub eax, 0x3dec5dee
push ebx
mov ebx, 0xfffffff0
add ebx, ebp
mov cl, byte [ebx]
pop ebx
push ebx
mov bh, cl
mov byte [eax], bh
pop ebx
push dword [ebp - 4]
xor dword [esp], 0xe67bdf
pop edx
xor edx, 0xe67bdf
push ecx
mov ecx, 1
sub edx, ecx
pop ecx
push ecx
mov ecx, 0xfffffffc
add ecx, ebp
mov dword [ecx], edx
pop ecx
push dword [ebp - 8]
pop eax
push edi
mov edi, 1
add eax, edi
pop edi
push edi
mov edi, eax
mov dword [ebp - 8], edi
pop edi
push dword [ebp - 8]
xor dword [esp], 0x77b6702
pop ecx
xor ecx, 0x77b6702
cmp ecx, dword [ebp - 4]
jb 0x10225df5
jmp 0x10225eb2
mov esp, ebp
mov ebp, dword [esp]
add esp, 4
ret
push dword [ebp - 0xc]
pop edx
push esi
mov esi, 0x30
add edx, esi
pop esi
push dword [ebp - 4]
xor dword [esp], 0x2dc43024
pop eax
xor eax, 0x2dc43024
push ecx
mov ch, dl
mov byte [eax], ch
pop ecx
push dword [ebp - 4]
add dword [esp], 0x5aa82bc6
pop ecx
sub ecx, 0x5aa82bc6
push edi
mov edi, 1
add ecx, edi
pop edi
mov dword [ebp - 4], ecx
jmp 0x10225daa