Function at 0x10011cc0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
mov edx, dword [0x1003d5e4]
mov eax, 0x2aaaaaab
push ebx
mov ebx, ecx
mov dword [ebp - 0xc], 0
mov ecx, dword [0x1003d5e0]
sub edx, ecx
imul edx
push esi
sar edx, 2
mov eax, edx
mov dword [ebp - 8], ebx
shr eax, 0x1f
push edi
add eax, edx
je 0x10011dac
xor esi, esi
mov dword [ebp - 0x10], esi
jmp 0x10011d07
mov ecx, dword [0x1003d5e0]
add ecx, esi
call fcn.1000f890
mov ecx, dword [0x1003d5f0]
mov bl, al
sub ecx, dword [0x1003d5ec]
mov eax, 0x2aaaaaab
imul ecx
mov ecx, dword [0x1003d620]
mov eax, 0x2aaaaaab
sub ecx, dword [0x1003d61c]
sar edx, 2
mov edi, edx
shr edi, 0x1f
add edi, edx
imul ecx
mov ecx, dword [0x1003d5fc]
mov eax, 0x2aaaaaab
sub ecx, dword [0x1003d5f8]
sar edx, 2
mov esi, edx
shr esi, 0x1f
add esi, edx
add esi, dword [ebp - 0xc]
imul ecx
mov ecx, dword [ebp - 8]
add esi, edi
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
add eax, esi
mov esi, dword [ebp - 0x10]
add esi, 0x18
mov dword [ebp - 0x10], esi
mov byte [eax + ecx], bl
mov eax, 0x2aaaaaab
mov ecx, dword [0x1003d5e4]
sub ecx, dword [0x1003d5e0]
mov ebx, dword [ebp - 0xc]
imul ecx
inc ebx
sar edx, 2
mov eax, edx
mov dword [ebp - 0xc], ebx
shr eax, 0x1f
add eax, edx
cmp ebx, eax
jb 0x10011d01
mov ebx, dword [ebp - 8]
mov ecx, dword [0x1003d620]
mov eax, 0x2aaaaaab
mov esi, dword [0x1003d61c]
xor edi, edi
sub ecx, esi
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x10011e0a
xor eax, eax
mov dword [ebp - 0xc], eax
lea ecx, [eax + esi]
call fcn.1000f890
add dword [ebp - 0xc], 0x18
mov byte [edi + ebx], al
mov eax, 0x2aaaaaab
mov ecx, dword [0x1003d620]
inc edi
mov esi, dword [0x1003d61c]
sub ecx, esi
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
mov eax, dword [ebp - 0xc]
jb 0x10011dd4
mov ecx, dword [0x1003d5fc]
mov eax, 0x2aaaaaab
mov ebx, dword [0x1003d5f8]
mov dword [ebp - 0x10], ecx
sub ecx, ebx
imul ecx
mov dword [ebp - 0x14], 0
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x10011eca
xor eax, eax
mov dword [ebp - 0xc], eax
nop
lea ecx, [eax + ebx]
call fcn.1000f890
mov ecx, dword [0x1003d5f0]
mov bl, al
sub ecx, dword [0x1003d5ec]
mov eax, 0x2aaaaaab
imul ecx
mov ecx, dword [0x1003d620]
mov eax, 0x2aaaaaab
sar edx, 2
sub ecx, esi
mov esi, dword [ebp - 0x14]
mov edi, edx
shr edi, 0x1f
add edi, edx
add dword [ebp - 0xc], 0x18
imul ecx
add edi, esi
inc esi
sar edx, 2
mov eax, edx
mov dword [ebp - 0x14], esi
shr eax, 0x1f
add eax, edx
add eax, edi
mov edi, dword [ebp - 8]
mov byte [eax + edi], bl
mov eax, dword [0x1003d5fc]
mov ecx, eax
mov ebx, dword [0x1003d5f8]
sub ecx, ebx
mov dword [ebp - 0x10], eax
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp esi, eax
mov esi, dword [0x1003d61c]
jae 0x10011ecd
mov eax, dword [ebp - 0xc]
jmp 0x10011e40
mov edi, dword [ebp - 8]
mov ecx, dword [0x1003d608]
mov eax, 0x2aaaaaab
mov ebx, dword [0x1003d604]
sub ecx, ebx
imul ecx
mov dword [ebp - 0x14], 0
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x10011fce
xor eax, eax
mov dword [ebp - 0xc], eax
nop
lea ecx, [eax + ebx]
call fcn.1000f890
mov ecx, dword [0x1003d5f0]
sub ecx, dword [0x1003d5ec]
mov byte [ebp - 1], al
mov eax, 0x2aaaaaab
imul ecx
mov ecx, dword [0x1003d5e4]
mov eax, 0x2aaaaaab
sub ecx, dword [0x1003d5e0]
sar edx, 2
mov edi, edx
add dword [ebp - 0xc], 0x18
shr edi, 0x1f
add edi, edx
imul ecx
mov ecx, dword [0x1003d620]
mov eax, 0x2aaaaaab
sub ecx, esi
sar edx, 2
add edi, edx
mov esi, dword [ebp - 0x14]
mov ebx, edx
imul ecx
mov eax, 0x2aaaaaab
shr ebx, 0x1f
sar edx, 2
add ebx, edi
mov edi, dword [ebp - 8]
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, dword [ebp - 0x10]
sub edx, dword [0x1003d5f8]
add ecx, esi
imul edx
add ecx, ebx
inc esi
sar edx, 2
mov eax, edx
mov dword [ebp - 0x14], esi
shr eax, 0x1f
add eax, edx
add eax, ecx
mov cl, byte [ebp - 1]
mov byte [eax + edi], cl
mov eax, 0x2aaaaaab
mov ecx, dword [0x1003d608]
mov ebx, dword [0x1003d604]
sub ecx, ebx
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp esi, eax
mov esi, dword [0x1003d61c]
jae 0x10011fce
mov ecx, dword [0x1003d5fc]
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x10], ecx
jmp 0x10011f00
mov ecx, dword [0x1003d5f0]
mov eax, 0x2aaaaaab
mov ebx, dword [0x1003d5ec]
sub ecx, ebx
imul ecx
mov dword [ebp - 0x14], 0
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x10012061
xor eax, eax
mov dword [ebp - 0x10], eax
nop dword [eax + eax]
lea ecx, [eax + ebx]
call fcn.1000f890
mov ecx, dword [0x1003d620]
mov bl, al
sub ecx, esi
add dword [ebp - 0x10], 0x18
mov esi, dword [ebp - 0x14]
mov eax, 0x2aaaaaab
imul ecx
mov eax, 0x2aaaaaab
sar edx, 2
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
add ecx, esi
inc esi
mov dword [ebp - 0x14], esi
mov byte [ecx + edi], bl
mov ecx, dword [0x1003d5f0]
mov ebx, dword [0x1003d5ec]
sub ecx, ebx
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp esi, eax
jae 0x10012061
mov esi, dword [0x1003d61c]
mov eax, dword [ebp - 0x10]
jmp 0x10012000
xor esi, esi
mov eax, 0xcccccccd
mov ecx, esi
mul esi
shr edx, 3
lea eax, [edx + edx*4]
add eax, eax
sub ecx, eax
mov eax, esi
and eax, 3
mov cl, byte [ecx + 0x100367d4]
xor cl, byte [eax + str.hashshowmyname]
mov eax, esi
and eax, 1
xor cl, byte [eax + 0x100367e8]
xor byte [esi + edi], cl
inc esi
cmp esi, 0x400
jb 0x10012063
pop edi
pop esi
pop ebx
mov eax, 1
mov esp, ebp
pop ebp
ret