Function at 0x100d9c29
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x28
mov eax, dword [0x10273240]
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.0x100d9aa0
jmp dword [eax*4 + 0x100d9d60]
lea eax, [ebp - 0x1c]
mov ecx, 0x1026e580
push eax
call fcn.1004fa80
cmp dword [ebp - 8], 0xf
lea ecx, [ebp - 0x1c]
cmova ecx, dword [ebp - 0x1c]
push ecx
mov ecx, esi
call fcn.10044ed0
lea ecx, [ebp - 0x1c]
call fcn.10045360
mov eax, esi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10106b52
mov esp, ebp
pop ebp
ret
lea eax, [ebp - 0x1c]
mov ecx, 0x1026e590
push eax
call fcn.1004fa80
cmp dword [ebp - 8], 0xf
lea eax, [ebp - 0x1c]
mov ecx, esi
cmova eax, dword [ebp - 0x1c]
push eax
call fcn.10044ed0
lea ecx, [ebp - 0x1c]
call fcn.10045360
mov eax, esi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10106b52
mov esp, ebp
pop ebp
ret
lea eax, [ebp - 0x1c]
mov ecx, 0x1026e5a0
push eax
call fcn.1005be70
jmp 0x100d9aef
lea eax, [ebp - 0x1c]
mov ecx, 0x1026e5b8
push eax
call fcn.1004fd30
jmp 0x100d9aef
lea eax, [ebp - 0x1c]
mov ecx, 0x1026e5d0
push eax
call fcn.10051280
jmp 0x100d9aef
lea eax, [ebp - 0x1c]
mov ecx, 0x1026e5e8
push eax
call fcn.1004fbc0
jmp 0x100d9aef
lea eax, [ebp - 0x1c]
mov ecx, 0x1026e5f8
push eax
call fcn.10051280
jmp 0x100d9aef
lea eax, [ebp - 0x1c]
mov ecx, 0x1026e610
push eax
call fcn.100511b0
jmp 0x100d9aef
lea eax, [ebp - 0x1c]
mov ecx, 0x1026e628
push eax
call fcn.10051280
jmp 0x100d9aef
lea eax, [ebp - 0x1c]
mov ecx, 0x1026e640
push eax
call fcn.100503f0
jmp 0x100d9aef
lea eax, [ebp - 0x1c]
mov ecx, 0x1026e658
push eax
call fcn.100511b0
jmp 0x100d9aef
lea eax, [ebp - 0x1c]
mov ecx, 0x1026e670
push eax
call fcn.100503f0
jmp 0x100d9aef
lea eax, [ebp - 0x1c]
mov ecx, 0x1026e688
push eax
call fcn.100511b0
jmp 0x100d9aef
lea eax, [ebp - 0x1c]
mov ecx, 0x1026e6a0
push eax
call fcn.100503f0
jmp 0x100d9aef
lea eax, [ebp - 0x1c]
mov ecx, 0x1026e6b8
push eax
call fcn.100511b0
jmp 0x100d9aef
lea eax, [ebp - 0x1c]
mov ecx, 0x1026e6d0
push eax
call fcn.100514f0
jmp 0x100d9aef
lea eax, [ebp - 0x1c]
mov ecx, 0x1026e6f0
push eax
call fcn.10051350
jmp 0x100d9aef
cmp byte [0x1026e708], 0
push ebx
push edi
je 0x100d9c97
cmp byte [0x1026e709], 0
jne 0x100d9cdf
mov byte [0x1026e709], 1
xor edi, edi
nop word [eax + eax]
xor edx, edx
mov ebx, edi
xor edx, dword [0x1026e724]
xor ebx, dword [0x1026e720]
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 + 0x1026e70a]
xor al, bl
mov byte [edi + 0x1026e70a], al
inc edi
cmp edi, 0x10
jb 0x100d9c50
jmp 0x100d9cdf
xor edi, edi
nop dword [eax]
xor edx, edx
mov ebx, edi
xor edx, dword [0x1026e724]
xor ebx, dword [0x1026e720]
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 + 0x1026e70a], al
inc edi
cmp edi, 0x10
jb 0x100d9ca0
lea eax, [ebp - 0x1d]
push eax
push 0x1026e719
push 0x1026e70a
lea ecx, [ebp - 0x1c]
call fcn.1004f9c0
cmp dword [ebp - 8], 0xf
lea eax, [ebp - 0x1c]
mov ecx, esi
cmova eax, dword [ebp - 0x1c]
push eax
call fcn.10044ed0
lea ecx, [ebp - 0x1c]
call fcn.10045360
pop edi
pop ebx
mov eax, esi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10106b52
mov esp, ebp
pop ebp
ret
lea eax, [ebp - 0x1c]
mov ecx, 0x1026e728
push eax
call fcn.10051420
jmp 0x100d9aef
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.10106b52
mov esp, ebp
pop ebp
ret