Function at 0x1001999b
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x24
mov eax, dword [0x10040dfc]
push ebx
push esi
mov esi, dword [0x10040f54]
xor ebx, ebx
push edi
mov edi, ebx
mov dword [ebp - 4], edx
cmp byte [ecx], bl
je 0x100199d6
xor eax, 0x199bd741
inc edi
cmp byte [edi + ecx], bl
jne 0x100199ba
cmp edi, 0xb84
jbe 0x100199d6
mov eax, esi
xor eax, 0xa52408be
jmp 0x100199db
xor eax, 0x7709dc12
mov edx, dword [ebp + 8]
and esi, 0xaf97ba64
mov ecx, ebx
cmp word [edx], bx
je 0x100199f8
xor esi, 0xa9bb7fe0
inc ecx
cmp word [edx + ecx*2], bx
jne 0x100199eb
cmp ecx, 0x195d
lea ebx, [eax - 0x4bb5797]
push 5
cmove ebx, esi
xor edi, edi
mov edx, edi
mov esi, str.homebuilt
pop ecx
lea edi, [ebp - 0x1c]
xor ebx, 0x8fdd155d
rep movsd dword es:[edi], dword [esi]
mov esi, dword [ebp - 4]
xor edi, edi
movzx eax, word [esi]
mov ecx, eax
mov dword [ebp + 8], ecx
cmp ax, word [ebp - 0x1c]
jne 0x10019a51
movzx ecx, cx
mov eax, edi
test cx, cx
je 0x10019a51
cmp word [ebp + eax - 0x1c], di
je 0x10019a51
inc edx
lea eax, [edx + edx]
movzx ecx, word [eax + esi]
cmp cx, word [ebp + eax - 0x1c]
je 0x10019a36
movzx ecx, byte [esi + edx*2]
movzx eax, byte [ebp + edx*2 - 0x1c]
sub ecx, eax
cmp ecx, 0xe50
jbe 0x10019a6a
and ebx, 0xb1f52c3e
mov eax, edi
mov esi, 0x1003856c
lea edi, [ebp - 0x14]
or ebx, 0xdf51a80f
mov edx, ebx
xor edx, 0x68c9d08c
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
cmp byte [ebp - 0x14], 0x73
jne 0x10019aa5
mov cl, 0x73
test cl, cl
je 0x10019aa5
cmp byte [ebp + eax - 0x14], 0
je 0x10019aa5
mov cl, byte [eax + 0x10039809]
inc eax
cmp cl, byte [ebp + eax - 0x14]
je 0x10019a8d
movzx ecx, byte [eax + str.sr_sp_latn]
movzx eax, byte [ebp + eax - 0x14]
sub ecx, eax
cmp ecx, 0x321
jne 0x10019ac3
lea edx, [ebx + 0x144ecb62]
jmp 0x10019ac9
xor edx, 0x1dc83fc4
mov ecx, dword [ebp + 0xc]
xor ebx, ebx
and edx, 0xffaefbfc
mov eax, ebx
or edx, 0xc38abbfc
mov dword [0x10040dfc], edx
cmp byte [ecx], al
je 0x10019aff
imul esi, edx, 0x9559db15
inc eax
cmp byte [eax + ecx], bl
jne 0x10019aec
cmp eax, 0x76a
lea eax, [esi + 0x3393ea8e]
ja 0x10019b05
lea eax, [edx - 0x1a8c35fa]
mov esi, str.sparkpeople.com
mov dword [0x10040f54], eax
lea edi, [ebp - 0x18]
mov eax, ebx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
cmp byte [ebp - 0x18], 0x47
jne 0x10019b47
mov cl, 0x47
test cl, cl
je 0x10019b37
cmp byte [ebp + eax - 0x18], bl
je 0x10019b37
mov cl, byte [eax + 0x10039401]
inc eax
cmp cl, byte [ebp + eax - 0x18]
je 0x10019b20
cmp dword [ebp + 8], eax
jae 0x10019b47
imul eax, edx, 0xddded37e
mov dword [0x10040f54], eax
push 7
mov eax, dword [ebp + 8]
lea edi, [ebp - 0x24]
pop ecx
mov esi, 0x10038588
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
cmp ax, word [ebp - 0x24]
jne 0x10019b95
mov esi, dword [ebp - 4]
xor edi, edi
movzx ecx, ax
mov eax, edi
test cx, cx
je 0x10019b84
cmp word [ebp + eax - 0x24], di
je 0x10019b84
inc ebx
lea eax, [ebx + ebx]
movzx ecx, word [eax + esi]
cmp cx, word [ebp + eax - 0x24]
je 0x10019b69
cmp dword [ebp + 8], ebx
jae 0x10019b95
lea ecx, [edx - 0x18f2dd39]
mov dword [0x10040f54], ecx
pop edi
pop esi
mov eax, edx
pop ebx
leave
ret