Function at 0x100928e7
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
push ebx
call sym.mono.dll_mono_method_signature
movzx edi, word [eax + 4]
mov dword [ebp - 8], eax
add edi, 5
mov eax, edi
shl eax, 2
push eax
mov dword [ebp - 0x10], edi
call fcn.10112f0b
mov esi, eax
mov eax, dword [ebx + 0x14]
shr eax, 2
and eax, 0x1f
pop ecx
pop ecx
mov dword [ebp - 0x14], esi
mov dword [ebp - 4], esi
je 0x10092933
cmp eax, 9
je 0x10092933
mov ebx, dword [0x101f9bc4]
jmp 0x10092936
mov ebx, dword [ebx + 8]
mov dword [ebp - 0xc], ebx
test eax, eax
jne 0x10092965
add ebx, 0x8c
push ebx
call sym.mono.dll_mono_type_full_name
push eax
mov dword [ebp - 0xc], eax
call fcn.1009285e
push dword [ebp - 0xc]
and dword [esi + 4], 0
mov dword [esi], eax
call sym.mono.dll_g_free
add esp, 0xc
jmp 0x1009297f
push dword [ebx + 0x34]
call fcn.1009285e
mov dword [esi], eax
mov eax, dword [ebp - 0xc]
push dword [eax + 0x38]
call fcn.1009285e
pop ecx
pop ecx
mov dword [esi + 4], eax
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x14]
shr eax, 2
and eax, 0x1f
cmp eax, 0xd
je 0x100929ab
cmp eax, 0xc
je 0x100929ab
cmp eax, 0x17
je 0x100929ab
push dword [ecx + 0x10]
call fcn.1009285e
pop ecx
mov ecx, dword [ebp + 8]
mov dword [esi + 8], eax
jmp 0x100929af
and dword [esi + 8], 0
mov eax, dword [ecx + 0x14]
shr eax, 2
and eax, 0x1f
mov dword [esi + 0xc], eax
mov eax, dword [ebp - 8]
push dword [eax + 0xc]
call fcn.10092882
mov ebx, dword [ebp - 8]
and dword [ebp - 0xc], 0
mov dword [esi + 0x10], eax
xor eax, eax
pop ecx
cmp ax, word [ebx + 4]
jae 0x10092a09
lea eax, [esi + 0x14]
mov dword [ebp - 8], eax
lea eax, [ebx + 0x10]
mov dword [ebp + 8], eax
mov eax, dword [ebp + 8]
push dword [eax]
call fcn.10092882
inc dword [ebp - 0xc]
add dword [ebp + 8], 4
pop ecx
mov ecx, dword [ebp - 8]
add dword [ebp - 8], 4
mov dword [ecx], eax
movzx eax, word [ebx + 4]
cmp dword [ebp - 0xc], eax
jl 0x100929e5
lea ebx, [edi*4 - 0x21524111]
mov ecx, ebx
mov dword [ebp + 8], ebx
cmp edi, 3
jle 0x10092a8a
xor edx, edx
lea eax, [edi - 4]
push 3
pop edi
div edi
inc eax
mov edx, eax
imul edx, edx, 0xfffffffd
add dword [ebp - 0x10], edx
add ecx, dword [esi + 4]
add ebx, dword [esi + 8]
mov esi, dword [esi]
sub esi, ebx
add esi, dword [ebp + 8]
mov edx, ebx
rol edx, 4
xor edx, esi
add ebx, ecx
sub ecx, edx
add dword [ebp - 4], 0xc
mov esi, edx
rol esi, 6
xor esi, ecx
add edx, ebx
sub ebx, esi
mov edi, esi
rol edi, 8
xor edi, ebx
add esi, edx
sub edx, edi
mov ecx, edi
rol ecx, 0x10
xor edx, ecx
add edi, esi
sub esi, edx
mov ecx, edx
ror ecx, 0xd
xor ecx, esi
mov esi, dword [ebp - 4]
add edx, edi
mov ebx, ecx
sub edi, ecx
rol ebx, 4
xor ebx, edi
add ecx, edx
dec eax
mov dword [ebp + 8], edx
jne 0x10092a2d
mov edi, dword [ebp - 0x10]
dec edi
je 0x10092a99
dec edi
je 0x10092a96
dec edi
jne 0x10092adf
add ebx, dword [esi + 8]
add ecx, dword [esi + 4]
xor ebx, ecx
mov edx, ecx
rol edx, 0xe
sub ebx, edx
mov edx, dword [esi]
add edx, dword [ebp + 8]
mov edi, ebx
xor edx, ebx
rol edi, 0xb
sub edx, edi
xor ecx, edx
mov esi, edx
ror esi, 7
sub ecx, esi
xor ebx, ecx
mov esi, ecx
rol esi, 0x10
sub ebx, esi
mov edi, ebx
mov esi, ebx
xor esi, edx
rol edi, 4
sub esi, edi
mov edx, esi
rol edx, 0xe
xor ecx, esi
sub ecx, edx
mov edx, ecx
ror edx, 8
xor ebx, ecx
sub ebx, edx
push dword [ebp - 0x14]
call fcn.10112f9f
pop ecx
pop edi
pop esi
mov eax, ebx
pop ebx
leave
ret