Function at 0x100de129
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x28
mov eax, dword [0x102cdf00]
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.0x100ddfa0
jmp dword [eax*4 + 0x100de258]
lea eax, [ebp - 0x1c]
mov ecx, 0x102c96d0
push eax
call fcn.1004f1f0
cmp dword [ebp - 8], 0xf
lea ecx, [ebp - 0x1c]
cmova ecx, dword [ebp - 0x1c]
push ecx
mov ecx, esi
call fcn.100442d0
lea ecx, [ebp - 0x1c]
call fcn.10044760
mov eax, esi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1010f802
mov esp, ebp
pop ebp
ret
lea eax, [ebp - 0x1c]
mov ecx, 0x102c96e0
push eax
call fcn.1004f1f0
cmp dword [ebp - 8], 0xf
lea eax, [ebp - 0x1c]
mov ecx, esi
cmova eax, dword [ebp - 0x1c]
push eax
call fcn.100442d0
lea ecx, [ebp - 0x1c]
call fcn.10044760
mov eax, esi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1010f802
mov esp, ebp
pop ebp
ret
lea eax, [ebp - 0x1c]
mov ecx, 0x102c96f0
push eax
call fcn.1005b5d0
jmp 0x100ddfef
lea eax, [ebp - 0x1c]
mov ecx, 0x102c9708
push eax
call fcn.1004f4a0
jmp 0x100ddfef
lea eax, [ebp - 0x1c]
mov ecx, 0x102c9720
push eax
call fcn.100509f0
jmp 0x100ddfef
lea eax, [ebp - 0x1c]
mov ecx, 0x102c9738
push eax
call fcn.1004f330
jmp 0x100ddfef
lea eax, [ebp - 0x1c]
mov ecx, 0x102c9748
push eax
call fcn.100509f0
jmp 0x100ddfef
lea eax, [ebp - 0x1c]
mov ecx, 0x102c9760
push eax
call fcn.10050920
jmp 0x100ddfef
lea eax, [ebp - 0x1c]
mov ecx, 0x102c9778
push eax
call fcn.100509f0
jmp 0x100ddfef
lea eax, [ebp - 0x1c]
mov ecx, 0x102c9790
push eax
call fcn.1004fb60
jmp 0x100ddfef
lea eax, [ebp - 0x1c]
mov ecx, 0x102c97a8
push eax
call fcn.10050920
jmp 0x100ddfef
lea eax, [ebp - 0x1c]
mov ecx, 0x102c97c0
push eax
call fcn.1004fb60
jmp 0x100ddfef
lea eax, [ebp - 0x1c]
mov ecx, 0x102c97d8
push eax
call fcn.10050920
jmp 0x100ddfef
lea eax, [ebp - 0x1c]
mov ecx, 0x102c97f0
push eax
call fcn.1004fb60
jmp 0x100ddfef
lea eax, [ebp - 0x1c]
mov ecx, 0x102c9808
push eax
call fcn.10050920
jmp 0x100ddfef
lea eax, [ebp - 0x1c]
mov ecx, 0x102c9820
push eax
call fcn.10050c60
jmp 0x100ddfef
lea eax, [ebp - 0x1c]
mov ecx, 0x102c9840
push eax
call fcn.10050ac0
jmp 0x100ddfef
cmp byte [0x102c9858], 0
push ebx
push edi
je 0x100de191
cmp byte [0x102c9859], 0
jne 0x100de1d8
mov byte [0x102c9859], 1
xor edi, edi
nop word [eax + eax]
xor edx, edx
mov ebx, edi
xor edx, dword [0x102c9874]
xor ebx, dword [0x102c9870]
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 + 0x102c985a], al
inc edi
cmp edi, 0x10
jb 0x100de150
jmp 0x100de1d8
xor edi, edi
xor edx, edx
mov ebx, edi
xor edx, dword [0x102c9874]
xor ebx, dword [0x102c9870]
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 + 0x102c985a]
xor al, bl
mov byte [edi + 0x102c985a], al
inc edi
cmp edi, 0x10
jb 0x100de193
lea eax, [ebp - 0x1d]
push eax
push 0x102c9869
push 0x102c985a
lea ecx, [ebp - 0x1c]
call fcn.1004f130
cmp dword [ebp - 8], 0xf
lea eax, [ebp - 0x1c]
mov ecx, esi
cmova eax, dword [ebp - 0x1c]
push eax
call fcn.100442d0
lea ecx, [ebp - 0x1c]
call fcn.10044760
pop edi
pop ebx
mov eax, esi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1010f802
mov esp, ebp
pop ebp
ret
lea eax, [ebp - 0x1c]
mov ecx, 0x102c9878
push eax
call fcn.10050b90
jmp 0x100ddfef
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.1010f802
mov esp, ebp
pop ebp
ret