Function at 0x100decb9
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x28
mov eax, dword [0x102ce4c0]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
push esi
mov esi, dword [ebp + 8]
cmp eax, 0x12
ja case.default.0x100deb30
jmp dword [eax*4 + 0x100dede8]
lea eax, [ebp - 0x1c]
mov ecx, 0x102c9ae8
push eax
call fcn.1004f560
cmp dword [ebp - 8], 0xf
lea ecx, [ebp - 0x1c]
cmova ecx, dword [ebp - 0x1c]
push ecx
mov ecx, esi
call fcn.10044650
lea ecx, [ebp - 0x1c]
call fcn.10044ae0
mov eax, esi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10110662
mov esp, ebp
pop ebp
ret
lea eax, [ebp - 0x1c]
mov ecx, 0x102c9af8
push eax
call fcn.1004f560
cmp dword [ebp - 8], 0xf
lea eax, [ebp - 0x1c]
mov ecx, esi
cmova eax, dword [ebp - 0x1c]
push eax
call fcn.10044650
lea ecx, [ebp - 0x1c]
call fcn.10044ae0
mov eax, esi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10110662
mov esp, ebp
pop ebp
ret
lea eax, [ebp - 0x1c]
mov ecx, 0x102c9b08
push eax
call fcn.1005ba00
jmp 0x100deb7f
lea eax, [ebp - 0x1c]
mov ecx, 0x102c9b20
push eax
call fcn.1004f810
jmp 0x100deb7f
lea eax, [ebp - 0x1c]
mov ecx, 0x102c9b38
push eax
call fcn.10050d60
jmp 0x100deb7f
lea eax, [ebp - 0x1c]
mov ecx, 0x102c9b50
push eax
call fcn.1004f6a0
jmp 0x100deb7f
lea eax, [ebp - 0x1c]
mov ecx, 0x102c9b60
push eax
call fcn.10050d60
jmp 0x100deb7f
lea eax, [ebp - 0x1c]
mov ecx, 0x102c9b78
push eax
call fcn.10050c90
jmp 0x100deb7f
lea eax, [ebp - 0x1c]
mov ecx, 0x102c9b90
push eax
call fcn.10050d60
jmp 0x100deb7f
lea eax, [ebp - 0x1c]
mov ecx, 0x102c9ba8
push eax
call fcn.1004fed0
jmp 0x100deb7f
lea eax, [ebp - 0x1c]
mov ecx, 0x102c9bc0
push eax
call fcn.10050c90
jmp 0x100deb7f
lea eax, [ebp - 0x1c]
mov ecx, 0x102c9bd8
push eax
call fcn.1004fed0
jmp 0x100deb7f
lea eax, [ebp - 0x1c]
mov ecx, 0x102c9bf0
push eax
call fcn.10050c90
jmp 0x100deb7f
lea eax, [ebp - 0x1c]
mov ecx, 0x102c9c08
push eax
call fcn.1004fed0
jmp 0x100deb7f
lea eax, [ebp - 0x1c]
mov ecx, 0x102c9c20
push eax
call fcn.10050c90
jmp 0x100deb7f
lea eax, [ebp - 0x1c]
mov ecx, 0x102c9c38
push eax
call fcn.10050fd0
jmp 0x100deb7f
lea eax, [ebp - 0x1c]
mov ecx, 0x102c9c58
push eax
call fcn.10050e30
jmp 0x100deb7f
cmp byte [0x102c9c70], 0
push ebx
push edi
je 0x100ded21
cmp byte [0x102c9c71], 0
jne 0x100ded68
mov byte [0x102c9c71], 1
xor edi, edi
nop word [eax + eax]
xor edx, edx
mov ebx, edi
xor edx, dword [0x102c9c8c]
xor ebx, dword [0x102c9c88]
xor edx, 0xd28f2c5
xor ebx, 0x1de26cd5
mov ecx, edx
mov eax, ebx
shld ecx, eax, 0xd
shl eax, 0xd
xor edx, ecx
xor ebx, eax
mov eax, ebx
shrd eax, edx, 7
xor al, bl
xor byte [edi + 0x102c9c72], al
inc edi
cmp edi, 0x10
jb 0x100dece0
jmp 0x100ded68
xor edi, edi
xor edx, edx
mov ebx, edi
xor edx, dword [0x102c9c8c]
xor ebx, dword [0x102c9c88]
xor edx, 0xd28f2c5
xor ebx, 0x1de26cd5
mov ecx, edx
mov eax, ebx
shld ecx, eax, 0xd
shl eax, 0xd
xor edx, ecx
xor ebx, eax
mov eax, ebx
shrd eax, edx, 7
xor al, byte [edi + 0x102c9c72]
xor al, bl
mov byte [edi + 0x102c9c72], al
inc edi
cmp edi, 0x10
jb 0x100ded23
lea eax, [ebp - 0x1d]
push eax
push 0x102c9c81
push 0x102c9c72
lea ecx, [ebp - 0x1c]
call fcn.1004f4a0
cmp dword [ebp - 8], 0xf
lea eax, [ebp - 0x1c]
mov ecx, esi
cmova eax, dword [ebp - 0x1c]
push eax
call fcn.10044650
lea ecx, [ebp - 0x1c]
call fcn.10044ae0
pop edi
pop ebx
mov eax, esi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10110662
mov esp, ebp
pop ebp
ret
lea eax, [ebp - 0x1c]
mov ecx, 0x102c9c90
push eax
call fcn.10050f00
jmp 0x100deb7f
mov ecx, dword [ebp - 4]
xorps xmm0, xmm0
movups xmmword [esi], xmm0
mov dword [esi + 0x10], 0
mov eax, esi
mov dword [esi + 0x14], 0xf
xor ecx, ebp
mov byte [esi], 0
pop esi
call fcn.10110662
mov esp, ebp
pop ebp
ret