Function at 0x10001815
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
mov edx, dword [0x1003f3ec]
sub esp, 0x24
mov eax, str.header_crc_mismatch
xor edx, 0xcbe15b1f
inc eax
cmp byte [eax], 0
jne 0x10001826
push ebx
push esi
push edi
mov esi, str.PngFormat
lea edi, [ebp - 0x14]
xor ebx, ebx
mov eax, ebx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
cmp byte [ebp - 0x14], 0x2e
jne 0x10001864
mov cl, 0x2e
test cl, cl
je 0x10001864
cmp byte [ebp + eax - 0x14], bl
je 0x10001864
mov cl, byte [eax + 0x10033361]
inc eax
cmp cl, byte [ebp + eax - 0x14]
je 0x1000184d
movzx ecx, byte [eax + str.._AVwxIconVariantData__]
movzx eax, byte [ebp + eax - 0x14]
sub ecx, eax
mov eax, dword [0x1003f488]
cmp ecx, 0x166f
jne 0x10001887
xor edx, 0xf6362a37
jmp 0x1000188d
lea edx, [eax - 0x327c39f1]
mov ecx, ebx
add edx, 0x617c729
inc ecx
cmp byte [ecx + str.header_crc_mismatch], bl
jne 0x1000188f
mov esi, dword [ebp - 8]
mov dword [0x1003f3ec], edx
cmp esi, ecx
jae 0x100018cc
cmp esi, 0x12e5
jne 0x100018bb
mov edx, eax
or edx, 0x166070fa
imul edx, edx, 0xe7c7e547
inc esi
cmp esi, ecx
jb 0x100018ab
mov dword [0x1003f3ec], edx
mov ecx, ebx
imul edx, edx, 0xbe18ae8d
inc ecx
cmp byte [ecx + str.Bogus_buffer_control_mode], bl
jne 0x100018ce
mov dword [0x1003f3ec], edx
cmp dword [ebp - 8], ecx
jae 0x100018ee
imul eax, edx, 0xfca7acf
mov esi, str.5_55E5V5_5b5g5q5
lea edi, [ebp - 0x1c]
or eax, 0xabc3070f
mov ecx, ebx
mov edx, eax
mov dword [ebp - 8], eax
or edx, 0x43cd4b4b
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
cmp byte [ebp - 0x1c], 0x4c
jne 0x10001944
mov byte [ebp - 1], 0x4c
xor ebx, ebx
mov al, byte [ebp - 1]
test al, al
je 0x10001934
cmp byte [ebp + ecx - 0x1c], bl
je 0x10001934
mov al, byte [ecx + 0x10033141]
inc ecx
cmp al, byte [ebp + ecx - 0x1c]
je 0x1000191d
mov eax, dword [ebp - 8]
cmp dword [ebp - 8], ecx
jae 0x10001944
mov edx, eax
and edx, 0xa5d7a0c1
push 5
pop ecx
mov esi, str.To_indicate_service.
lea edi, [ebp - 0x20]
rep movsd dword es:[edi], dword [esi]
or edx, 0x82146edf
mov dword [ebp - 8], edx
mov edx, ebx
movsb byte es:[edi], byte [esi]
cmp byte [ebp - 0x20], 0x38
jne 0x1000198a
mov cl, 0x38
test cl, cl
je 0x1000197d
cmp byte [ebp + edx - 0x20], 0
je 0x1000197d
mov cl, byte [edx + 0x100334e9]
inc edx
cmp cl, byte [ebp + edx - 0x20]
je 0x10001965
cmp dword [ebp - 8], edx
jae 0x1000198a
mov eax, dword [ebp - 8]
xor eax, 0xae0df1c5
imul edx, eax, 0x7662cec4
mov ecx, ebx
mov dword [ebp - 8], edx
inc ecx
cmp byte [ecx + str.incremental_vacuum], 0
jne 0x10001995
mov edi, dword [ebp - 8]
cmp edi, ecx
jae 0x100019c7
mov esi, edx
xor esi, 0x91cade3d
cmp edi, 0xc8
cmovne esi, edx
inc edi
lea edx, [esi + 0x74027a32]
mov esi, edx
cmp edi, ecx
jb 0x100019a8
mov dword [ebp - 8], edx
push 6
pop ecx
mov esi, str.floating_point_predictor
lea edi, [ebp - 0x24]
rep movsd dword es:[edi], dword [esi]
and eax, 0x22aff81a
mov edx, ebx
mov dword [0x1003f488], eax
movsw word es:[edi], word [esi]
cmp byte [ebp - 0x24], 0x47
jne 0x10001a2a
mov cl, 0x47
test cl, cl
je 0x10001a02
cmp byte [ebp + edx - 0x24], 0
je 0x10001a02
mov cl, byte [edx + 0x10032cb1]
inc edx
cmp cl, byte [ebp + edx - 0x24]
je 0x100019ea
mov ecx, dword [ebp - 8]
cmp ecx, edx
jae 0x10001a2a
mov esi, dword [ebp - 8]
cmp ecx, 0x1195
jne 0x10001a1b
mov eax, esi
and eax, 0x86ddf73e
and eax, 0x299757de
inc ecx
cmp ecx, edx
jb 0x10001a0c
mov dword [0x1003f488], eax
mov ecx, eax
and ecx, 0x1aacbf4d
mov dword [0x1003f3ec], ecx
inc ebx
cmp byte [ebx + str.LastPass_Is_Already_Running.], 0
jne 0x10001a38
mov edx, dword [ebp - 8]
cmp edx, ebx
jae 0x10001a6c
cmp edx, 0x258e
jne 0x10001a5d
xor ecx, 0x37913e77
mov dword [0x1003f3ec], ecx
sub eax, 0x1a3d9f80
inc edx
cmp edx, ebx
jb 0x10001a49
mov dword [0x1003f488], eax
pop edi
pop esi
pop ebx
leave
ret