Function at 0x100dc3a9
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x28
mov eax, dword [0x10277534]
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.0x100dc220
jmp dword [eax*4 + 0x100dc4d4]
lea eax, [ebp - 0x1c]
mov ecx, 0x10272c50
push eax
call fcn.1004e7b0
cmp dword [ebp - 8], 0x10
lea ecx, [ebp - 0x1c]
cmovae ecx, dword [ebp - 0x1c]
push ecx
mov ecx, esi
call fcn.10043c00
lea ecx, [ebp - 0x1c]
call fcn.10044080
mov eax, esi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1010c522
mov esp, ebp
pop ebp
ret
lea eax, [ebp - 0x1c]
mov ecx, 0x10272c60
push eax
call fcn.1004e7b0
cmp dword [ebp - 8], 0x10
lea eax, [ebp - 0x1c]
mov ecx, esi
cmovae eax, dword [ebp - 0x1c]
push eax
call fcn.10043c00
lea ecx, [ebp - 0x1c]
call fcn.10044080
mov eax, esi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1010c522
mov esp, ebp
pop ebp
ret
lea eax, [ebp - 0x1c]
mov ecx, 0x10272c70
push eax
call fcn.1005ac70
jmp 0x100dc26f
lea eax, [ebp - 0x1c]
mov ecx, 0x10272c88
push eax
call fcn.1004ea90
jmp 0x100dc26f
lea eax, [ebp - 0x1c]
mov ecx, 0x10272ca0
push eax
call fcn.1004ffe0
jmp 0x100dc26f
lea eax, [ebp - 0x1c]
mov ecx, 0x10272cb8
push eax
call fcn.1004e8f0
jmp 0x100dc26f
lea eax, [ebp - 0x1c]
mov ecx, 0x10272cc8
push eax
call fcn.1004ffe0
jmp 0x100dc26f
lea eax, [ebp - 0x1c]
mov ecx, 0x10272ce0
push eax
call fcn.1004ff10
jmp 0x100dc26f
lea eax, [ebp - 0x1c]
mov ecx, 0x10272cf8
push eax
call fcn.1004ffe0
jmp 0x100dc26f
lea eax, [ebp - 0x1c]
mov ecx, 0x10272d10
push eax
call fcn.1004f150
jmp 0x100dc26f
lea eax, [ebp - 0x1c]
mov ecx, 0x10272d28
push eax
call fcn.1004ff10
jmp 0x100dc26f
lea eax, [ebp - 0x1c]
mov ecx, 0x10272d40
push eax
call fcn.1004f150
jmp 0x100dc26f
lea eax, [ebp - 0x1c]
mov ecx, 0x10272d58
push eax
call fcn.1004ff10
jmp 0x100dc26f
lea eax, [ebp - 0x1c]
mov ecx, 0x10272d70
push eax
call fcn.1004f150
jmp 0x100dc26f
lea eax, [ebp - 0x1c]
mov ecx, 0x10272d88
push eax
call fcn.1004ff10
jmp 0x100dc26f
lea eax, [ebp - 0x1c]
mov ecx, 0x10272da0
push eax
call fcn.10050250
jmp 0x100dc26f
lea eax, [ebp - 0x1c]
mov ecx, 0x10272dc0
push eax
call fcn.100500b0
jmp 0x100dc26f
cmp byte [0x10272dd8], 0
push ebx
push edi
je 0x100dc411
cmp byte [0x10272dd9], 0
jne 0x100dc452
mov byte [0x10272dd9], 1
xor edi, edi
nop word [eax + eax]
xor edx, edx
mov ebx, edi
xor edx, dword [0x10272df4]
xor ebx, dword [0x10272df0]
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 + 0x10272dda], al
inc edi
cmp edi, 0x10
jb 0x100dc3d0
jmp 0x100dc452
xor edi, edi
xor edx, edx
mov ebx, edi
xor edx, dword [0x10272df4]
xor ebx, dword [0x10272df0]
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 + 0x10272dda], al
inc edi
cmp edi, 0x10
jb 0x100dc413
lea eax, [ebp - 0x1d]
push eax
push 0x10272de9
push 0x10272dda
lea ecx, [ebp - 0x1c]
call fcn.1004e6f0
cmp dword [ebp - 8], 0x10
lea eax, [ebp - 0x1c]
mov ecx, esi
cmovae eax, dword [ebp - 0x1c]
push eax
call fcn.10043c00
lea ecx, [ebp - 0x1c]
call fcn.10044080
pop edi
pop ebx
mov eax, esi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1010c522
mov esp, ebp
pop ebp
ret
lea eax, [ebp - 0x1c]
mov ecx, 0x10272df8
push eax
call fcn.10050180
jmp 0x100dc26f
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.1010c522
mov esp, ebp
pop ebp
ret